bond的主备模式_生产环境中linux bonding 主备模式slave网卡切换的方法

linux bonding 主备模式slave网卡切换的方法

我们有时候做演练或测试,测试bonding slave网卡切换,或者疑是因为一块网卡有问题,想切换到另外一块slave网卡,通常情况下,我们可能

采用ifdown eth0或ifconfig eth0 down的方法来切换到另外一块网卡,但是这种方法在

生产环境中可能出现网络及系统告警或者可能丢包,也可能也存在一些风险。

面介绍一种方法,不需要ifdown网卡就能切换,比较适合于在生产环境中正在提供业务的linux服务器,比如出现了丢包,或者有闪断、网络慢或者日志

有网络报错,怀疑是此网卡硬件或固件有问题,想切换到另外一块slave网卡,而又不想断网出现监控系统告警,业务中断等对业务高可用要求比较高的情况。

# ifenslave -c bond0 eth1将一个物理接口eth1作为active接口

不建议# ifenslave -d bond0 eth0   //从bond0中删除掉eth0

如下所示(适用于主备模式)

[root@redhat ~]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)

Primary Slave: None

Currently Active Slave: eth0

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:5a:9d:28

Slave queue ID: 0

Slave Interface: eth1

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:5a:9d:32

Slave queue ID: 0

[root@redhat ~]# ifenslave -c bond0 eth1

[root@redhat ~]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)

Primary Slave: None

Currently Active Slave: eth1

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:5a:9d:28

Slave queue ID: 0

Slave Interface: eth1

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:5a:9d:32

Slave queue ID: 0

[root@redhat ~]#

整个过程没有出现丢包,断网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 步骤1:编辑/etc/network/interfaces文件,添加以下内容:auto bond0 iface bond0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 bond-slaves eth0 eth1 bond-mode balance-xor bond-miimon 100 bond-downdelay 200 bond-updelay 200步骤2:重新启动网络:sudo /etc/init.d/networking restart ### 回答2: 网络绑定(bonding)是在Linux将多个物理网卡绑定成为一个逻辑接口的过程,以提高网络的可靠性和性能。在进行网络绑定时,我们需要编写一个脚本来配置网络绑定。 以下是一个简单的Linux网卡绑定脚本: ```bash #!/bin/bash # 网络绑定接口名称 BOND_IFACE=bond0 # 物理网口列表 PHYSICAL_INTERFACES=(eth0 eth1) # 配置网络绑定模式 BOND_MODE=active-backup # 载入bonding内核模块 modprobe bonding mode=${BOND_MODE} # 创建网络绑定接口 ifconfig ${BOND_IFACE} down ifenslave -d ${BOND_IFACE} ${PHYSICAL_INTERFACES[*]} ifconfig ${BOND_IFACE} up # 配置网络绑定属性 echo "+${BOND_MODE}" > /sys/class/net/${BOND_IFACE}/bonding/mode echo "miimon=100" > /sys/class/net/${BOND_IFACE}/bonding/miimon echo "updelay=200" > /sys/class/net/${BOND_IFACE}/bonding/updelay echo "downdelay=200" > /sys/class/net/${BOND_IFACE}/bonding/downdelay echo "fail_over_mac=active" > /sys/class/net/${BOND_IFACE}/bonding/fail_over_mac # 激活网络绑定接口 ifconfig ${BOND_IFACE} ${BOND_IP} netmask ${BOND_NETMASK} ``` 在这个脚本,我们首先指定了网卡绑定接口的名称`BOND_IFACE`,然后将要绑定的物理网口列表`PHYSICAL_INTERFACES`设定为`eth0`和`eth1`。接下来,我们设置绑定模式为`active-backup`。然后,我们使用`modprobe`命令载入`bonding`内核模块。 接下来,我们关闭网卡绑定接口,释放已经绑定的物理网口并重新启用网卡绑定接口。然后,我们通过`echo`命令将网络绑定的模式、属性以及其他相关配置写入相关的文件。 最后,我们通过`ifconfig`命令激活网络绑定接口并分配IP地址。 使用这个脚本,我们可以方便地配置Linux机的网络绑定,并根据实际需求进行自定义设置。 ### 回答3: 以下是一个简单的Linux网卡bonding脚本示例: #!/bin/bash # 检查脚本是否以root权限运行 if [[ $EUID -ne 0 ]]; then echo "请使用root权限运行该脚本" exit 1 fi # 设置网卡名称 interface1="eth0" interface2="eth1" bond_interface="bond0" # 安装ifenslave命令 apt-get install ifenslave -y # 加载Bonding内核模块 modprobe bonding # 创建bond0接口配置文件 echo -e "DEVICE=$bond_interface TYPE=Bond IPADDR=192.168.1.100 NETMASK=255.255.255.0" > /etc/sysconfig/network-scripts/ifcfg-$bond_interface # 启用ARP请求代理 echo 1 > /proc/sys/net/ipv4/conf/$bond_interface/proxy_arp # 添加两个子接口到bond0 echo -e "MASTER=$bond_interface SLAVE=yes" > /etc/sysconfig/network-scripts/ifcfg-$interface1 echo -e "MASTER=$bond_interface SLAVE=yes" > /etc/sysconfig/network-scripts/ifcfg-$interface2 # 设置bond0的工作模式为负载平衡(L4) echo -e "BONDING_OPTS=\"mode=4 miimon=100\"" >> /etc/sysconfig/network-scripts/ifcfg-$bond_interface # 重启网络服务 systemctl restart network echo "网卡bonding脚本执行完毕。" 以上脚本的功能是创建一个名为bond0的网卡接口,并且将eth0和eth1两个接口绑定到bond0上。其bond0的IP地址设置为192.168.1.100,子网掩码为255.255.255.0。脚本会自动安装ifenslave工具和加载bonding内核模块,然后创建相关的网卡配置文件,配置bond0的工作模式为负载平衡(L4)。 重启网络服务后,系统将使用bond0接口进行网络通信。请根据实际情况修改脚本的接口名称和IP地址等参数,然后执行脚本即可实现网卡bonding

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值