linux初学者-网卡的链路聚合篇

        网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。

        网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。

     1、bond

        bond模式的配置步骤如下图所示,在配置之前需要有两块网卡:

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路

        a、"nmcli connection add type bond con-name bond0 mode active-backup ip4 172.25.254.102/24"。表示添加一个bond,名称为bond0,工作模式为主备,IP为"172.25.254.102"。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_网络连接_02

        b、"cat /proc/net/bonding/bond0"。可以查看bond的信息。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路_03

        c、"nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0"。将eth0网卡连接添加到这个bond中。

        d、"nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0"。将eth1连接网卡添加到这个bond中。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_工作模式_04

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_网络连接_05

        至此bond模式的网卡链路聚合配置完成,网络可以正常使用。

        bond的常用工作模式有"active-backup"主备模式和"balance-rr"轮询模式两种。主备模式是使用一块网卡,这块网卡坏了使用另一块网卡。轮询模式是两块网卡轮流使用。

        测试时可以使用"ifconfig eth0 down",去掉一块网卡,可以发现,网络依旧可以正常使用。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_06

        可以使用"nmcli connection delete eth0"来删除这个网络连接。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_07

        使用命令"nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0"可以重新添加一块网卡。这块网卡成为备用网卡。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路_08

        如果需要删除bond模式的链路聚合,一次输入命令"nmcli connection delete bond0"、"nmcli connection delete eth0"、"nmcli connection delete eth1"即可。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路_09

     2、team

        team模式最多可以添加八块网卡,以下仅以两块为例,配置步骤如下:

        a、"mcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.102/24"。表示建立一个team,名称为team0,工作模式为主备,IP为"172.25.254.102"。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_10

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路_11

        b、"teamdctl team0 state"。可以查看team模式的信息。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_链路_12

        c、"nmcli connection add con-name eth0 ifname eth0 type team-slave master team0"。在team中添加eth0网络连接。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_工作模式_13

        d、"nmcli connection add con-name eth1 ifname eth1 type team-slave master team0"。在team中添加eth1网络连接。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_14

       至此team模式的链路聚合配置完成,可以看到目前工作的是eth0,网络已经连通。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_15

        team模式的工作模式与bond模式不同,有四种,分别是"broadcast"广播容错、"roundrobin"平衡轮询、"activebackup"主备和"loadbalance"负载均衡。在添加team模式时命令中的工作模式命令也不同,team模式的命令格式是'{"runner":{"name":"工作模式"}}',这点需要注意。

        测试时也是通过"ifconfig eth0 down",去掉一块网卡,可以看到网络依旧连通着。

聚合bond网卡是虚拟化网卡吗 网卡聚合模式_聚合bond网卡是虚拟化网卡吗_16

        team的删除方式与bond模式相同。

        这就是常用的两种网卡链路聚合模式,网卡链路聚合对企业的正常运行有很大的作用,可以根据不同的工作需要使用不同的工作模式。