NGINX Keepalived高可用簡單使用 之十
阿新 • • 發佈:2018-07-19
address oot ive 角色 虛擬ip 節點配置 不同 127.0.0.1 app 1、Keepalived高可用的工作原理
工作原理:在Keepalived服務正常工作時,主Master節點會不斷地向備節點發送(多播的方式)心跳消息,用以告訴備Backup節點自己還活著,當主Master節點發生故障時,就無法發送心跳消息,備節點也就因此無法繼續檢查到來自主Master節點的心跳了,於是調用自身的接管程序,接管主Master節點的IP資源及服務。而當主Master節點恢復時,備Backup節點又會釋放主節點故障時自身接管的IP資源及服務,恢復到原來的備用角色。
2、Keepalived的安裝
yum -y install keepalived 配置文件:/etc/keepalived/keepalived.conf
3、配置Keepalived實現單IP自動漂移接管
3.1、實例環境
lb01:10.3.151.183(主配置)
lb02:10.3.151.184(備配置)
VIP: 10.3.151.228 (虛擬IP)
3.2、主配置如下
! Configuration File for keepalived global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id lb01 #id為lb01,不同的keepalived.conf此ID要唯一 } vrrp_instance VI_1 { #實例名字為VI_1,相同實例的備節點名字要和這個相同 state MASTER #主狀態為MASTER(必須大寫),備節點為BACKUP interface eth2 #通信接口網卡 virtual_router_id 51 #實例ID為51,keepalived.conf裏唯一 priority 150 #優先級為150,數值越大,優先級越高,與BACKUP對比 advert_int 1 #通信檢查間隔為1秒 authentication { auth_type PASS #PASS認證類型 auth_pass 2222 #密碼為2222 } virtual_ipaddress { 10.3.151.228/24 dev eth2 label eth2:1 #虛擬IP地址 } }
3.3、備節點配置文件
! Configuration File for keepalived global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id lb02 } vrrp_instance VI_1 { state BACKUP interface eth2 virtual_router_id 51 priority 140 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 10.3.151.228/24 dev eth2 label eth2:1 } }
4、檢查keepalived是否生效
[root@yewu-app1 nginx]# ifconfig | grep "inet addr"
inet addr:10.3.151.183 Bcast:10.3.151.255 Mask:255.255.255.0
inet addr:10.3.151.228 Bcast:0.0.0.0 Mask:255.255.255.0
#在主節點,檢查VIP是否生效
inet addr:127.0.0.1 Mask:255.0.0.0
[root@yewu-app1 nginx]# /etc/init.d/keepalived stop #停止主節點的keepalived
Stopping keepalived: [ OK ]
[root@yewu-app1 nginx]# ifconfig | grep "inet addr" #VIP已飄走
inet addr:10.3.151.183 Bcast:10.3.151.255 Mask:255.255.255.0
inet addr:127.0.0.1 Mask:255.0.0.0
[root@yewu-app2 nginx]# ifconfig | grep "inet addr" #在備節點上查看VIP是否存在
inet addr:10.3.151.184 Bcast:10.3.151.255 Mask:255.255.255.0
inet addr:10.3.151.228 Bcast:0.0.0.0 Mask:255.255.255.0
inet addr:127.0.0.1 Mask:255.0.0.0
NGINX Keepalived高可用簡單使用 之十