设为首页 收藏本站
查看: 1321|回复: 0

[经验分享] linux系统做bond

[复制链接]

尚未签到

发表于 2018-5-24 10:17:07 | 显示全部楼层 |阅读模式
当系统中有多个网卡需要进行设置时,建议将网卡的MAC地址与ethX文件中的HWADDR一一对应,否则系统重启后网卡的eth号很可能会发生改变,在设置了网卡绑定的生产系统中,这是非常危险的。


1、配置驱动模块
   修改文件/etc/modprobe.conf,找到:
        alias eth0 8139cp
        alias eth1 8139cp
注意:
      8139cp为网卡型号。
   在此内容后加入:
     ######## Bonding ##########
       alias bond0 bonding
       options bonding max_bonds=1

     ######## Bonding ##########
     alias bond0 bonding
        options bond0 miimon=100 mode=1









2、建立bonding网卡配置
     新建文件/etc/sysconfig/network-scripts/ifcfg-bond0,输入以下内容:
           DEVICE=bond0
           ONBOOT=yes
           BOOTPROTO=static
           IPADDR=192.168.100.21
           NETMASK=255.255.255.0
           USERCTL=no
           BONDING_OPTS="mode=1 miimon=100 primary=eth0"
   BONDING_OPTS参数解释
     此参数用于指定网卡绑定时的属性,以下是对常用参数进行的解释:
         miimon参数:指定网卡故障时的切换时间间隔以ms为单位。
         primary参数:指定默认的主网卡设备。
     mode参数:
          0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。
          1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。
          2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
          3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。
           4-802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)
          5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。
          6-适配器输入/输出负载均衡模式,在"模式5"的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。
      xmit_hash_policy参数(此参数对mode参数中的2、4模式有影响):
      layer1-通过MAC地址进行HASH计算。
   计算公式:(MACsrc⊕MACdest)% Nslave
      layer3+4-通过TCP及UDP端口及其IP地址进行HASH计算。
    计算公式:((portsrc⊕portdest)⊕(IPsrc⊕IPdest)) % Nslave
注意:
       mode参数中的0、2、3、4模式要求交换机支持"ports group"功能并能进行相应的设置,例如在Cisco中要将所连接的端口设为"trunk group"。
选择绑定模式的建议
     如果系统流量不超过单个网卡的带宽,请不要选择使用mode 1之外的模式,因为负载均衡需要对流量进行计算,这对系统性能会有所损耗。
    建议mode 5、mode 6只在交换机不支持"ports group"的情况下选用。
    如果交换机及网卡都确认支持802.3ab,则实现负载均衡时尽量使用mode 4以提高系统性能。




3、修改被绑定网卡的配置
    修改/etc/sysconfig/network-scripts/ifcfg-eth0为:
           # Realtek Semiconductor Co., Ltd. RTL-8139/<?xml:namespace prefix = st1 />/+
           DEVICE=eth0
           MASTER=bond0
           SLAVE=yes
           HWADDR=54:52:00:35:f9:a0
           ONBOOT=yes




4、修改/etc/sysconfig/network-scripts/ifcfg-eth1为:
            # Realtek Semiconductor Co., Ltd. RTL-8139//+
            DEVICE=eth1
            MASTER=bond0
            SLAVE=yes
             HWADDR=54:52:00::37:ce
            ONBOOT=yes
   启动网卡绑定设备




5、导入bonding驱动:
          [root@localhost ~]# modprobe -i bonding max_bonds=1
          bonding: Warning: either miimon or arp_interval
          and arp_ip_target module parameters must be
           specified, otherwise bonding will not detect
           link failures! see bonding.txt for details.

此时系统会发出一个警告,意思是bonding驱动要求提供miimon参数或arp_inerval参数与arp_ip_target参数的组合,否则系统将无法检测出网卡设备连接是否失效。由于miimon已经在/etc/sysconfig/network-scripts/ifcfg-bond0中设定,所以可以不用理会此警告。




6、重启网络
         [root@localhost ~]# /etc/init.d/network restart
            bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect
link failures! see bonding.txt for details.

         [root@localhost ~]# cat network
           Shutting down interface eth0                    
           [   OK   ]

           Shutting down interface eth1                       
           [   OK   ]

          Shutting down loopback interface:                  
          [   OK   ]

           Bringing up loopback interface:                    
           [   OK   ]

           Bringing up interface bond0:                        
           [   OK   ]

     网络重启完毕,此时由于/etc/sysconfig/network-scripts/ifcfg-bond0中的设置,miimon参数已经生效。




      以上"导入bonding驱动"及"重启网络"的操作也可以通过重新启动操作系统来实现,但对于一些正在生产环境中运行的系统,一般要求进行系统维护时不影响系统的正常运作。通过以上两个操作可以将系统的"总失效时间"降到最低。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-480559-1-1.html 上篇帖子: linux 下sudo的命令 下篇帖子: linux下关于ulimit
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表