網絡組(Network Teaming)

網絡組(Network Teaming)
網絡組:是將多個網卡聚合在一起的方法,從而實現容錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式runner
    broadcast
    roundrobin
    activebackup
    loadbalance
    lacp (implements the 802.3ad Link Aggregation Control Protocol)
啟動team連接不會自動啟動網絡組中的team-slave連接
啟動網絡組中的team-slave連接不會自動啟動team連接
禁用team連接會自動禁用網絡組中的team-slave連接
沒有team-slave連接的team連接可以啟動靜態IP連接

啟用DHCP連接時,沒有team-slave連接的網絡組會等待team-slave連接的加入

創建team連接
nmcli con add type team [config <file>|<raw JSON data>] ifname <interface name> [con-name <connection name>]
    JSON格式指定runner方式:'{"runner": {"name": "METHOD"}}'
        METHOD := { broadcast|roundrobin|activebackup|loadbalance|lacp }

創建team-slave連接
nmcli con add type team-slave master <master (ifname, or connection UUID or name)> [config <file>|<raw JSON data>] ifname <interface name> [con-name <connection name>]
連接名<connection name>若不指定,默認為team-slave-ifname

管理網絡組配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0-ens37
NAME=team0-ens37
UUID=80ea99c9-8d37-4a57-907f-1d5f7b3d420b
DEVICE=ens37
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

刪除網絡組配置:
teamdctl team0 state
nmcli connection show
nmcli connection down team0
nmcli connection delete team0-ens37
nmcli connection delete team0-ens38
nmcli connection delete team0
重新為網卡設備配置新的配置文件,以重用該網卡。
nmcli c add type ethernet ipv4.method manual ipv4.addresses 172.18.38.107/16 ipv4.gateway 172.18.0.1 ipv4.dns 8.8.8.8 ifname ens37 con-name ens37

實驗:創建網絡組
實驗環境:CentOS7,三塊網卡,其中額外一塊ens33網卡的IPADDR=172.18.38.102,PREFIX=16,GATEWAY=172.18.0.1,配置過程中ssh不斷網,方便操作。ens37和ens38兩塊網卡用作配置網絡組。
#要想執行nmcli命令,先啟動NetworkManager 服務:
systemctl start  NetworkManager
#查看網卡設備信息

ip link

網絡組(Network Teaming)
網絡組(Network Teaming)
#若即將配置為網絡組的網卡設備有IP,先清除之
ip a flush ens37
ip a flush ens38
網絡組(Network Teaming)
#添加連接:(type)類型team,(config)配置為活動-備用模式,(ifname) 設備名team0,(con-name)連接名team0
nmcli connection add type team config ‘{“runner”: {“name”: “activebackup”}}’ ifname team0 con-name team0
網絡組(Network Teaming)
#修改連接team0:(ipv4.method)配置手段為手動,ipv4.address,ipv4.gateway
nmcli connection modify team0 ipv4.method manual ipv4.addresses 172.18.38.103/16 ipv4.gateway 172.18.0.1
#如果此后再要修改team0的配置,必須先執行nmcli c down team0,再執行nmcli c up team0,修改才能生效。
#添加team-slave連接:(type)類型team-slave,(master)主設備名,(ifname)設備名必須對應網卡名,(con-name)連接名隨意起,缺省為team-slave-<ifname>
nmcli connection add type team-slave master team0 ifname ens37 con-name team0-ens37
nmcli connection add type team-slave master team0 ifname ens38 con-name team0-ens38
網絡組(Network Teaming)
#查看網絡組狀態
teamdctl team0 state
網絡組(Network Teaming)
#另外,執行nmcli c add命令時/etc/sysconfig/network-scripts目錄下會自動生成ifcfg-team0等網卡配置文件,所以即便重啟機器配置也不會丟失
網絡組(Network Teaming)
#配置完成后的最終狀態:
網絡組(Network Teaming)
網絡組(Network Teaming)
網絡組(Network Teaming)
網絡組(Network Teaming)


#驗證
#從內部通過team0的IP ping網關
ping -I 172.18.38.103 172.18.0.1
網絡組(Network Teaming)
#從外部(另一臺主機)ping team0 的IP地址
ping -I 172.18.38.102 172.18.38.7
網絡組(Network Teaming)
#設備斷開ens37,可查看狀態,活動slave接口變為ens38
nmcli dev disconnect ens37
teamdctl team0 state
網絡組(Network Teaming)
nmcli dev connect ens37     #連上ens37設備,此時不會自動切換slave活動接口,仍為ens38
teamdctl team0 stat     #題外話:這里ens37的down count并未加1,可能因為使用nmcli命令,它認為是管理性的操作,不計入故障。
網絡組(Network Teaming)
ip link set ens38 down     #再用ip link命令(和nmcli dev命令同樣工作在鏈路層)停用ens38設備,此時slave活動接口變為ens37
teamdctl team0 stat     #這里ens38的down count加1,說明它察覺到故障,自動切換接口到ens37上
網絡組(Network Teaming)
當然,也可以手動拔掉網線來驗證
整個驗證過程中ping一直有響應,說明網絡組工作正常。


#演示team連接與team-slave連接的關系
nmcli connection down team0     #停用網絡組team連接,會自動停用team-slave連接
nmcli c
nmcli connection up team0     #啟用網絡組team連接,并不會自動啟動啟用team-slave連接
nmcli c
nmcli connection up team0-ens37
nmcli c
nmcli connection up team0-ens38
nmcli c
teamdctl team0 state     #down count 計數歸零
網絡組(Network Teaming)


#移除網絡組
teamdctl team0 stat
nmcli c
nmcli c down team0
nmcli c del team0
nmcli c del team0-ens37
nmcli c del team0-ens38
#必要情況下重新為ens37和ens38網卡設備配置新的配置文件,以重用該網卡。
nmcli c add type ethernet ipv4.method manual ipv4.addresses 172.18.38.107/16 ipv4.gateway 172.18.0.1 ipv4.dns 8.8.8.8 ifname ens37 con-name ens37
網絡組(Network Teaming)

原創文章,作者:Leion,如若轉載,請注明出處:http://www.www58058.com/71856

(1)
LeionLeion
上一篇 2017-03-26 22:14
下一篇 2017-03-26 22:17

相關推薦

  • Linux中的文本處理工具—sed

    sed 處理文本工具 一、概述   Stream EDitor,行編輯器    sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文…

    Linux干貨 2016-08-10
  • 從Linux小白到大牛——與狼共舞的日子4

    馬哥教育網絡班21期+第4周課程練習 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -a /etc/skel/ /home/tuser1/ [root@localhost&n…

    Linux干貨 2016-08-02
  • Linux文件查找命令

      Linux系統文件查找     使用linux系統難免會忘記文件所在的位置,可以使用以下命令對系統中的文件進行搜索。 locate命令:     locate命令其實是“find -name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫(/var/lib/locatedb),這個數據庫中含有本地所有文件信息。L…

    Linux干貨 2016-11-28
  • 內核編譯安裝

    編譯內核前期準備工作 (1)準備好開發環境 (2)獲取目標主機航硬件設備的相關信息 (3)獲取目標主機系統功能的相關信息 (4)獲取內核源代碼包     可以從www.kernel.com上下載 (5)安裝好需要使用的包組     Server Platform&nbs…

    Linux干貨 2016-09-13
  • iptables練習

    iptables練習 一、COMMAND 1、列出所有鏈的規則:iptables -L ,顯示某條鏈的規則就是iptables -L INPUT 詳細信息:iptables -vnL 2、清楚所有鏈的規則 :iptables -F 3、設置默認規則策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , ipta…

    Linux干貨 2016-12-20
  • Centos6搭建vsftpd手冊

    1、開啟防火墻ftp端口vi /etc/sysconfig/iptables     #編輯防火墻配置文件 1 -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT(允許21端口通過防火墻) 2 -A INPUT -m st…

    Linux干貨 2017-04-26
欧美性久久久久