美文网首页工作生活
CENTOS 6/7 BONDING模式双网卡绑定

CENTOS 6/7 BONDING模式双网卡绑定

作者: 大叔David | 来源:发表于2019-06-29 15:35 被阅读0次

    bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。
    bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持。
    bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.
    1、balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
    2、active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低
    3、balance-xor (mode=2) 不常用
    4、broadcast (mode=3) 不常用
    5、802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过
    6、balance-tlb (mode=5) 不常用
    7、balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
    具体的网上有很多资料,了解每种模式的特点根据自己的选择就行, 一般会用到0、1、4、6这几种模式。

    1、查看系统内核是否支持bonding

    [root@cobbler-node1 ~]# cat /boot/config-3.10.0-693.el7.x86_64 | grep -i bonding
    CONFIG_BONDING=m
    

    2、备份系统自带的网卡配置文件,以及创建bond0网卡配置文件

    [root@cobbler-node1 ~]# cd /etc/sysconfig/network-scripts
    [root@cobbler-node1 network-scripts]# pwd
    /etc/sysconfig/network-scripts
    [root@cobbler-node1 network-scripts]# cp -a ifcfg-eth0 ifcfg-eth0.bak
    [root@cobbler-node1 network-scripts]# cp -a ifcfg-eth1 ifcfg-eth1.bak
    [root@cobbler-node1 network-scripts]# cp -a ifcfg-eth0.bak ifcfg-bond0
    

    3、修改系统eth0、eth1、bond0网卡配置文件

    [root@cobbler-node1 network-scripts]# vim ifcfg-eth0
    TYPE=Ethernet
    BOOTPROTO=none
    DEVICE=eth0
    ONBOOT=yes
    USERCTL=no
    MASTER=bond0        #需要和上面的ifcfg-bond0配置文件中的DEVICE的值对应
    SLAVE=yes
    [root@cobbler-node1 network-scripts]# vim ifcfg-eth1
    TYPE=Ethernet
    BOOTPROTO=none
    DEVICE=eth1
    ONBOOT=yes
    USERCTL=no
    MASTER=bond0       #需要和上面的ifcfg-bond0配置文件中的DEVICE的值对应
    SLAVE=yes
    [root@cobbler-node1 network-scripts]# vi ifcfg-bond0
    TYPE=Bond
    BOOTPROTO=none
    DEVICE=bond0   
    ONBOOT=yes
    IPADDR=10.129.49.240
    NETMASK=255.255.255.0
    GATEWAY=10.129.49.1
    DNS1=10.112.15.30
    DNS2=10.112.15.33
    USERCTL=no
    BONDING_OPTS="mode=6 miimon=100"     #在bond0中加入这一项可以省略配置bonding.conf
    

    4、将eth0、eth1网卡配置文件合并显示

    [root@cobbler-node1 network-scripts]# paste ifcfg-eth0 ifcfg-eth1
    TYPE=Ethernet   TYPE=Ethernet
    BOOTPROTO=none  BOOTPROTO=none
    DEVICE=eth0     DEVICE=eth1
    ONBOOT=yes      ONBOOT=yes
    USERCTL=no      USERCTL=no         #控制用户是否有修改网卡的权限,必须设置为no,只有root用户才可以修改
    MASTER=bond0    MASTER=bond0
    SLAVE=yes       SLAVE=yes
    

    5、对比eth0、eth1网卡配置文件不同内容

    [root@cobbler-node1 network-scripts]# diff ifcfg-eth0 ifcfg-eth1     
    3c3
    < DEVICE=eth0
    ---
    > DEVICE=eth1
    

    6、在/etc/modprobe.d/目录下创建bonding.conf(网卡绑定模式)配置文件

    [root@cobbler-node1 network-scripts]# echo -e "alias bond0 bonding\noptions bond0 mode=6 miimon=100" >> /etc/modprobe.d/bonding.conf
    [root@cobbler-node1 network-scripts]# cat /etc/modprobe.d/bonding.conf
    alias bond0 bonding
    options bond0 mode=6 miimon=100   
    

    注意:
    mode=6代表负载均衡;两块网卡同时工作,增加网络带宽,不需要依赖物理交换机设置
    mode=1代表主备切换;只有一块网卡处于活动状态,活动网卡故障切换到备用网卡
    miimon=100代表网络链路检测频率100ms检查一次,如果出现问题则切换到备用网卡

    7、执行modprobe bonding命令更新加载bonding模块,使其系统支持网卡bonding

    [root@cobbler-node1 network-scripts]# modprobe bonding
    

    验证bonding模块是否加载成功,出现如下结果则证明加载成功

    [root@cobbler-node1 network-scripts]# lsmod | grep bonding
    bonding               145728  0
    

    8、重启系统网络服务

    [root@cobbler-node1 network-scripts]# systemctl restart network
    

    9、查看网卡绑定的模式以及绑定的网卡状态信息

    [root@cobbler-node1 network-scripts]# cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    Bonding Mode: load balancing (round-robin)
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    Slave Interface: eth0
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 28:6e:d4:88:ce:5d
    Slave queue ID: 0
    Slave Interface: eth1
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 28:6e:d4:88:ce:5e
    Slave queue ID: 0
    

    10、查看系统网络信息,验证绑定成功

    [root@cobbler-node1 network-scripts]# ifconfig
    bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
            inet 10.129.49.240  netmask 255.255.255.0  broadcast 10.129.49.255
            inet6 fe80::2a6e:d4ff:fe88:ce5d  prefixlen 64  scopeid 0x20<link>
            ether 28:6e:d4:88:ce:5d  txqueuelen 1000  (Ethernet)
            RX packets 1675775  bytes 126050576 (120.2 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 3432  bytes 496778 (485.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
            ether 28:6e:d4:88:ce:5d  txqueuelen 1000  (Ethernet)
            RX packets 837774  bytes 63015040 (60.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1718  bytes 237790 (232.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
            ether 28:6e:d4:88:ce:5d  txqueuelen 1000  (Ethernet)
            RX packets 838224  bytes 63053418 (60.1 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1714  bytes 258988 (252.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    相关文章

      网友评论

        本文标题:CENTOS 6/7 BONDING模式双网卡绑定

        本文链接:https://www.haomeiwen.com/subject/ikepcctx.html