linux nmcli源码,Linux上利用nmcli命令创建网络组(示例代码)

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

网络组不同于旧版中bonding技术,提供更好的性能和扩展性

网络组由内核驱动和teamd守护进程实现.

下面我们以CentOS7系统为环境,演示下如何在Linux系统上利用nmcli命令创建网络组

nmcli connection add con-name team0 type team ifname team0 config ‘{"runner":{"name":"activebackup"}}‘

创建ifcfg-team0配置文件

51e60a89157c8ee5b43d826ae440c737.png

nmcli connection modify team0 ipv4.addresses 10.1.56.56/16

为team0添加IP

520663cd81a286671704e3cfb248844d.png

修改ifcfg-team0配置文件中的BOOTPROTO=none

7c65899c2b3d17d7874955c05a709de9.png

nmcli connection add con-name team-port1 type team-slave ifname eno33554984 master team0

nmcli connection add con-name team-port2 type team-slave ifname eno50332208 master team0

创建port1和prot2接口

29533d70fd75b98209f28408a8acac44.png

查看port1和port2配置文件

503eba0a14ee1ef7bc31941c585cef04.png

nmcli connection up team0 启用team0并查看

bfa9c51362e88820d5d4963764f177b9.png

nmcli connection up team-port1 启用port1接口

nmcli connection up team-port2启用port2接口

并查看

4bedcc46ae10b409547bff491daee7e2.png

teamdctl team0 state 查看team0的详细信息和启用网卡情况

发现port1的eno33554984处于runner状态

72e8713416cf226f93ca6bc390920d13.png

ifconfig查看网卡,发现eno33554984和eno50332208没有IP地址

而team0拥有IP地址,这说明我们的配置是正确的,eno33554984和eno50332208服务于team0

dad63fadd1b271af9ff5cc39115a3432.png

模拟损坏port1,发现在丢失一定数量的数据包后网络恢复正常

1b608ee3536b03a4c83da46a33e2f095.png

teamdctl team0 state 查看team0的详细信息和启用网卡情况

发现之前的port1已经处于down状态,port2的eno50332208处于runner状态

34389b0b540acddfd98722bcfd8719ae.png

模拟port1和port2全部损坏

491e5a31bf1d0f8cccd1c6ed7549a516.png

在丢失一定数量的数据包后网络再次恢复正常

fce745ab7214c239136db003b3d5c637.png

这是因为在我们之前的IP配置时,默认设置的为global全局可用,所以当team0网络组的两的接口全部损坏时,系统的另一个网卡eno16777736自动接手网络工作,从而就实现了冗错机制。

f0e9cd935e726f63e203b9b7e9b5720a.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值