1.1、添加双网卡,正常工作时他们会共同传输数据,使得网络传输的速度更快,mode6模式即使有一块网卡出现了故障,另一块会自动顶替上去,保证数据传输不会中断

1.2、网卡绑定驱动的三种模式 mode0 mode1 mode6

    mode0:(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术

    mode1:(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡

    mode6:(平衡负载模式):平时两块网卡均工作,且自动备援,无需交换机设备提供辅助支持

1.3、双网卡的mode6模式配置环境

    环境:CentOS7.5

        # cat /etc/redhat-release

        CentOS Linux release 7.5.1804 (Core)

1.4、配置双网卡的mode6模式

    为服务器或虚拟机添加双网卡,服务器内网或外网,虚拟机网卡添加相同的模式桥接或nat

    配置过程:

    配置网卡1:ens33

        cd /etc/sysconfig/network-scripts/

        vim ifcfg-ens33

            DEVICE=ens33

            BOOTPROTO=static

            ONBOOT=yes

            MASTER=bond0

            SLAVE=yes

            USERCTL=no

    配置网卡2:ens36

        cd /etc/sysconfig/network-scripts/

        vim ifcfg-ens36

            DEVICE=ens36

            BOOTPROTO=static

            ONBOOT=yes

            MASTER=bond0

            SLAVE=yes

            USERCTL=no

    配置网卡bond0

        cd /etc/sysconfig/network-scripts/

        vim ifcfg-bond0

            DEVICE=bond0

            BONDING_OPTS="mode=6 miimon=100"

            BOOTPROTO=static

            ONBOOT=yes

            IPADDR=192.168.1.200

            NETMASK=255.255.255.0

            GATEWAY=192.168.1.1

            DNS1=192.168.1.1

            DNS2=114.114.114.114

            USERCTL=no

    在创建一个文件并写入一行配置

        vim /etc/modprobe.d/bonding.conf

            alias bond0 bonding

    进行检查是否加载了 bonding 模块

        # lsmod |grep bonding

        bonding               149864  0

    如果没有加载,进行加载

        modprobe bonding

    重启网卡

        systemctl restart network

1.5、检查配置情况

    # ifconfig

    bond0: flags=5187  mtu 1500

            inet 192.168.1.200  netmask 255.255.255.0  broadcast 192.168.1.255

            ether 00:0c:29:b5:51:e8  txqueuelen 1000  (Ethernet)

            RX packets 2410  bytes 212984 (207.9 KiB)

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 4708  bytes 367636 (359.0 KiB)

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    ens33: flags=6147  mtu 1500

            ether 00:0c:29:b5:51:de  txqueuelen 1000  (Ethernet)

            RX packets 2004  bytes 182078 (177.8 KiB)

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 928  bytes 144401 (141.0 KiB)

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    ens36: flags=6211  mtu 1500

            ether 00:0c:29:b5:51:e8  txqueuelen 1000  (Ethernet)

            RX packets 2976  bytes 262465 (256.3 KiB)

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 4708  bytes 367636 (359.0 KiB)

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    lo: flags=73  mtu 65536

            inet 127.0.0.1  netmask 255.0.0.0

            inet6 ::1  prefixlen 128  scopeid 0x10

            loop  txqueuelen 1000  (Local Loopback)

            RX packets 353  bytes 101528 (99.1 KiB)

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 353  bytes 101528 (99.1 KiB)

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    virbr0: flags=4099  mtu 1500

            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255

            ether 52:54:00:2e:2f:38  txqueuelen 1000  (Ethernet)

            RX packets 0  bytes 0 (0.0 B)

            RX errors 0  dropped 0  overruns 0  frame 0

            TX packets 0  bytes 0 (0.0 B)

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

查看网卡流量信息

    cat /proc/net/bonding/bond0

找一台机器进行ping,并断掉本机其中一块网卡观察是否正常接管

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    请求超时。

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64

    来自 192.168.1.200 的回复: 字节=32 时间<1ms TTL=64