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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章