使用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