RH358配置鏈路聚合–管理網路組
本章節開始,介紹如何配置和管理鏈路聚合配置,此方面技術在實際作業中必備,特別在現各種高并發場景這么大量的時代,沒HA咋行?
專欄地址:https://blog.csdn.net/qq_41765918/category_11532281.html
文章目錄
- RH358配置鏈路聚合--管理網路組
- 1. 網路組組態檔
- 2. 設定和調整組配置
- 3. 網路組故障排除
- 4. 課本練習
- 1. 查看網路組狀態,
- 2. 按要求更改運行器,
- 3. 重新啟動team0連接,
- 4. 測驗,
- 完成實驗,
- 總結
1. 網路組組態檔
NetworkManager在/etc/sysconfig/network-scripts目錄中為網路組創建組態檔,這與它為其他介面創建組態檔的方式相同,它為每個介面創建組態檔;用于組介面和每個埠,
下面的組態檔定義了一個組介面,
-
DEVICETYPE變數的值決定了定義的介面型別,在本例中為網路團隊定義了Team,
-
組介面的組態檔定義介面的IP設定,
-
TEAM_CONFIG變數使用JSON語法定義組介面的組配置引數,
[root@host ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{ \"runner\": { \"name\": \"broadcast\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=172.25.5.100
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=f0813ead-3d0e-491e-89d6-2ec0fe616b68
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
下面的組態檔定義了一個埠介面,
-
DEVICETYPE變數通知初始化腳本這是一個埠介面,
-
TEAM_MASTER變數定義了該埠作為組介面的從屬埠,
[root@host ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0-ens4
NAME=team0-ens4
UUID=2f8a7ab3-e0ce-42d7-8357-20d90700f96f
DEVICE=ens4
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
2. 設定和調整組配置
在創建組介面時設定初始網路組配置,默認運行程式是roundrobin,但是如果您指定了一個team.runner值,那么該運行程式將被分配,如果沒有指定運行器引數,則使用它們的默認值,
nmcli con mod命令分配不同的運行器引數,使用team.config選項,可以是一個JSON字串(在簡單更改的情況下),也可以是一個具有更復雜JSON配置的檔案的名稱,nmcli命令更改組介面的初始化腳本檔案中TEAM_CONFIG變數的值,
nmcli con mod CONN_NAME team.config JSON-configuration-file-or-string
考慮下面的/tmp/team.conf檔案,它為activebackup組埠的介面分配了不同的優先級:

你可以使用下面的命令來應用/tmp/team.conf檔案中的設定:
[root@host ~]# nmcli con mod team0 team.config /tmp/team.conf
link_watch設定決定了如何監控埠介面的鏈路狀態,默認值如下所示,使用類似于ethtool命令的功能來確定各介面的鏈路狀態:
"link_watch": {
"name": "ethtool"
}
ARP ping報文還可以判斷遠程連接的鏈路狀態,在這種情況下,必須指定本地和遠端IP地址和超時時間,使用ARP ping報文確認鏈路可用性,示例如下:
"link_watch":{
"name": "arp_ping",
"interval": 100,
"missed_max": 30,
"source_host": "192.168.23.2",
"target_host": "192.168.23.1"
},
注意:如果沒有在JSON檔案中指定,選項將恢復為默認值,
teamd.conf (5)手冊頁提供了每個組配置選項的定義,它還提供了一些更復雜配置的JSON示例,
當與以組開頭的選項一起使用時,nmcli con mod命令還會修改組team. prefix選項,可以在命令列上使用選項卡補全來顯示可用選項的串列,
3. 網路組故障排除
使用teamnl和teamdctl命令排除網路組的故障,這些命令只在啟動的組介面上作業,下面的示例展示了這些命令的一些典型用法,
# 顯示team0組界面的埠界面:
[root@host ~]# teamnl team0 ports
4: eth2: up 4294967295Mbit FD
3: eth1: up 4294967295Mbit FD
# 顯示當前激活的埠team0:
[root@host ~]# teamnl team0 getoption activeport
4
# 更改team0的激活埠:
[root@host ~]# teamdctl team0 state item set runner.active_port eth1
# 顯示team0的當前狀態:
[root@host ~]# teamdctl team0 state
# 顯示team0的當前JSON配置:
[root@host ~]# teamdctl team0 config dump
{
"device": "team0",
"mcast_rejoin": {
"count": 1
},
"notify_peers": {
"count": 1
},
"ports": {
"eth1": {
"link_watch": {
"name": "ethtool"
}
},
"eth2": {
"link_watch": {
"name": "ethtool"
}
}
},
"runner": {
"name": "activebackup"
}
}
4. 課本練習
[student@workstation ~]$ lab netlink-teammgmt start
1. 查看網路組狀態,
[root@servera ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
eth1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
eth2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: eth1
2. 按要求更改運行器,
[root@servera ~]# nmcli con mod team0 team.runner roundrobin
3. 重新啟動team0連接,
[root@servera ~]# nmcli con down team0
[root@servera ~]# nmcli con up team0
4. 測驗,
通過使用ping生成流量并使用tcpdump監視埠介面來測驗roundrobin運行器,
[root@servera ~]# ping 192.168.0.254
[root@servera ~]# tcpdump -i eth1 icmp and src 192.168.0.254
[root@servera ~]# tcpdump -i eth2 icmp and src 192.168.0.254
完成實驗,
[student@workstation ~]$ lab netlink-teammgmt finish
總結
- 介紹網路組Team組態檔,
- 介紹了如何調整和設定配置,
- 常用命令輔助排錯,
- 若喜歡金魚哥的文章,順手點個贊,也可點個關注,因為后續會不斷上干貨,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384183.html
標籤:其他
