更新时间:2021-08-30 14:55:24
使用bond实现网卡聚合链路脚本:
[plain] view plain copy print?
#!/bin/bash
#创建一个名为bond0的链路接口
IP=192.168.101.1
GATE=192.168.101.254
ETH1=eno1
ETH2=eno2
ETH3=eno3
ETH4=eno4
modprobe bonding
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=static
USERCTL=no
ONBOOT=yes
IPADDR=$IP
PREFIX=24
GATEWAY=$GATE
BONDING_OPTS="mode=1 miimon=100"
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
TYPE=Bond
NAME=bond1
BONDING_MASTER=yes
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH2
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH2
ONBOOT=yes
MASTER=bond0
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH3
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH3
ONBOOT=yes
MASTER=bond1
SLAVE=yes
EOF
cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH4
TYPE=Ethernet
BOOTPROTO=none
DEVICE=$ETH4
ONBOOT=yes
MASTER=bond1
SLAVE=yes
EOF
systemctl restart network
ping $GATE -c 1
reboot
#!/bin/bash #创建一个名为bond0的链路接口 IP=192.168.101.1 GATE=192.168.101.254 ETH1=eno1 ETH2=eno2 ETH3=eno3 ETH4=eno4 modprobe bonding cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 TYPE=Bond NAME=bond0 BONDING_MASTER=yes BOOTPROTO=static USERCTL=no ONBOOT=yes IPADDR=$IP PREFIX=24 GATEWAY=$GATE BONDING_OPTS="mode=1 miimon=100" EOF cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-bond1 DEVICE=bond1 TYPE=Bond NAME=bond1 BONDING_MASTER=yes USERCTL=no BOOTPROTO=none ONBOOT=yes BONDING_OPTS="mode=1 miimon=100" EOF cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH1 TYPE=Ethernet BOOTPROTO=none DEVICE=$ETH1 ONBOOT=yes MASTER=bond0 SLAVE=yes EOF cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH2 TYPE=Ethernet BOOTPROTO=none DEVICE=$ETH2 ONBOOT=yes MASTER=bond0 SLAVE=yes EOF cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH3 TYPE=Ethernet BOOTPROTO=none DEVICE=$ETH3 ONBOOT=yes MASTER=bond1 SLAVE=yes EOF cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-$ETH4 TYPE=Ethernet BOOTPROTO=none DEVICE=$ETH4 ONBOOT=yes MASTER=bond1 SLAVE=yes EOF systemctl restart network ping $GATE -c 1 reboot
验证:
1.查看bond0状态:
[plain] view plain copy print?
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno2 #当前主接口
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eno2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:09
Slave queue ID: 0
Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:08
Slave queue ID: 0
[root@localhost ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eno2 #当前主接口 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eno2 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 2c:76:8a:51:d2:09 Slave queue ID: 0 Slave Interface: eno1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 2c:76:8a:51:d2:08 Slave queue ID: 0
2.测试,宕掉当前主接口,看是否切换
[plain] view plain copy print?
[root@localhost ~]# ifdown eno2
Device 'eno2' successfully disconnected.
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno1 #切换成功
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 2c:76:8a:51:d2:08
Slave queue ID: 0
[root@localhost ~]# ifdown eno2 Device 'eno2' successfully disconnected. [root@localhost ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eno1 #切换成功 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eno1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 2c:76:8a:51:d2:08 Slave queue ID: 0