一、链路聚合(Link Aggregation)简介
链路聚合(英语:Link Aggregation)是一种网络技术,将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担。网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。
二、bond模式
1. 七种模式介绍:
- mode=0(balance-rr)(平衡抡循环策略)
- mode=1(active-backup)(主-备份策略)
- mode=2(balance-xor)(平衡策略)
- mode=3(broadcast)(广播策略)
- mode=4(802.3ad)(IEEE 802.3ad 动态链接聚合)
- mode=5(balance-tlb)(适配器传输负载均衡)
- mode=6(balance-alb)(适配器适应性负载均衡)
各模式信息,可以查看链接非常详细:https://blog.51cto.com/linuxnote/1680315
2. 如何查看目前网卡的名称和状态?
答:使用`nmcli device status`命令。
3. 如何创建bond0口?
答:使用`nmcli connection add type bond con-name bond0 ifname bond0`命令。
4. 如何将接口ens33、ens37加到bond0里去?
答:使用`nmcli connection add type bond-slave ifname ens33 master bond0 nmcli connection add type bond-slave ifname ens37 master bond0`命令。
5. 如何静态配置bond0口地址、网关?
答:使用`nmcli connection modify bond0 ipv4.addresses '192.168.10.200/24'ipv4.gateway '192.168.10.2' nmcli connection modify bond0 ipv4.method manual`命令。
6. 如何启动?
答:使用`start`命令,例如:`start network`。
请根据提供的内容完成内容重构,并保持段落结构:
一、网络连接
1. 启动bond0网络连接:`nmcli connection up bond0`
2. 验证bond0网络连接:`ip addr show bond0` 和 `ip route`
3. 测试断开一块网卡,可以看到切换时会丢失几个包后网络依旧连通着。
二、team
1. 查看网卡的连接信息:`nmcli connnection show`
2. 创建team,名称为team0
按照下面的语法,用 nmcli 命令为网络组接口创建一个连接。
```
# nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 指代连接的名称,INAME 是接口名称,JSON (JavaScript Object Notation) 指定所使用的处理器(runner)。JSON语法格式如下:
'{"runner":{"name":"METHOD"}}'
METHOD 是以下的其中一个:broadcast、activebackup、roundrobin、loadbalance 或者 lacp。
最常见的双网卡绑定模式: (1) roundrobin - 轮询模式 所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力。 (2) activebackup - 主备模式 一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。
这里我们创建“roundrobin”为例
```
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"roundrobin"}}'
```
3. 设置team0的ip、gateway、dns
```
nmcli con modify team0 ipv4.address '192.168.10.188/24' ipv4.gateway '192.168.10.2'
nmcli con modify team0 ipv4.dns 114.114.114.114
```
4. 设置team的属性为manual
以下是重构后的内容:
通过nmcli创建roundrobin的网络team:
1. 查看当前网络连接情况
nmcli con show
2. 删除team0
nmcli con delete team0
3. 添加网卡ens33、ens37到team0中
nmcli con add type team-slave con-name team0-port1 ifname ens33 master team0nmcli con add type team-slave con-name team0-port1 ifname ens37 master team0
4. 启动team0
nmcli con up team0
5. 查看team0状态
teamdctl team0 state view
6. 测试是否正常工作