RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群相关的知识,希望对你有一定的参考价值。
搭建 keepalived (HA) 任意单故障节点的高可用集群
实验拓扑图:
实验要求:
使用Keepalived实现web服务器的高可用
Web服务器IP地址分别为192.168.4.53和192.168.4.54
Web服务器53 为主服务器,Web服务器54为备服务器
Web服务器的VIP地址为192.168.4.251
客户端通过访问VIP地址访问Web页面
实验步骤:
实验准备
配置yum源
# service iptables stop //关闭防火墙
# chkconfig iptables off //关闭开机自启
# setenforce 0 //设置SELinux 为宽松模式
配置WEB服务器 pc53 / pc54
#yum -y install httpd
#service httpd start
#chkconfig httpd on
[[email protected] ~] #echo " 192.168.4.53 " > /var/www/html/test.html
[[email protected] ~] #echo " 192.168.4.54 " > /var/www/html/test.html
1 在高可用集群主机上安装 keepalived
# yum list | grep keepalived
keepalived.x86_64 1.2.13-5.el6_6 LoadBalancer
# yum -y install keepalived
# rpm -qc keepalived
/etc/keepalived/keepalived.conf //主配置文件
/etc/sysconfig/keepalived
2 分别修改服务的主配置文件
# cp /etc/keepalived/keepalived.conf /root/ //备份主配置文件
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
...
vrrp_instance webha {
state MASTER // 描述信息 MASTER为主服务器
interface eth0 // 定义网络接口
virtual_router_id 51 //主 备VRID号必须一致
priority 150 //服务器优先级
advert_int 1
authentication {
auth_type PASS //验证方式
auth_pass 123456 //验证密码 主 备服务器密码必须一致
}
virtual_ipaddress {
192.168.4.251 //VIP地址
}
}
... //为了方便实验 32行以下 可以全部删除
在一个一主多备的Keepalived集群中,“priority”值最大的将成为集群中的Master节点,而其他都是Backup节点。在Master节点发生故障后,Backup节点之间将进行“民主选举”,通过对节点优先级值“priority”和““weight”的计算,选出新的Master节点接管集群服务。
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
...
vrrp_instance webha {
state BACKUP // 描述信息 BACKUP为备用服务器
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.4.251
}
}
...
//为了方便实验 32行以下 可以全部删除
3 分别启动keepalived服务
# service keepalived start //启动服务
4 在高可用集群主机上分别查看是否获取VIP地址
# ip addr show //查看主机上的虚拟IP地址
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
inet 192.168.4.251/32 scope global eth0
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
//客户端测试
# elinks --dump 192.168.4.251/test.html
192.168.4.53
# elinks --dump 192.168.4.251/test.html
192.168.4.53
模拟 主机53 故障 测试高可用
[[email protected] ~]# service keepalived stop
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
inet 192.168.4.251/32 scope global eth0
//客户端测试
# elinks --dump 192.168.4.251/test.html
192.168.4.54
# elinks --dump 192.168.4.251/test.html
192.168.4.54
模拟修复 主机53 故障
[[email protected] ~]# service keepalived start
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
inet 192.168.4.251/32 scope global eth0
[[email protected] ~]# ip addr show | grep 192.168.4
inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
//客户端测试
# elinks --dump 192.168.4.251/test.html
192.168.4.53
# elinks --dump 192.168.4.251/test.html
192.168.4.53
如果53 网站服务 停止 其VIP地址不会释放
可以通过脚本 监测当80端口 down 的时候 自动关闭 keepalived 服务
使用周期性计划任务 定时执行次脚本
以上是关于RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群的主要内容,如果未能解决你的问题,请参考以下文章
Kubeadm HA master(v1.11.0)集群搭建(离线包+自动化脚本+ipvs+keepalived+calico)
基于Nginx搭建Web服务器HA架构(实现高可用web服务)
基于Nginx搭建Web服务器HA架构(实现高可用web服务)