Linux 網卡 team配置


網卡 team配置

一、介紹

  • 網絡組將多個網卡聚合在一起,從而實現冗錯和提高吞吐量
  • 網絡組不同於舊版中bonding技術,提供更好的性能和擴展性
  • 網絡組由內核驅動和teamd守護進程實現.

啟動網絡組接口不會自動啟動網絡組中的port接口
1)啟動網絡組接口中的port接口總會自動啟動網絡組接口
2)禁用網絡組接口會自動禁用網絡組中的port接口
3)沒有port接口的網絡組接口可以啟動靜態IP連接
4)啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入

runner 方式:

1.roundrobin 【mode 0】輪轉策略 (balance-rr)

特點:

1)從頭到尾順序的在每一個slave接口上面發送數據包,輪詢方式往每條鏈路發送報文,基於per packet方式發送。服務上ping 一個相同地址:1.1.1.1 雙網卡的兩個網卡都有流量發出。負載到兩條鏈路上,說明是基於per packet方式 ,進行輪詢發送。

2)提供負載均衡和容錯的能力,當有鏈路出問題,會把流量切換到正常的鏈路上。

交換機端需要配置聚合口

2.activebackup【mode 1】活動-備份(主備)策略

特點:

一個端口處於主狀態 ,一個處於從狀態,所有流量都在主鏈路上處理,從鏈路不會有任何流量。當主端口down掉時,從端口接手主狀態。

不需要交換機端支持

3.loadbalance【mode 2】限定流量

特點:

該模式將限定流量,以保證到達特定對端的流量總是從同一個接口上發出。既然目的地是通過MAC地址來決定的,因此該模式在“本地”網絡配置下可以工作得很好。

如果所有流量是通過單個路由器(比如 “網關”型網絡配置,只有一個網關時,源和目標mac都固定了,那么這個算法算出的線路就一直是同一條,那么這種模式就沒有多少意義了。),那該模式就不是最好的選擇。

和balance-rr一樣,交換機端口需要能配置為“port channel”。這模式是通過源和目標mac做hash因子來做xor算法來選路的。

交換機端需要配置聚合口

4.broadcast【mode 3】廣播策略

特點:

這種模式一個報文會復制兩份往bond下的兩個接口分別發送出去,當有對端交換機失效,我們感覺不到任何downtime,但此法過於浪費資源;不過這種模式有很好的容錯機制。

此模式適用於金融行業,因為他們需要高可靠性的網絡,不允許出現任何問題

適用於拓撲,兩個接口分別接入兩台交換機,並且屬於不同的vlan,當一邊的網絡出現故障不會影響服務器另一邊接入的網絡正常工作。而且故障過程是0丟包

特點:

802.3ad模式是IEEE標准,因此所有實現了802.3ad的對端都可以很好的互操作。802.3ad 協議包括聚合的自動配置,因此只需要很少的對交換機的手動配置(要指出的是,只有某些設備才能使用802.3ad)。802.3ad標准也要求幀按順序(一定程度上)傳遞,因此通常單個連接不會看到包的亂序。

缺點:

標准要求所有設備在聚合操作時,要在同樣的速率和雙工模式,而且,和除了balance-rr模式外的其它bonding負載均衡模式一樣,任何連接都不能使用多於一個接口的帶寬。 此外,linux bonding的802.3ad實現通過對端來分發流量(通過MAC地址的XOR值),因此在“網關”型配置下,所有外出(Outgoing)流量將使用同一個設備。進入(Incoming)的流量也可能在同一個設備上終止,這依賴於對端802.3ad實現里的均衡策略。在“本地”型配置下,路兩將通過 bond里的設備進行分發。

應用拓撲同mode 0,和mode 2一樣,不過這種模式除了配置port channel之外還要在port channel聚合口下開啟LACP功能,成功協商后,兩端可以正常通信。否則不能使用。

二、 創建網絡組team接口

語法: nmcli con add type team con-name CNAME ifname INAME [config JSON]

解釋:CNAME 連接名, INAME 接口名 JSON 指定runner方式

格式: '{"runner": {"name": "METHOD"}}'

METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp

准備環境:centos7系統 2塊網卡:相同僅主機工作環境 (以下為ens33\ens37網卡名稱)

nmcli connection add type team con-name team0 ifname team0 config
 {"runner":{"name":"activebackup"}} ipv4.method manual ipv4.addresses 192.168.32.100/24 connection.autoconnect yes

三、創建port接口

語法:nmcli connection add type team-slave con-name CNAME ifname INAME masterTEAM

解釋:CNAME 連接名 INAME 網絡接口名(team0-ens33、team0-ens37) TEAM 網絡組接口名(team0)

注意:連接名若不指定,默認為team-slave-IFACE

nmcli connection add con-name team0-ens33 type team-slave ifname ens33 master team0
# 把 ens33網卡創建為 team0網絡組的子接口
nmcli connection add con-name team0-ens37 type team-slave ifname ens37 master team0
# 把 ens37 網卡創建為 team0網絡組的子接口

四、啟用team0下創建的兩個子接口

nmcli connection up team0-ens33
nmcli connection up team0-ens37

五、刪除網絡組team

語法: 1、nmcli connection down team0

2、teamdctl team0 state (查看當前網絡組team主網卡 和熱備網卡哪個在工作)

3、nmcli connection delete team0-ens33 / nmcli connection delete team0-ens37

4、nmcli connection show (查看網絡組 刪除后就看不到了)

六、也可以:全手動配置team雙網卡:

vi /etc/sysconfig/network-scripts/team

DEVICE=“team”
DEVICETYPE=“Team”
ONBOOT=“yes”
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=ip
GATEWAY=網關
TEAM_CONFIG=’{“runner”: {“name”: “activebackup”}}’

vim /etc/sysconfig/network-scripts/ifcfg-em1 # 編輯文件ifcfg- em1

DEVICE="em1“
DEVICETYPE=“TeamPort”
ONBOOT=“yes”
TEAM_MASTER=“team”

vim /etc/sysconfig/network-scripts/ifcfg-em2 # 編輯文件ifcfg- em2

DEVICE=“em2”
DEVICETYPE=“TeamPort”
ONBOOT=“yes”
TEAM_MASTER=“team”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM