1. 程式人生 > 實用技巧 >team

team

鏈路聚合(聚合鏈路 網絡卡繫結)
多張網絡卡繫結在一起(至少兩張),虛擬出一個網絡卡team0與外部通訊。
作用:提高網絡卡裝置的可靠性,提供冗餘,解決網絡卡的單點故障。

構建思路:
eth1,eth2,team0組成一個隊,只在team0上配置IP,eth1,eth2上
不配置地址。eth1和eth2是team0的slave成員,team0每5秒檢測一次
自己的slave是否存在,如果其中一個slave故障,team0會把資料包轉給
另外一個slave成員,同時tema0會每2秒向故障的slave傳送hello包,

檢測故障網絡卡是否已恢復。故障網絡卡恢復時不會進行搶佔,只有其它的
slave故障時它才會再次接收轉發資料任務。

建立虛擬網絡卡的格式:
# nmcli connection 新增 型別 team 配置檔名 team0 網絡卡名 team0
每次開機自動啟用 鏈路聚合管理方式為 熱備份方式

新增slave成員的格式:
# nmcli connection 新增 型別 team-成員 配置檔名 team0-1 網絡卡名
eth1 主裝置為 team0

1.建立虛擬網絡卡team0

[root@server0 ~]# nmcli connection add type team con-name team0 
ifname team0 autoconnect yes config '{"runner": {"name": "activebackup"}}'
                                      #要建立聚合鏈路這裡的type用team,常用的型別還有ethernet和bridge
                                      #con-name team0 虛擬網絡卡配置檔名字是team0
                                      #ifname team0 建立的虛擬網絡卡名稱是team0
                                      #autoconnect yes 開機自動啟動
                                      #config 
'{"runner": {"name": "activebackup"}}' 定義team工作模式為activebackup #工作模式的內容較長不容易記憶,可以檢視man幫助 man teamd.conf 全文搜尋/example

[root@server0 ~]# ifconfig #檢視生成的虛擬網絡卡team0
#生成配置檔案位置:/etc/sysconfig/network-scripts/
#目錄下檔名稱為ifcfg-tema0

2.新增slave成員team0-1和team0-2

[root@server0 ~]# nmcli connection add type team-slave con-name  team0-1 
 ifname eth1 autoconnect yes master team0 
                                     #要新增的是slave成員所以type的型別是team-slave
                                     #ifname eth1需把網絡卡名稱為eth1的裝置新增成slave
                                     #con-name  team0-1記錄eth1身份的配置檔名team0-1 
                                     #autoconnect yes 開機自啟動
                                     #master team0,eth1裝置的master是team0

[root@server0 ~]# nmcli connection add type team-slave con-name team0-2 ifname eth2 autoconnect yes master team0 
#生成配置檔案位置:/etc/sysconfig/network-scripts/

3.為tema0配置IP地址

[root@server0 ~]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.1/24 connection.autoconnect yes

4 啟用地址

[root@server0 ~]# nmcli connection up  team0 
[root@server0 ~]# nmcli connection up  team0-1 
[root@server0 ~]# nmcli connection up  team0-2


如果無法啟用,刪除所有配置重新來過

[root@server0 ~]# nmcli connection delete team0
[root@server0 ~]# nmcli connection delete team0-1
[root@server0 ~]# nmcli connection delete team0-2

5 檢視tema0的狀態

[root@server0 ~]# teamdctl team0  state
setup:
  runner: activebackup                #工作模式是activebackup
ports:
  eth1
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up                      #eth1當前為up狀態
  eth2
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up                      #eth2當前為up狀態
runner:
  active port: eth2                   #當前活躍裝置為eth2

[root@server0 ~]# ifconfig eth2 down  #禁用eth2網絡卡,檢視自動切換的狀態
[root@server0 ~]# teamdctl team0 state