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


准備

  准備兩台機器,IP地址信息如下:

host1: 192.168.56.103
host2: 192.168.56.104

  為了測試需要,分別在兩台機器上安裝apache並啟動httpd服務,使下面兩個url均可訪問:

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

安裝keepalived

  在兩台機器上分別安裝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
    }
}

啟動keepalived 服務

$ sudo service keepalived start
$ sudo chkconfig keepalived on

測試

  服務啟動后,先訪問下面的虛擬地址訪問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 環境

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM