lvs+keepalived高可用負載均衡


一、實驗環境和網絡拓撲圖

  本實驗需要5台虛擬機,一台客戶機,2台lvs調度器,兩台web服務器。

  客戶機:192.168.0.6/24

  lvs1:192.168.0.201/24

  lvs2:192.168.0.200/24

  web1:192.168.0.19/24

  web2:192.168.0.127/24

  網絡拓撲如下:

 

 

 二、web服務器的配置

2.1.1、安裝apache服務和修改網站首頁

  命令:

web1:
1
yum -y install httpd 2 echo "192.168.0.19" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd
web2:
1
yum -y install httpd 2 echo "192.168.0.127" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd

2.1.2、偽裝VIP地址

  當lvs將請求數據包發送給web服務器時,web服務器根據請求將web網頁的結果返回給客戶端,但是這時數據包的源IP地址是web服務器的IP地址,客戶端接收到數據包后,發現回包的IP地址不是自己請求的IP地址,就會把包丟棄掉,這會導致web請求失敗,所以需要將web的IP地址偽裝成為客戶端訪問的VIP地址。這里使用web服務器的環回口地址進行偽裝。

命令:

cp /etc/sysconfig/network-scripts/ifcfg-lo  /etc/sysconfig/network-scripts/ifcfg-lo:0
vim  /etc/sysconfig/network-scripts/ifcfg-lo:0
修改網卡名稱,修改IP地址,刪除UUID號,IP地址的掩碼必須是32位,也就是4個255

 

 兩個web服務器的配置是一樣的。修改虛擬網卡lo:0后,先不急着重啟網卡。

為防止VIP和lvs上的VIP相互沖突,需要將web服務器的arp的通告配置進行修改,也就是arp解析時不把自己的IP地址告訴請求者,在請求別人時也不宣告自己是192.168.0.202(VIP地址)。

 

 sysctl -p 執行這條命令以上配置修改生效,執行完這條命令后就可以重啟網卡。

重啟網卡后你就可以看到虛擬網卡lo:0和VIP地址了。

命令:ifconfig

 

 這里只展示了一台web服務的VIP偽裝,另一台的配置和這一台的配置一模一樣。就不在介紹了。

三、lvs服務器的配置

  3.1.1、安裝keepalived

命令:

yum -y install keepalived

  3.1.2、修改keepalived配置文件,/etc/keepalived/keepalived.conf

 

 

 配置完成后,啟動keepalived的服務

命令:systemctl start keepalived

重啟服務后,keepalived服務會在防火牆中生成一些規則,這些規則會導致實驗失敗,這里需要清除這些規則或者直接關閉防火牆。

清除規則:iptables -F

關閉防火牆:Systemctl stop firewalld

另外一台lvs的配置和這台一樣,不詳細介紹。

3.1.3、查看vrrp是否配置成功,查看虛擬ip。也就是VIP。

命令:ip address show

 

 3.1.4、查看lvs配置是否成功

  安裝ipvsadm軟件,用於查看lvs的狀態

命令:yum -y install ipvsadm

 

 3.1.5、測試健康檢查是否成功

  斷掉web1的網絡,模擬web1網絡故障。

 

 

 

 

 

 

 

 3.2、測試負載均衡是否成功

通過客戶端,使用curl訪問lvs的VIP地址。如:curl 192.168.0.202

 

 就此,整個實驗完成。

 


免責聲明!

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



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