1. 程式人生 > >LVS-DR模式

LVS-DR模式

LVS-DR負載均衡

Linux Virtual Serve
虛擬服務器的體系結構如圖1所示,一組服務器通過高速的局域網或者地理分布的廣域網相互連接,在它們的前端有一個負載調度器(Load Balancer)。負載調度器能無縫地將網絡請求調度到真實服務器上,從而使得服務器集群的結構對客戶是透明的,客戶訪問集群系統提供的網絡服務就像訪 問一臺高性能、高可用的服務器一樣。客戶程序不受服務器集群的影響不需作任何修改。系統的伸縮性通過在服務機群中透明地加入和刪除一個節點來達到,通過檢 測節點或服務進程故障和正確地重置系統達到高可用性。由於我們的負載調度技術是在Linux內核中實現的,我們稱之為Linux虛擬服務器(Linux Virtual Server)
技術分享圖片

                                          虛擬服務器的體系結構如圖1

LVS相關術語

  1. DS:Director Server。指的是前端負載均衡器節點。
  2. RS:Real Server。後端真實的工作服務器。
  3. VIP:向外部直接面向用戶請求,作為用戶請求的目標的IP地址。
  4. DIP:Director Server IP,主要用於和內部主機通訊的IP地址。
  5. RIP:Real Server IP,後端服務器的IP地址。
  6. CIP:Client IP,訪問客戶端的IP地址。
    LVS DR模式的原理:
    Directory在實現轉發時不修改請求的IP首部,而是通過直接封裝MAC首部完成轉發;目標MAC是Directory根據調度方法挑選出某RS的MAC地址。負載均衡器和RS都使用同一個IP對外服務?但只有DR對ARP請求進行響應,所有RS對本身這個IP的ARP請求保持靜默?也就是說,網關會把對這個服 務IP的請求全部定向給DR,而DR收到數據包後根據調度算法,找出對應的RS,把目的MAC地址改為RS的MAC(因為IP一致)並將請求分發給這臺 RS?這時RS收到這個數據包,處理完成之後,由於IP一致,可以直接將數據返給客戶,則等於直接從客戶端收到這個數據包無異,處理後直接返回給客戶端? 由於負載均衡器要對二層包頭進行改換,所以負載均衡器和RS之間必須在一個廣播域,也可以簡單的理解為在同一臺交換機上?
    LVSDR模式應用特點
    所有集群節點RS必須和DIRector在相同的物理網段(即在同一個局域網中)。
    所有集群節點RS 上必須和網卡上綁定VIP 地址(子網掩碼255.255.255.255),以便驗證通過目的IP非RS節點的數據包。
    RS服務器上面要做綁定VIP和ARP抑制。
    RS服務器與LVS都有外網ip地址。
    ARP(地址解析協議)
    地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;
    實驗LVS的DR模式
    調度器:172.25.40.1 server1.example.om
    Real-server : 172.25.40.2 server2.example.com
    172.25.40.3 server3.example.com

調度器配置:

yum源配置:
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.40.250/rhel6.5/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.40.250/rhel6.5/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.40.250/rhel6.5/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.40.250/rhel6.5/ScalableFileSystem
gpgcheck=0

yum install ipvsadm -y
ip addr add 172.25.40.100/24 dev eth0
ipvsadm -A -t 172.25.40.100:80 -s rr 
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.2 -g
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.3 -g
/etc/init.d/ipvsadm save

在RS上配置arp抑制:

Real-server 172.25.40.2
/etc/init.d/httpd start 
 ip addr add 172.25.40.100/24 dev eth0
yum install arptables_jf -y
arptables -A IN -d 172.25.40.100 -j DROP
arptables -A OUT -s 172.25.40.100 -j mangle --mangle-ip-s 172.25.40.2
 /etc/init.d/arptables_jf save
Real-server 172.25.40.3
/etc/init.d/httpd start 
 ip addr add 172.25.40.100/24 dev eth0
yum install arptables_jf -y
arptables -A IN -d 172.25.40.100 -j DROP
arptables -A OUT -s 172.25.40.100 -j mangle --mangle-ip-s 172.25.40.3
 /etc/init.d/arptables_jf save

LVS-DR模式