搭建 keepalived (HA) 任意單故障節點的高可用集羣html
實驗拓撲圖:web
實驗要求:vim
使用Keepalived實現web服務器的高可用服務器
Web服務器IP地址分別爲192.168.4.53和192.168.4.54網絡
Web服務器53 爲主服務器,Web服務器54爲備服務器ide
Web服務器的VIP地址爲192.168.4.251測試
客戶端經過訪問VIP地址訪問Web頁面網站
實驗步驟:spa
實驗準備orm
配置yum源
# service iptables stop //關閉防火牆
# chkconfig iptables off //關閉開機自啓
# setenforce 0 //設置SELinux 爲寬鬆模式
配置WEB服務器 pc53 / pc54
#yum -y install httpd
#service httpd start
#chkconfig httpd on
[root@pc53 ~] #echo " 192.168.4.53 " > /var/www/html/test.html
[root@pc54 ~] #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/ //備份主配置文件
[root@pc53 ~]# 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節點接管集羣服務。
[root@pc54 ~]# 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地址
[root@pc53 ~]# 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
[root@pc54 ~]# 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 故障 測試高可用
[root@pc53 ~]# service keepalived stop
[root@pc53 ~]# ip addr show | grep 192.168.4
inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
[root@pc54 ~]# 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 故障
[root@pc53 ~]# service keepalived start
[root@pc53 ~]# 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
[root@pc54 ~]# 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 服務
使用週期性計劃任務 定時執行次腳本