lxyfirst

C++博客 首页 新随笔 联系 聚合 管理
  33 Posts :: 3 Stories :: 27 Comments :: 0 Trackbacks
1. arp问题
   在DR或者tunnel模式下,RS需要绑定VIP以便直接将报文发回客户端。因此需要在RS上屏蔽网络内对VIP进行arp查询的响应 。
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

2. mtu问题
   在tunnel模式下 ,LD将客户端报文进行封装(加IPIP头)后发送给RS , 因此RS需要调整MTU大小,预留IPIP头空间,以便客户端正确分包。
ifconfig "$OUT_DEV" mtu 1480

3.报文转发问题
    在DR或者tunnel模式下,报文直接转发到RS。
echo 1 > /proc/sys/net/ipv4/ip_forward

4.LD支持连接数问题
   内核ip_vs模块的参数conn_tab_bits指定了conn表的大小,最大为20 ,支持1M个连接。

5.LD做HA时VIP接管问题
   新LD接管故障LD的VIP时,需要及时做arp广播,keepalived会自动完成,也通过arping命令查看。

6.LD的cpu负载问题
   LD的网卡软中断(ksoftirqd)由一个cpu处理,无法利用多核,调整软中断的smp_affinity可以改变绑定的cpu,但无法做多核负载均衡。
   内核2.6.32之后已经支持软中断的负载均衡。
   使用支持RSS的网卡,有多个队列,或者使用多个网卡做bonding 。
  echo "alias bond0 bonding" >> /etc/modprobe.conf
  修改ifcfg-bond0 , ifcfg-ethX配置文件。

7. 系统内核参数调整参考
net.ipv4.tcp_tw_recyle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_syn_backlog = 40960
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_tw_buckets = 8192
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_orphans = 40960
#net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_rmem = 4194304 8388608 16777216
net.ipv4.tcp_wmem = 4194304 8388608 16777216
net.ipv4.udp_mem = 4194304 8388608 16777216
net.ipv4.udp_rmem_min = 1048576
net.ipv4.udp_wmem_min = 1048576

net.core.somaxconn = 40960
net.core.netdev_max_backlog = 40960
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
 参考:http://www.austintek.com/LVS/
posted on 2011-10-10 15:55 star 阅读(614) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理