為了提高網絡容錯或吞吐量,一般服務器都會采取多網卡綁定的策略,在RHEL6中使用的是Bonding,而RHEL7提供了一項新的實現技術Teaming,具體原理和對比列表大家可以參考擴展閱讀中的RedHat官方博客。配置Teaming有兩種方式,第一種是使用nmclii命令,第二種是直接修改配置文件,如果大家有更好的方法也歡迎分享。
實踐方法采取直接編輯ifcfg配置activebackup主備模式,其它方法原理類似比如 nmcli/nmtui
#查看LOWER_UP網卡,准備雙網卡teaming測試
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d5:f7:d4 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d8:04:70 brd ff:ff:ff:ff:ff:ff
#Creating a Network Team Using ifcfg Files
cd /etc/sysconfig/network-scripts/
vi ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.11.1
PREFIX=24
#GATEWAY=192.168.11.254
TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'
#做好備份繼續編輯需要綁定的網卡信息,調整prio優先級
vi ifcfg-eth0
DEVICE=eth0
#HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
vi ifcfg-eth1
DEVICE=eth1
#HWADDR=D4:85:64:01:46:9F
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 99}'
#重啟網絡
systemctl restart network
#檢查端口狀態
teamnl team0 ports
1: eth0: up 1000Mbit FD
2: eth1: up 1000Mbit FD
#檢查teaming狀態
teamdctl team0 state
setup:
runner: activebackup
ports:
eth0
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
eth1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: eth0
#手動斷開其中一條鏈路驗證主備模式切換是否正常
ip link set eth1 down
teamdctl team0 state
setup:
runner: activebackup
ports:
eth0
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
eth1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: eth1