數據包流向分析:
(1)客戶端發送請求到 Director Server(負載均衡器),請求的數據報文(源 IP 是 CIP,目標 IP 是 VIP)到達內核空間。
(2)Director Server 和 Real Server 在同一個網絡中,數據通過二層數據鏈路層來傳輸。
(3)內核空間判斷數據包的目標IP是本機VIP,此時IPVS(IP虛擬服務器)比對數據包請求的服務是否是集群服務,是集群服務就重新封裝數據包。修改源 MAC 地址為 Director Server 的 MAC地址,修改目標 MAC 地址為 Real Server 的 MAC 地址,源 IP 地址與目標 IP 地址沒有改變,然后將數據包發送給 Real Server。
(4)到達 Real Server 的請求報文的 MAC 地址是自身的 MAC 地址,就接收此報文。數據包重新封裝報文(源 IP 地址為 VIP,目標 IP 為 CIP),將響應報文通過 lo 接口傳送給物理網卡然后向外發出。
(5)Real Server 直接將響應報文傳送到客戶端。
DR 模式的特點:
(1)Director Server 和 Real Server 必須在同一個物理網絡中。
(2)Real Server 可以使用私有地址,也可以使用公網地址。如果使用公網地址,可以通過互聯網對 RIP 進行直接訪問。
(3)Director Server作為群集的訪問入口,但不作為網關使用。
(4)所有的請求報文經由 Director Server,但回復響應報文不能經過 Director Server。
(5)Real Server 的網關不允許指向 Director Server IP,即Real Server發送的數據包不允許經過 Director Server。
(6)Real Server 上的 lo 接口配置 VIP 的 IP 地址。
總結arp?ignore=1
控制系統在接收到ARP廣播請求報文時,是否返回ARP響應報文
1的作用 只響應目的IP地址接受網卡上的本地的ARP請求
防止網關路由發送ARP廣播時調度器和節點服務都會進行響應導致ARP緩存表混亂,不對費本地物理網卡ARP請求僅響應,因為 VIP是承載lo:0
arp_annonuce=2
系統不會使用響應數據包的源ip地址(vip)來作為本機進行的ARP請求報文的源ip地址,而使用發送報文的物理網卡IP地址,作為ARP請求的報文源IP地址,這樣我們就可以防止網關路由器收到的源IP地址為vip的ARP請求的報文后又更新ARP緩存表,導致外網在發送請求時,到達不了調度器.
DR模式 LVS負載均衡群集部署
環境:
DR 服務器:192.168.88.20
NFS服務器:192.168.88.22
Web 服務器1:192.168.88.23 ? ? ?
Web 服務器2:192.168.88.24 ? ? ? ? ?
vip:192.168.88.180
客戶端:192.168.88.67
1.配置負載調度器(192.168.88.20)
?
?
(1)配置虛擬 IP 地址(VIP:192.168.88.180)??
??
?
(2)調整 proc 響應參數
#由于 LVS 負載調度器和各節點需要共用 VIP 地址,需要關閉 icmp 的重定向,不充當路由器
??
(3)配置負載分配策略
?
?
?
?
?2.部署共享存儲(NFS服務器:192.168.88.22)
?
3.配置節點服務器(192.168.88.23、192.168.88.24) ??
?
(1)配置虛擬 IP 地址(VIP:192.168.10.180)
#此地址僅用作發送 Web響應數據包的源地址,并不需要監聽客戶機的訪問請求(改由調度器監聽并分發)。因此使用虛接口 lo∶0 來承載 VIP 地址,并為本機添加一條路由記錄,將訪問 VIP 的數據限制在本地,以避免通信紊亂。
?
?
?
?
?
?(2)調整內核的 ARP 響應參數以阻止更新 VIP 的 MAC 地址,避免發生沖突
?
?
?4.測試 LVS 群集
在客戶端使用瀏覽器訪問 http://192.168.88.180/
?
?
?