如何搭建bond0及遇到重启网卡失败后如何自动恢复连接

如何搭建bond0及遇到重启网卡失败后如何自动恢复连接Linux多网卡绑定网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。mode0下bond…

大家好,欢迎来到IT知识分享网。如何搭建bond0及遇到重启网卡失败后如何自动恢复连接

Linux 多网卡绑定

网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6

常用的有三种

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。
第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)

特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降

第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)

特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N
mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址
其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量
ls /sys/class/net 看网卡设备
cat /sys/class/net/bond0/bonding/mode 查看bond 模式
balance-alb 6

ls /sys/class/net

bond0 bond1 bonding_masters eth0 eth1 lo
直接删除bond0,会提示无权限。
可以通过bonding_masters文件删除bond设备:

cat bonding_masters

bond0 bond1
直接编辑bonding_masters文件会提示权限问题

echo -bond0 >/sys/class/net/bonding_masters

删除bond0

生产环境部署步骤
cd /etc/sysconfig/network-scripts
1.mv eth0 eth1 /tmp 移除网卡(具体看自己的网卡名称)
2.nmcli con add type bond ifname bond0 mode 6 #(balance-alb 6)
3.nmcli con add type bond-slave ifname eth0 master bond0 (捆绑网卡1)
4.nmcli con add type bond-slave ifname eth1 master bond0(捆绑网卡2)
5.vim ifcfg-bond-bond0 根据自己上网方式配置网络
把下边关于ipv6的删掉
[root@localhost network-scripts]# cat ifcfg-bond-bond0
DEVICE=bond0
BONDING_OPTS=mode=balance-alb
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=bond-bond0
UUID=30330f45-4c44-4c0f-81de-510586e9addb
ONBOOT=yes
IPADDR=192.168.43.216
GATEWAY=192.168.43.1
NETMASK=255.255.255.0
DNS1=192.168.43.1

systemctl restart network 重启网卡

注意下边要生成三个ifcfg-*

可以根据网卡更改后重启网卡之前写一个恢复脚本
用计划任务crontab

脚本
#/bin/bash
if [ -f /opt/文件名 ];then
Cd /etc/sysconfig/network-scripts/
Mv /etc/sysconfig/network-scripts/ifcfg-* /tmp
Mv /opt/ifcfg-* /etc/sysconfig/network-scripts/
Fi
systemctl restart network

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21350.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信