LVS集群類型比較:選擇最適合你的應(yīng)用架構(gòu)
一、什么是LVS?
LVS是Linux Virtual Server的簡稱,也就是Linux虛擬服務(wù)器,是一個由章文嵩博士發(fā)起的軟件項目,現(xiàn)在LVS已經(jīng)是Linux標(biāo)準(zhǔn)內(nèi)核的一部分,在Linux2.4內(nèi)核以前,使用LVS時必須重新編譯內(nèi)核以支持LVS功能模塊,但是從Linux2.4內(nèi)核心之后,已經(jīng)完全內(nèi)置了LVS的各個功能模塊,無需給內(nèi)核打任何補丁,可以直接使用LVS提供的各種功能。
使用LVS技術(shù)要達到的目標(biāo)是:通過LVS提供的負載均衡技術(shù)和Linux操作系統(tǒng)實現(xiàn)一個高性能,高可用的服務(wù)器群集,它具有良好的可靠性、可擴展性和可操作性。從而以低廉的成本實現(xiàn)最優(yōu)的服務(wù)性能。

二、LVS集群幾種類型
1.LVS-NAT
原理:本質(zhì)上是多目標(biāo)IP的DNAT,通過將請求報文中的目標(biāo)地址和目標(biāo)端口修改為某挑出的RS的RIP和port實現(xiàn)轉(zhuǎn)發(fā)。
- RIP和DIP盡量在同一個網(wǎng)絡(luò),且使用私有網(wǎng)絡(luò),RS的網(wǎng)關(guān)盡量要指向DIP;
 - 請求報文和響應(yīng)報文都必須經(jīng)由Diretory轉(zhuǎn)發(fā),Diretory易于成為系統(tǒng)瓶頸;
 - 支持端口映射,可修改請求報文的目標(biāo)port;
 - VS必須是linux系統(tǒng),RS可以是任意OS系統(tǒng);
 


2.LVS-DR(常用)
原理:Dirrect Routing,直接路由,LVS的默認模式,應(yīng)用最廣泛,通過為請求報文重新封裝一個MAC首部進行轉(zhuǎn)發(fā),源MAC是DIP所在接口的MAC,目標(biāo)MAC是挑選出來的RS的RIP所在接口的MAC地址,源IP/PORT以及目標(biāo)IP/PORT均保持不變。
- Director和各RS均要配置VIP;
 - 確保前端路由器將目標(biāo)IP為VIP的請求報文發(fā)往Director
 
在RS上使用arptables工具:
arptables -A IN -d $VIP -j Drop
arptables -A OUT -s $VIP -j **** --*****-ip-s $RIPRS上修改內(nèi)核參數(shù)以限制arp通告及應(yīng)答級別:
/proc/sys/net/ipv4/vonf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce- RS的RIP可以使用私有網(wǎng)絡(luò)地址,也可以使用公網(wǎng)地址;RIP和DIP在同一個IP網(wǎng)絡(luò);
 - RIP的網(wǎng)關(guān)不能指向DIP,以確保響應(yīng)報文不會經(jīng)過Director
 - RS和Director要在同一個物理網(wǎng)絡(luò)
 - 請求報文要經(jīng)過Director,但是響應(yīng)報文不會經(jīng)過Director,由RS直接發(fā)往Client
 - 不支持端口映射,即端口固定
 - RS可使用大多數(shù)OS操作系統(tǒng)
 


3.lvs-tun(跨異地)
原理:不修改請求報文的IP首部(CIP->VIP),而在原IP報文之外封裝一個IP首部(DIP->VIP),將報文發(fā)往目標(biāo)RS,RS直接響應(yīng)客戶端(VIP->CIP)。
- DIP、VIP、RIP都應(yīng)該是公網(wǎng)地址
 - RS的網(wǎng)關(guān)不能指向DIP
 - 請求報文要經(jīng)過Director,但是響應(yīng)報文不經(jīng)過直接回到Client
 - 不支持端口映射
 - RS的OS必須支持隧道功能
 


4.lvs-fullnat
原理:通過同時修改請求報文的源ip和目的ip進行轉(zhuǎn)發(fā)
  CIP->VIP
  DIP->RIP- VIP是公網(wǎng)地址
 - RS收到的請求報文源地址是DIP,因此只響應(yīng)給DIP,lvs服務(wù)器將其轉(zhuǎn)發(fā)給client
 - 請求和響應(yīng)報文都經(jīng)過LVS服務(wù)器
 - 支持端口映射
 - 內(nèi)核默認不支持
 

















 
 
 






 
 
 
 