1. 程式人生 > >02-LVS集群類型之lvs-dr

02-LVS集群類型之lvs-dr

集群 bsp true 由器 必須 rec 二層交換機 交換機 查看

通過修改請求報文的MAC地址實現轉發:

請求報文源IP為CIP,目標IP為VIP,到達Directory後,修改源MAC地址為DIP的網卡MAC,目標MAC地址是挑選出來的後端RealServer的RIP接口的MAC地址;

IP首部不會改變,為了能夠讓RealServer能夠接收報文,需要在RealServer的lo的子接口上配置vip地址;

Directory與RealServer在同一網絡內,二層交換機通過MAC地址實現報文發送,所以中間不能出現路由器(路由器3層通過IP地址實現);

工作流程:

1>請求報文經過層層路由進入交換機,此時,源地址是CIP,目標地址是VIP。

2>Directory 和 RealServer 是同一物理網絡內,且都有vip地址,通過特殊設置,使得RealServer 無法想應ARP廣播,因為只有Directory可以相應ARP廣播,所以請求報文只能發往Directory,源IP地址目標IP地址不變,幀首部的目標MAC地址為Directory網卡MAC地址,源MAC地址為交換機某接口MAC地址。

  如何禁止本機VIP地址響應ARP廣播:

    <1>arptables工具實現

    <2>修改RealServer的內核,並把VIP綁定在本地回環lo接口上

內核參數為arp_ignore、arp_announce

3>到達Directory,拆開幀首部,通過查看IP及端口,發現是定義的集群應用,封裝幀首部目標MAC地址為某個挑選出來的RealServer 網卡的MAC地址,發送給交換機,此時源IP地址目標IP地址不變,源MAC地址是Directory網卡MAC地址。

4>交換機轉發報文給相應的RealServer,RealServer收到請求報文,拆開幀首部,發現目標IP地址是自己,接受請求並響應,響應報文源IP地址為VIP,目標IP為CIP。

補充:

VIP肯定為公網地址,DIP與RIP可以是公網(方便管理)也可以為私網。

RealServer與Directory必須在同一物理網絡中,因為兩者之間使用MAC地址進行通信。

不支持端口映射

響應報文不經過Directory。

02-LVS集群類型之lvs-dr