1.什么是网卡聚合
ip<------>网卡,如何保证ip与网卡的一一对应关系永远是好的? 对于客户来说只需要知道ip通不通,如果网卡坏了,即使ip地址是正确的,也不能上网 对于运维人员来说,需要保证网卡时刻正常工作 但一块网卡可能会坏掉,因为将多个网卡捆绑在一起,当一块网卡损坏了,其他的网卡还可以正常工作 可以有效的防止因为网卡损坏带来的损失,同时也提高网络的访问速度 实验:将eth0网卡和eth1网卡链路聚合 网卡链路聚合一般常用的方法有bond和team方式,bond最多可以添加两块网卡,team最多可以添加八块网卡。
实验
手动删除,server虚拟机之前的虚拟网卡,并重新配置两个新的虚拟网卡
可见已经将之前的网卡删除
新加两块网卡,成功,再用nmcli connection show查看当前有无网络配置
nmcli这个命令使用时,必须开启NetworkManager服务
bond聚合
Red Hat Enterprise Linux 允许管理员使用bonding内核模块合成为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道 根据选择的绑定模式,通道绑定使两个或多个网络接口作为一个网络接口,从而增加带宽/提供冗余性 利用nmcli命令
bond聚合的两种模式:
轮询聚合mode0(balance-rr):提高效率(两块网卡同时工作),第一个包走eth0,第二个包走eth1
主备聚合:提高安全性 冗余性高(有后备网卡)((一个网卡工作,另一个网卡待命,工作的网卡坏了就上去顶替,一般不会出现两块网卡都坏了的情况)缺点:链路;利用率低,两块网卡只有一块工作,
添加bond聚合的接口
nmcli connection add con-name=bond0 ifname=bond0 type bond mode active-backup ip4 172.25.254.115/==24== 24必须写否则默认就为32位子网掩码,就会出现ping不通的情况
此时已经设置好bond了,这时尝试取ping一下同网段ip,发现并不能ping通
为什么不能ping通?是因为我们没有添加两块聚合网卡,bond徒有其名,而没有实际的设备
添加两块网卡
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0 nmcli connection show查看聚合网卡是否添加成功
此时,再次ping172.25.254.15
可以ping通了。
==监控网卡的工作状态
watch -n 1 'cat /proc/net/bonding/bond0
active-backup主备聚合方式 eth0工作的时候eth1备着,当eth0坏掉(关掉)eth1就会顶替eth0来工作,然后修复eth0,eth0好了就备着,等待eth1坏了就顶替。
让eth0关闭,然后发现eth1接替eth0的工作,网络依然可以ping通。
再次开启eth0,关闭eth1,发现eth0又接替eth1继续工作
可以看出,采用聚合方式当网卡坏了,客户端不会有任何的问题
team聚合
team的种类
broadcast | 广播容错 |
---|---|
roundrobin | 平衡轮叫 |
activebackup | 主备 |
loadbalance | 负载均衡 |
通过nmcli设定 team比bond好的点: bond:轮流,接替工作 team:轮流,接替,负载均衡(谁空闲就给谁)
步骤一: 删除之前的bond聚合
步骤二: 添加team聚合接口
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activeback"}}' ip4 172.25.254.115/24
team0接口已经创建成功,但是此时也不能ping通,因为还没有添加聚合网卡
步骤三: 添加聚合网卡
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
步骤四:
watch -n 1 ‘teamdctl team0 stat’
主要看runner:正在工作的端口是eth0
关闭eth0,eth1工作。
开启eth0,关闭eth1,eth0工作
这就是网卡的链路聚合bond和team。