本文共 4522 字,大约阅读时间需要 15 分钟。
使用bond实现网卡聚合链路脚本:
[plain]
#!/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.1GATE=192.168.101.254ETH1=eno1ETH2=eno2ETH3=eno3ETH4=eno4modprobe bondingcat </etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0TYPE=BondNAME=bond0BONDING_MASTER=yesBOOTPROTO=staticUSERCTL=noONBOOT=yesIPADDR=$IPPREFIX=24GATEWAY=$GATEBONDING_OPTS="mode=1 miimon=100"EOFcat < /etc/sysconfig/network-scripts/ifcfg-bond1DEVICE=bond1TYPE=BondNAME=bond1BONDING_MASTER=yesUSERCTL=noBOOTPROTO=noneONBOOT=yesBONDING_OPTS="mode=1 miimon=100"EOFcat < /etc/sysconfig/network-scripts/ifcfg-$ETH1TYPE=EthernetBOOTPROTO=noneDEVICE=$ETH1ONBOOT=yesMASTER=bond0SLAVE=yesEOFcat < /etc/sysconfig/network-scripts/ifcfg-$ETH2TYPE=EthernetBOOTPROTO=noneDEVICE=$ETH2ONBOOT=yesMASTER=bond0SLAVE=yesEOFcat < /etc/sysconfig/network-scripts/ifcfg-$ETH3TYPE=EthernetBOOTPROTO=noneDEVICE=$ETH3ONBOOT=yesMASTER=bond1SLAVE=yesEOFcat < /etc/sysconfig/network-scripts/ifcfg-$ETH4TYPE=EthernetBOOTPROTO=noneDEVICE=$ETH4ONBOOT=yesMASTER=bond1SLAVE=yesEOFsystemctl restart networkping $GATE -c 1reboot
验证:
1.查看bond0状态:
[plain]
[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/bond0Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eno2 #当前主接口MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eno2MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 2c:76:8a:51:d2:09Slave queue ID: 0Slave Interface: eno1MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 2c:76:8a:51:d2:08Slave queue ID: 02.测试,宕掉当前主接口,看是否切换
[plain]
[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 eno2Device 'eno2' successfully disconnected.[root@localhost ~]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eno1 #切换成功MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eno1MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 2c:76:8a:51:d2:08Slave queue ID: 0