IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    LVS配置注意事项

    star发表于 2011-10-10 07:55:00
    love 0
    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/

    star 2011-10-10 15:55 发表评论


沪ICP备19023445号-2号
友情链接