前言:
Teaming 技術:可以把同一臺服務器上的多個物理網卡綁定成一個虛擬的網卡,利用Teaming 技術,可以提高網絡速度、實現不同網卡之間的負載(Load balancing)和網卡冗餘(Fault tolerance);
與bonding的關係
在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一項新的實現技術Teaming,用來實現鏈路聚合的功能,但在RHEL7中,不會使用teaming替換bonding,它們是並存的,我們可以選擇Teaming,也可以選擇Bonding。
teaming 技術有多種模式(runner)
1)、broadcast(廣播):數據通過所有端口傳輸,即複製一份數據向兩塊網卡發出
2)、roundrobin(輪詢):輪詢模式,所有鏈路處於負載均衡狀態,這種模式的特點增加了帶寬,同時支持容錯能力(使用時會有自動丟包情況)。
3)、activebackup(主備):類似於bonding技術的bond1模式,只有主鏈路在工作,當主鏈路斷開後備鏈路會接替,接替過程會有兩個包的延遲(丟包)
4)、loadbalance(負載均衡):具有活動的Tx負載平衡和基於BPF的Tx端口選擇器(使用時會有自動丟包情況)
5)、lacp (implements the 802.3ad Link Aggregation Control、Protocol):類似於bonding技術的bond4模式,需要交換機支持802.3ad(LACP)協議
下面使用以下兩個網卡進行綁定:
1、創建一個名爲team0的網絡端口,模式爲activebackup(主備模式)
[root@localhost ~]# nmcli connection add con-name "team0" type team ifname team0 config '{"runner":{"name":"activebackup"}}'
2、修改team0網口的IP地址,網關和DNS
[root@localhost ~]# nmcli connection modify team0 ipv4.addresses "192.168.10.100/24" ipv4.dns "8.8.8.8,114.114.114.114" connection.autoconnect yes ipv4.method manual
[root@localhost ~]# echo "GATEWAY0=192.168.10.1" >> /etc/sysconfig/network-scripts/ifcfg-team0
//創建team0後會在/etc/sysconfig/network-scripts/目錄下生成ifcfg-team0的文件
3、將名爲eno33554968網卡添加到team0,並且改名爲eth1
[root@localhost ~]# nmcli connection add con-name eth1 ifname eno33554968 type team-slave master team0
4、將名爲eno50332192網卡添加到team0,並且改名爲eth2
[root@localhost ~]# nmcli connection add con-name eth2 ifname eno50332192 type team-slave master team0
5、啓動team0並且重啓網絡服務
[root@localhost ~]# nmcli connection up team0 ; systemctl restart network
6、查看team0的狀態
[root@localhost ~]# teamdctl team0 state
=========================================================================================
7、在activebackup(主備)模式下如某個網口斷掉會丟兩個包,當接口恢復也會丟兩個包
[root@localhost ~]# nmcli connection down eth1 //關閉網口
[root@localhost ~]# nmcli connection up eth1 //啓用網口
8、最後如想恢復按順序將其刪除,然後重新加載即可
[root@localhost ~]# nmcli connection delete eth1
[root@localhost ~]# nmcli connection delete eth2
[root@localhost ~]# nmcli connection delete team0
[root@localhost ~]# nmcli connection reload
參考: