在企业生产环境中,必须保障7x24小时网络传输服务。借助于网卡绑定技术,不仅可以提高网络传输速度,更重要的是,在一块网卡发生故障的时候,依然可以正常提供网络服务,保障数据传输不中断。接下来给大家介绍如何绑定两块网卡:
第1步:给虚拟机添加一块网卡设备
请确保两块网卡设备处在同一个网络连接中(即网卡模式相同),然后给新添加的网卡设备生成一个MAC地址。
第2步:使用Vim编辑器来配置网卡设备的绑定参数。
我们需要对参与绑定的两块网卡逐个进行"初始设置",这两块原本独立的网卡设备此时需要被配置成"从属"网卡,服务于"主"网卡,不应该再有自己的IP地址等信息。在进行了初始设置以后,这两块网卡就可以支持网卡绑定。
[root@linuxprobe network-scripts]# vim ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno16777728
ONBOOT=yes
USERCTL=no
MASTER=bond0 //主网卡
SLAVE=yes //设置为从属网卡
[root@linuxprobe network-scripts]# vim ifcfg-eno33554968
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno33554968
ONBOOT=yes
USERCTL=no
MASTER=bond0 //主网卡
SLAVE=yes //设置为从属网卡
第3步:编辑一个名为bond0的主网卡配置文件,然后把IP地址等信息写进去。
[root@linuxprobe network-scripts]# vim ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
DEVICE=bond0
ONBOOT=yes
USERCTL=no
IPADDR=192.168.134.10
PREFIX=24
NM_CONTROLLED=no
第4步:让Linux内核支持网卡绑定驱动。
常见的网卡绑定驱动有三种模式:mode0、mode1和mode6。
- mode0(平衡负载模式):平时两块网卡同时工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
- mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
- mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
下面使用Vim编辑器创建一个用于网卡绑定的驱动文件,使得绑定后的bond0网卡设备能够支持绑定技术(bonding),同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒。
[root@linuxprobe ~]# vim /etc/modprobe.d/bond.conf
alias bond0 bonding //定义网卡bond0支持bonding技术
options bond0 miimon=100 mode=6
第5步:重启网络服务后,网卡绑定操作即可成功。正常情况下只有bond0网卡设备有IP地址等信息。
[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 192.168.134.10 netmask 255.255.255.0 broadcast 192.168.134.255
inet6 fe80::20c:29ff:feff:6b1f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ff:6b:1f txqueuelen 0 (Ethernet)
RX packets 185 bytes 16442 (16.0 KiB)
RX errors 0 dropped 29 overruns 0 frame 0
TX packets 443 bytes 38664 (37.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777728: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:0c:29:ff:6b:1f txqueuelen 1000 (Ethernet)
RX packets 41 bytes 3057 (2.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 289 bytes 29424 (28.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno33554968: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:50:56:35:d0:66 txqueuelen 1000 (Ethernet)
RX packets 144 bytes 13385 (13.0 KiB)
RX errors 0 dropped 29 overruns 0 frame 0
TX packets 154 bytes 9240 (9.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 270 bytes 22060 (21.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 270 bytes 22060 (21.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
为了检查网卡的自动备援功能,我们随机down掉其中一块网卡,可以清晰看到网卡的切换过程(一般只有一个数据包丢失),然后另外一块网卡会继续为用户提供服务。