LVS--4種工做模式場景及優點

1、NAT

lvs的nat集羣會將請求報文中的目標地址和目標端口修改成選定到的真實服務器的Ip和端口,從而實現報文的轉發。
lvs-nat集羣應用時由如下幾點注意實現:前端

1.RIP和DIP必須在同一個Ip網絡中,且應使用私網地址,RS的網關要指向DIP;
2.請求報文和響應報文必須經由Director轉發;
3.支持端口映射,可修改請求報文的目標端口;
4.director必須爲Linux系統,RS能夠爲任意系統;

此集羣類型的優勢在於RS可支持任意TCP/IP操做系統,且僅需一個合法的公網Ip便可部署。可是其缺點爲當集羣擴展到必定程度後,Director容易成爲整個集羣系統的瓶頸。算法

上圖爲lvs-nat的常見的使用場景,其工做流程以下:
一、客戶端的請求發往Director 的VIP。
二、Director發到客戶端請求報文後,將報文中的目標Ip修改成集羣中的選定的RIP,目標端口80也修改爲8080,而後將請求報文發往RS。
三、當RS收到請求報文後,在檢查報文的目標IP爲本身的RIP後,會接受報文並進行處理響應。響應的源Ip爲RIP,目標IP爲CIP,端口不變。
四、Director收到RS的響應報文,修改響應報文的源IP爲VIP,端口爲80,而後轉發給客戶端。
五、客戶端接受響應報文,其源IP爲VIP,端口爲80,整個過程對於客戶端來講是透明無感知的。

2、DR

 lvs-dr集羣是Lvs的默認模式,又稱爲Direct Routing,直接路由模式。經過爲請求報文從新封裝一個MAC首部進行轉發,源MAC是DIP所在的接口的MAC,目標MAC是某挑選出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目標IP/PORT均保持不變。後端

在DR 模式下須要在 Director 和 RS 集羣綁定同一個 VIP(RS 經過將 VIP 綁定在 loopback 實現)。因爲在VIP在同一個網絡中的多臺服務器上都須要配置,所以必須對RS的ARP響應報文規則進行修改,其方式有三種:服務器

(a) 在前端網關作靜態綁定;
(b) 在RS上使用arptables工具;
  # arptables -A IN -d $VIP -j DROP
  # arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP
(c) 在RS上修改內核參數以限制arp通告及應答級別;
  echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

 

總的來講,DR模式在部署時有如下幾點須要注意的:網絡

1.確保前端路由器將目標Ip爲VIP的請求報文發往director;
2.RS的RIP可使用私網地址,也能夠是公網地址;RIP與DIP在同一IP網絡;RIP的網關不能指向DIP,以確保響應報文不會經由Director;
3.RS跟Director要在同一個物理網絡;
4.請求報文要經由Director,但響應不能經由Director,而是由RS直接發往Client;
5.dr模式不支持端口映射;

lvs-dr模式的優勢在於:Director只是分發請求,應答包經過單獨的路由方法返回給客戶端。與Lvs-tun相比,Lvs-dr這種實現方式不須要隧道結構,所以可使用大多數操做系統作爲物理服務器。缺點在於要求負載均衡器的網卡必須與物理網卡在一個物理段上。負載均衡

3、TUN

轉發方式工做,不修改請求報文的IP首部,而在源IP報文以外再封裝一個IP首部(源IP是DIP,目標IP是RIP),將報文發往挑選出的目標RealServer,RealServer直接響應給客戶端(源IP是VIP,目標IP是CIP),lvs-tun模式的優先在於Director只負責將請求包分配給對應的RS,而響應則由RS本身直接應答給客戶端,所以director再也不是瓶頸。但其缺點在於須要每一個服務器都支持Ip tunnel協議。工具

 

4、Fullnat

 lvs-fullnat模式,即經過同時修改請求報文的源IP地址和目標IP地址進行轉發的模式。此類型的模式,默認Kernel不支持。oop

1.客戶端的請求會發往Director,此時,客戶端請求報文的源IP爲CIP,目標IP爲Director的VIP 2.當Director收到客戶端的請求報文時,會將源IP修改成本機的DIP,同時將請求報文中的目標IP修改成後端某個RS的RIP,具體爲哪一個RS的RIP,取決於LVS使用的具體算法 3.當RS收到對應的請求報文時,會發現報文的目標IP就是本身的RIP,因而就會接收報文並 處理後進行響應。響應報文的源IP則爲RIP,目標IP則爲DIP 4.當Director收到對應的響應報文時,Director會將響應報文的源IP修改成VIP,目標IP修改成CIP,因而響應報文被髮往客戶端。 5.客戶端則會收到響應報文,源IP爲VIP,端口爲80,而LVS相對於客戶端而言,轉換過程是透明的。
相關文章
相關標籤/搜索