準(zhǔn)備
裝備兩個(gè)機(jī)器辰如,IP地址信息如下:
host1: 192.168.56.103
host2: 192.168.56.104
為了測(cè)試需要贵试,分別在兩個(gè)機(jī)器上安裝apache并啟動(dòng)httpd服務(wù),使下面兩個(gè)url均可訪問(wèn)
- http://192.168.56.103
- http://192.168.56.104
安裝 keepalived
在兩臺(tái)機(jī)器上分別安裝 keepalived
$ sudo yum install -y keepalived
配置 keepalived
host1 上 keepalived 配置
$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.56.105
}
}
host2 上 keepalived 配置
$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.56.105
}
}
啟動(dòng) keepalived 服務(wù)
$ sudo service keepalived start
$ sudo chkconfig keepalived on
測(cè)試
服務(wù)啟動(dòng)后豌蟋,先訪問(wèn)下面的虛擬地址訪問(wèn)http服務(wù)器
http://192.168.56.105
查看IP地址信息
host1 上 IP 地址信息
$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:32:83:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/24 brd 192.168.56.255 scope global eth2
inet 192.168.56.105/32 scope global eth2
inet6 fe80::a00:27ff:fe32:8382/64 scope link
valid_lft forever preferred_lft forever
- 其中可以看到 inet 192.168.56.105/32 scope global eth2梧疲,說(shuō)明現(xiàn)在host1是作為虛擬IP的master來(lái)運(yùn)行的幌氮。
host2 上 IP 地址信息
$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:90:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/24 brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:feec:907b/64 scope link
valid_lft forever preferred_lft forever
- 此時(shí)host2上ip地址信息中不包含虛擬IP “192.168.56.105” 信息该互。
驗(yàn)證 IP 地址 Failover
現(xiàn)在手動(dòng)停止host1上的 keepalived 服務(wù)
$ sudo service keepalived stop
host1 上 IP 地址信息
$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:32:83:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/24 brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:fe32:8382/64 scope link
valid_lft forever preferred_lft forever
- 此時(shí) host1 上 ip 地址信息中不再包含虛擬IP “192.168.56.105” 信息韭畸。
host2 上 IP 地址信息
$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:90:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/24 brd 192.168.56.255 scope global eth2
inet 192.168.56.105/32 scope global eth2
inet6 fe80::a00:27ff:feec:907b/64 scope link
valid_lft forever preferred_lft forever
- 現(xiàn)在可以看到 host2 上 ip 地址信息中已經(jīng)包含虛擬IP “192.168.56.105” 信息了陆盘。
此時(shí)如果再把 host1 上的 keepalived 服務(wù)啟動(dòng),會(huì)發(fā)現(xiàn)虛擬IP “192.168.56.105” 又重新綁定到 host1 上了太防。