在海航雲中部署 keepalived


**本文屬自我學習,不適合轉載**

 

1. 准備工作

1.1 網絡方面的准備工作

1.1.1 創建安全組

注意這里要添加 vrrp 協議支持,否則 keepalived 將無法正常工作。

 

1.1.2 創建網絡

1.1.3 創建路由器,綁定EIP,並連接上面的網絡

1.1.4 創建 VIP 的彈性網卡,設置安全組,綁定EIP

 

1.2 創建兩個彈性雲服務器,並綁定EIP

1.3 在虛機的網卡上設置允許的地址對

添加:(需要在兩個虛機的網卡上添加允許的地址對,從而允許該網卡上使用 vip 的IP發出去的網絡包能夠被發出)

結果:

 

2. 安裝 keepalived和httpd

(1).通過SSH登錄 master,安裝 keepalived,並做如下配置

 

安裝 httpd,設置其監聽端口為81。並在 /var/www/html/index.html 文件中寫入 master.

需要設置 www 目錄的訪問權限 sudo chmod 755 html -R,否則會收到 403 錯誤。

將 httpd 和 keepalived 設置為自動啟動:

  • sudo chkconfig keepalived on
  • sudo chkconfig httpd on

(2). 在 slave 上做類似的配置,priority 設置為 50. 

(3). 在本地和虛機的EIP上測試 http 81 端口,能返回正確的字符串

(4). 能看到 VRRP 網絡包

(5). 使用 ip a 命令能看到 master 上的 vip (注意使用 ifconfig 命令看不到)

(6). 能看到vrrp協議的網絡包

 (7). 能看到瀏覽器請求時的 vip 發出的網絡包

 

3. 測試

(0)在瀏覽器上打開 120.132.124.82:81,刷新,查看其返回的字符串。根據字符串判斷是哪個節點上返回的。

(1). master 和 salve 都運行的情況下,返回 master

(2). 將 master 關機,刷新,返回 slave

(3). 將 master 開機,刷新,返回 master

(4). 將 slave 關機,刷新,返回 master

此過程中,在 slave 上,運行 sudo tcpdump -n -i eth0 proto 112 命令,能看到 vrrp 主節點的變化過程:

//master 和 slave 都活着時,master 是主
18
:23:48.557128 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20 18:23:49.460185 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 0, authtype simple, intvl 1s, length 20 //master 關機,slave 升為主
18
:23:50.265691 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20 18:23:51.266660 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20 18:24:38.304008 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20 //master 重啟后,它變為主
18:24:41.307612 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20 18:24:41.307739 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20 18:24:41.308134 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20 18:24:42.309298 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20

 (5). 將安全組里面的 vrrp 協議刪除,則 keepalived 出現腦裂,即兩個都是 master。

(6). 將當前 MASTER 節點的虛擬網卡上的“允許的地址對”刪除,則無法通過瀏覽器訪問 vip:81. 這是因為,該虛機網卡發出的使用vip作為源地址的網絡包都被阻止了。這是因為默認在所有虛擬網卡上開啟了安全限制,只允許發出跟虛擬網卡自身ip和mac匹配的網絡包。

(7). 將當前 SLAVE 節點的虛擬網卡上的“允許的地址對”刪除,則不影響通過瀏覽器訪問 vip:81,因為此時該網卡上沒有vip;但是,vip 主備切換后,則無法再訪問 vip 了。

 

參考鏈接:


免責聲明!

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



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