NMCLI(Network Manager Comand Line Tool):基于会话的网路管理
Teaming配置网卡聚合链路
Teaming技术:将同一台服务器上的多个物理网卡通过软件绑定为一个虚拟的网卡。即:对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序及服务器所在网络,这台服务器只有一个可以访问的IP地址。
使用Teaming技术,不但可以利用多网卡同时工作来提高网络速度以外,还可以通过Teaming实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。
Teaming与bonding的关系
bonding(网卡绑定)可以提高网络的冗余,提高网络速度。为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略,在RHEL5/RHEL6中使用的为bonding。
RHEL7提供了一项新技术Teaming来实现链路聚合的功能。但在RHEL7中不会使用Teaming替换bonding,这两者是并存的,可以选择Teaming也可选择bonding。
一、配置Teaming高可用
查看本地网卡情况:
[root@localhost ~]# nmcli device show
示例文件路径:
[root@localhost ~]# cd /usr/share/doc/teamd-1.17/example_configs/
[root@localhost example_configs]# ll
- braodcast:广播模式—传输来自所有端口的数据包;
- roundrobin:轮询模式–以轮询的方式传输所有端口的数据包;
- activebackup:主备模式–一个故障迁移程序,监控连接更改并选择活动的端口进行传输;
- loadbalance:负载均衡:监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美流量均衡;
实验环境:
RHEL7.2,添加两个网卡,共三个网卡。将其中两个网卡进行绑定测试。
创建team0设备team0会话:
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
查看创建的team0会话:
[root@localhost ~]# nmcli connection show
修改team0会话的IP地址、网关,并将IP地址的获取方式改为手动方式:
[root@localhost ~]# nmcli connection modify team0 ipv4.addresses 192.168.199.200/24 ipv4.gateway 192.168.199.128 ipv4.method manual
添加网卡设备到team0中:
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname eno33554992 master team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname eno50332216 master team0
激活从设备:
[root@localhost ~]# nmcli connection up team0-port1
[root@localhost ~]# nmcli connection up team0-port2
激活主设备:
[root@localhost ~]# nmcli connection up team0
查看激活后team0的状态:
[root@localhost ~]# teamdctl team0 state
使用未绑定的网卡与team0进行ping测试:
(此处SSH远程连接的网卡为未绑定的网卡)
停用team0-port1设备后进行ping测试:
[root@localhost ~]# nmcli connection down team0-port1
[root@localhost ~]# teamdctl team0 state
停用team0-port2设备后进行ping测试:
[root@localhost ~]# nmcli connection up team0-port1
[root@localhost ~]# nmcli connection down team0-port2
[root@localhost ~]# teamdctl team0 state
将team0-port1与team0-port2同时停用并进行ping测试:
[root@localhost ~]# nmcli connection down team0-port1
[root@localhost ~]# teamdctl team0 state
将两个从设备停用之后ping测试依旧正常的原因是应为未绑定的网卡与team0在同一网段,所以可以ping通。
二、配置软件桥接
创建一个软件桥接设备和会话:
[root@localhost ~]# nmcli connection add type bridge con-name br1 ifname br1
添加从设备和会话到桥接设备:
[root@localhost ~]# nmcli connection add type bridge-slave con-name br1-port1 ifname eno33554992 master br1
启动从设备会话:
[root@localhost ~]# nmcli connection up br1-port1
启动桥接会话:
[root@localhost ~]# nmcli connection up br1
配置软件桥接网卡的IP地址、网关及IP地址的获取方式:
[root@localhost ~]# nmcli connection modify br1 ipv4.addresses 192.168.199.210/24 ipv4.gateway 192.168.199.128 ipv4.method manual
三、配置桥接 team0
1:配置team0
配置方式同上。
配置完成后停用team0设备:
[root@localhost ~]# nmcli device disconnect team0
2:停用NetworkManager服务
[root@localhost ~]# systemctl stop NetworkManager.service
3:配置软件桥接br1的配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-br1
编辑team1的配置文件:
[root@localhost network-scripts]# vim ifcfg-team0
在配置文件的最后追加一下内容:
重启网络服务:
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# nmcli device connect team0
来源:CSDN
作者:冰镇阔落
链接:https://blog.csdn.net/qq_41625827/article/details/103464285