【轉】使用keepalived設置虛擬IP示例

準備apache

  準備兩臺機器,IP地址信息以下:服務器

host1: 192.168.56.103 host2: 192.168.56.104

  爲了測試須要,分別在兩臺機器上安裝apache並啓動httpd服務,使下面兩個url都可訪問:測試

  •   http://192.168.56.103
  •   http://192.168.56.104

安裝keepalivedurl

  在兩臺機器上分別安裝keepalivedspa

sudo yum install -y keepalived

配置keepalivedcode

host1上keepalived 配置router

$ 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 配置blog

$ 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 } }

啓動keepalived 服務ip

$ sudo service keepalived start $ sudo chkconfig keepalived on

測試get

  服務啓動後,先訪問下面的虛擬地址訪問http服務器

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,說明如今host1是做爲虛擬IP的master來運行的。

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

  此時host2上ip地址信息中不包含虛擬IP"192.168.56.105"信息。

驗證IP地址Failover

  如今手動中止host1上的keepalived服務

$ 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

  此時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

  如今能夠看到host2上ip地址信息中已經包含虛擬IP"192.168.56.105"信息了。

  此時若是再把host1上的keepalived服務啓動,會發現虛擬IP"192.168.56.105"又從新綁定到host1上了。

 

轉載自《使用 keepalived 設置虛擬 IP 環境

相關文章
相關標籤/搜索