廈門(mén)網(wǎng)站建設(shè)哪家好百度一級(jí)代理商
一、工作原理
LVS的工作原理
1.當(dāng)用戶(hù)向負(fù)載均衡調(diào)度器(Director Server)發(fā)起請(qǐng)求,調(diào)度器將請(qǐng)求發(fā)往至內(nèi)核空間
2.PREROUTING鏈?zhǔn)紫葧?huì)接收到用戶(hù)請(qǐng)求,判斷目標(biāo)IP確定是本機(jī)IP,將數(shù)據(jù)包發(fā)往INPUT鏈
3.IPVS是工作在INPUT鏈上的,當(dāng)用戶(hù)請(qǐng)求到達(dá)INPUT時(shí),IPVS會(huì)將用戶(hù)請(qǐng)求和自己已定義好的集群服務(wù)進(jìn)行比對(duì),如果用戶(hù)請(qǐng)求的就是定義的集群服務(wù),那么此時(shí)IPVS會(huì)強(qiáng)行修改數(shù)據(jù)包里的目標(biāo)IP地址及端口,并將新的數(shù)據(jù)包發(fā)往POSTROUTING鏈
4.POSTROUTING鏈接收數(shù)據(jù)包后發(fā)現(xiàn)目標(biāo)IP地址剛好是自己的后端服務(wù)器,那么此時(shí)通過(guò)選路,將數(shù)據(jù)包最終發(fā)送給后端的服務(wù)器
LVS-DR模式的工作原理
首先,來(lái)自客戶(hù)端計(jì)算機(jī)CIP的請(qǐng)求被發(fā)送到Director的VIP。然后Director使用相同的VIP目的IP地址將請(qǐng)求發(fā)送到集群節(jié)點(diǎn)或真實(shí)服務(wù)器。然后,集群某個(gè)節(jié)點(diǎn)將回復(fù)該數(shù)據(jù)包,并將該數(shù)據(jù)包直接發(fā)送到客戶(hù)端計(jì)算機(jī)(不經(jīng)過(guò)director),并且以此回復(fù)數(shù)據(jù)包使用的目的VIP 地址作為源IP地址。因此,實(shí)際上是客戶(hù)計(jì)算機(jī)被“欺騙”了,客戶(hù)計(jì)算機(jī)始終認(rèn)為它正與同一臺(tái)計(jì)算機(jī)對(duì)話,而實(shí)際上它正在發(fā)送請(qǐng)求數(shù)據(jù)包給一臺(tái)計(jì)算機(jī)(LB),并從另一臺(tái)計(jì)算機(jī)(RS)接收回復(fù)的數(shù)據(jù)包。
?
二、構(gòu)建過(guò)程
1.環(huán)境準(zhǔn)備
準(zhǔn)備四臺(tái)主機(jī)
分別作為客戶(hù)機(jī)、LVS調(diào)度器、RS服務(wù)器web1、RS服務(wù)器web2
主機(jī)名 | IP | |
客戶(hù)機(jī) | client | 192.168.198.140 |
LVS調(diào)度器 | lvs | 192.168.198.141 |
RS服務(wù)器web1 | web1 | 192.168.198.100 |
RS服務(wù)器web2 | web2 | 192.168.198.200 |
關(guān)閉防火墻和selinux服務(wù)
分別將四個(gè)主機(jī)的防火墻和selinux服務(wù)都關(guān)閉
下載httpd軟件包
在web1和web2服務(wù)器上安裝httpd軟件包,便于后續(xù)測(cè)試
然后分別在這兩個(gè)主機(jī)上都編寫(xiě)測(cè)試頁(yè)面,并啟動(dòng)服務(wù)
在客戶(hù)機(jī)上檢測(cè)
2.配置虛擬IP(VIP)
配置lvs的虛擬IP
選擇一個(gè)同網(wǎng)段的,且未被占用的IP做為VIP
我的網(wǎng)卡名和IP網(wǎng)段如上,所以自己根據(jù)自己的實(shí)際情況來(lái)配置
ens33后面跟的是子接口編號(hào),自己取
這里我選擇192.168.198.111做為我的VIP
要保證客戶(hù)端能ping通你的VIP
配置RS服務(wù)器的VIP
將虛擬IP綁定到web1和web2的loopback接口上
注意:這里RS服務(wù)器的VIP掩碼必須是32位!!
并添加本機(jī)訪問(wèn)虛擬IP的路由
web2別忘了,也是一樣
??
3.抑制ARP響應(yīng)?
我們之所以做ARP抑制,是因?yàn)槿绻蛔鼍蜁?huì)發(fā)生如下圖的情況
?
真實(shí)服務(wù)器RS也有VIP這個(gè)IP,所以也會(huì)去響應(yīng),那么就會(huì)和負(fù)載調(diào)度器一起去響應(yīng)客戶(hù)端的請(qǐng)求,所以我們需要去抑制ARP響應(yīng)
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
在RS服務(wù)器上抑制ARP響應(yīng)
web1?
web2
4.下載ipvsadm工具并使用
在lvs負(fù)載調(diào)度器上下載ipvsadm工具
yum install ipvsadm
ipvsadm常用參數(shù) | 相關(guān)參數(shù)說(shuō)明 |
-A | 添加虛擬服務(wù)器 |
-t | 設(shè)置集群地址(VIP) |
-s | 設(shè)置負(fù)載調(diào)度算法 |
-a | 添加真實(shí)服務(wù)器 |
-d | 刪除真實(shí)服務(wù)器 |
-r | 指定真實(shí)服務(wù)器 |
-m | -g | -i | 分別使用NAT | DR | TUN 模式 |
-w | 為節(jié)點(diǎn)服務(wù)器設(shè)置權(quán)重,默認(rèn)為1 |
?在lvs負(fù)載調(diào)度器上,配置添加LVS服務(wù)并增加兩臺(tái)RS
采用最簡(jiǎn)單的輪詢(xún)算法演示(rr)
查看配置
5.測(cè)試
在客戶(hù)機(jī)上測(cè)試
最終效果就如圖