LVS/DR模式原理剖析

LVS/DR模式原理剖析算法

FAQ網絡

1. LVS/DR如何處理請求報文的,會修改IP包內容嗎?app

1.1 vs/dr自己不會關心IP層以上的信息,即便是端口號也是tcp/ip協議棧去判斷是否正確,vs/dr自己主要作這麼幾個事:負載均衡

1)接收client的請求,根據你設定的負載均衡算法選取一臺realserveriptcp

2)以選取的這個ip對應的mac地址做爲目標mac,而後從新將IP包封裝成幀轉發給這臺RSide

3)在hash table中記錄鏈接信息。工具

vs/dr作的事情不多,也很簡單,因此它的效率很高,不比硬件負載均衡設備差多少。spa

數據包、數據幀的大體流向是這樣的:client --> VS --> RS --> clientorm

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

2. RealServer爲何要在lo接口上配置VIP,在出口網卡上配置VIP能夠嗎?

2.1 既然要讓RS可以處理目標地址爲vipIP包,首先必需要讓RS能接收到這個包。

lo上配置vip可以完成接收包並將結果返回client

2.2 答案是不能夠將VIP設置在出口網卡上,不然會響應客戶端的arp request,形成client/gateway arp table紊亂,以致於整個load balance都不能正常工做。

 

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.1

echo "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 load balancerdirectorRS爲何要在同一網段中?

         從第一個問題中你們應該明白vs/dr是如何將請求轉發給RS的了吧?它是在數據鏈路層來實現的,因此director必須和RS在同一網段裏面。

5. 爲何directoreth0接口除了VIP另外還要配一個ip(即DIP)?

5.1 若是是用了keepalived等工具作HA或者Load Balance,則在健康檢查時須要用到DIP

5.2 沒有健康檢查機制的HA或者Load Balance則沒有存在的實際意義.

6. LVS/DR ip_forward須要開啓嗎?

         不須要。由於directorrealserver是同一個網段,無需開啓轉發。

7. lvs/dr裏,directorvipnetmask 不必設置爲255.255.255.255,也不須要再去

route add -host $VIP dev eth0:0

         directorvip原本就是要像正常的ip地址同樣對外通告的,不要搞得這麼特殊.

8. LVS/DR如何進行tcp的三次握手?

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

 

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

              

戴海軍@51.com

Gtalk: daihaijun@gmail.com

QQ:3794385

相關文章
相關標籤/搜索