LVS 的 DR模式注意事項

LVS 是Linux系統下很經典的負載均衡器,尤其是DR模式。其原理非常簡單,LVS通過修改包頭中的目標mac地址,與後端RS “串通” ,“合夥”欺騙客戶端,從而以極低的代價,巧妙的實現負載均衡。

 LVS DR 模式由於是半連接,只轉發請求,不負責迴應,流量小,又因工作在Linux內核層,穩定性和性能都非常好,處理能力可以達到百萬級。

 LVS 的DR模式是工作在二層,所以缺點是LVS必須與RS在同一個局域網。

 LVS DR主要的瓶頸在於連接哈希表(connection hash table)的大小,以及處理對應連接的內存大小。

 LVS的連接哈希表大小是2的12-20次方,即4096-1048576,默認爲2的12次方,即4096。

 低版本的linux內核(小於3.0),比如CentOS6的 kernel 2.6.32,需要重新編譯內核才能修改連接哈希表大小。

對於比較新的內核,比如CentOS7的 kernel 3.10,可以在加載ip_vs內核模塊時加參數,即可修改連接哈希表,方法如下:

modprobe ip_vs conn_tab_bits=20
echo options ip_vs conn_tab_bits=20 > /etc/modprobe.d/ip_vs.conf

如果使用LVS,請儘量使用高版本內核。

參考文章
http://www.shencan.net/index.php/2013/04/28/%E4%BF%AE%E6%94%B9lvs-ipvs-connection-hash-table%E5%A4%A7%E5%B0%8F/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章