LVS DR模式原理剖析

2021-06-22 12:12:54 字數 2218 閱讀 3218

faq

1. lvs/dr如何處理請求報文的,會修改ip包內容嗎?

1.1 vs/dr本身不會關心ip層以上的資訊,即使是埠號也是tcp/ip協議棧去判斷是否正確,vs/dr本身主要做這麼幾個事:

1)接收client的請求,根據你設定的負載均衡演算法選取一台realserver的ip;

2)以選取的這個ip對應的mac位址作為目標mac,然後重新將ip包封裝成幀**給這台rs;

3)在hashtable中記錄連線資訊。

vs/dr做的事情很少,也很簡單,所以它的效率很高,不比硬體負載均衡裝置差多少。

資料報、資料幀的大致流向是這樣的:client --> vs --> rs --> client

1.2 前面已作了回答,vs/dr不會修改ip包的內容.

2. realserver為什麼要在lo介面上配置vip,在出口網絡卡上配置vip可以嗎?

2.1 既然要讓rs能夠處理目標位址為vip的ip包,首先必須要讓rs能接收到這個包。

在lo上配置vip能夠完成接收包並將結果返回client。

2.2 答案是不可以將vip設定在出口網絡卡上,否則會響應客戶端的arp request,造成client/gateway arp table紊亂,以至於整個loadbalance都不能正常工作。

3. realserver為什麼要抑制arp幀?

這個問題在上一問題中已經作了說明,這裡結合實施命令進一步闡述。我們在具體實施部署的時候都會作如下調整:

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

我相信很多人都不會弄懂它們的作用是什麼,只知道一定得有。我這裡也不打算拿出來詳細討論,只是作幾點說明,就當是補充吧。

3.1echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

這兩條是可以不用的,因為arp對邏輯介面沒有意義。

3.2 如果你的rs的外部網路介面是eth0,那麼

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

其實真正要執行的是:

echo "1">/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "2">/proc/sys/net/ipv4/conf/eth0/arp_announce

所以我個人建議把上面兩條也加到你的指令碼裡去,因為萬一系統裡上面兩條預設的值不是0,那有可能是會出問題滴。

4. lvs/dr loadbalancer(director)與rs為什麼要在同一網段中?

從第乙個問題中大家應該明白vs/dr是如何將請求**給rs的了吧?它是在資料鏈路層來實現的,所以director必須和rs在同一網段裡面。

5. 為什麼director上eth0介面除了vip另外還要配乙個ip(即dip)?

5.1 如果是用了keepalived等工具做ha或者loadbalance,則在健康檢查時需要用到dip

5.2 沒有健康檢查機制的ha或者load balance則沒有存在的實際意義.

6. lvs/drip_forward需要開啟嗎?

不需要。因為director跟realserver是同乙個網段,無需開啟**。

7. lvs/dr裡,director的vip的netmask 沒必要設定為255.255.255.255,也不需要再去

route add -host $vip dev eth0:0

director的vip本來就是要像正常的ip位址一樣對外通告的,不要搞得這麼特殊.

8. lvs/dr如何進行tcp的三次握手?

應該不用再多說的,有興趣單獨交流吧。

以上本人個人的理解,對lvs等負載均衡技術挺有興趣,歡迎一起討論。

如有不正確的地方,希望章博士能指點一下,那就獲益匪淺了^_^

戴海軍@51.com

gtalk: [email protected]

LVS DR模式搭建

1 dr模式下分發器和真實伺服器要在同ip段 2 分發器和真是伺服器都需要設定相同的vip,並且都能通外網 3 負載均衡器安裝 yum install y ipvsadm 4 負載均衡 ifconfig eno16777984 0 172.16.54.244 24 route add host 17...

LVS DR模式搭建

ip 備註192.168.174.128 排程器 關閉防火牆 安全規則 192.168.174.130 web端 關閉防火牆 安全規則 192.168.174.131 web端 關閉防火牆 安全規則 三颱centos7 兩台web端搭建ecshop和ecshop1,一台安裝ipvsadm實現排程 安...

LVS DR模式搭建

出於對架構的興趣,一有時間我就會了解一下如何搭建乙個高併發,高可用,可擴充套件的伺服器執行環境。lvs dr究竟現在的企業運用頻率有多高其實我也不清楚,本文是下班之餘斷斷續續研究搭建筆錄,並且僅僅在virtual box虛擬機器實踐,沒有實際生產實踐。但是在搭建過程中確實學到了許多理論知識,這裡只記...