一、實驗環境和網絡拓撲圖
本實驗需要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
就此,整個實驗完成。