您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux鏈路聚合的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
鏈路聚合是一個計算機網絡術語,指將多個物理端口匯聚在一起,形成一個邏輯端口,以實現出/入流量吞吐量在各成員端口的負荷分擔,
交換機根據用戶配置的端口負荷分擔策略決定網絡封包從那個成員端口發送到對端的交換機。當交換機檢測到其中一個成員端口的鏈路發
生故障時,就停止在此端口上發送封包,并根據負荷分擔策略在剩下的鏈路中重新計算報文的發送端口,故障端口恢復后再次擔任發送端
口。鏈路聚合在增加鏈路帶寬,實現鏈路傳輸彈性和工程冗余等方面是一項很重要的技術。
網卡的鏈路聚合一般常用的有"bond"(網絡綁定)和"team"(網絡成組)倆種模式:
"bond"模式主要在RHEL6上使用
"Team"模式是RHEL7上實現鏈路聚合的技術
"bond"模式最多可以添加倆快網卡。
"bond"模式不支持負債均衡。
"bond"模式不支持ipv6。
"bond"模式不支持hash加密。
"team"模式最多可以添加八塊網卡。
"team"模式支持負載均衡。
"team"模式支持ipv6。
"team"模式支持hash加密。
bond2team命令:將綁定配置文件轉換為網絡成組配置文件。
"team"(網絡成組守護進程)
team的安裝:
yum install reamd
"team"模式支持的工作模式:
active-backup:主備
loadbalance:負載均衡
broadcast:廣播容錯
roundrobin:平衡倫叫
使用NetworkManager守護進程控制成組的端口接口時,特別是發現錯誤時,請記住以下要點;
1、啟動主接口不會自動啟動端口接口
2、啟動端口接口總是會啟動主接口
3、停止主接口總是會停止端口接口
4、沒有端口的主機可啟動靜態IP連接
5、沒有端口的主機在啟動DHCP連接時會等待端口
6、添加附帶載波的端口后,使用DHCP連接的主機會等待端口完成連接
7、添加不附帶載波的端口后,使用DHCP連接的主機會讓端口繼續等待
使用命令行配置"team"范例:
1.nmcli connection show (查看系統中可用的連接) [root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE enp4s0f3 22c02942-97bc-4e91-9fbd-ba81ade73091 ethernet enp4s0f3 virbr0 84d56169-90a1-40d6-8ed8-c48ea30e3349 bridge virbr0 enp4s0f0 65bde539-1c28-45cc-abb1-0ea9ddbe28f4 ethernet -- enp4s0f1 bdf86b0b-9c32-443f-a40e-5bad91ffb632 ethernet -- enp4s0f2 1be55c68-9659-4041-a20e-d08dbc64cac8 ethernet -- [root@localhost ~]# 2.創建team接口: nmcli connection add type team ifname team接口名稱 [root@localhost ~]# nmcli connection add type team ifname team-ServerA 連接“team-team-ServerA”(dc7d9c0f-dd25-4444-a5d6-c963ade56b78) 已成功添加。 [root@localhost ~]# NetworkManager會將配置寫入/etc/sysconfig/network-scripts/ifcfg-team-team-ServerA文件中,并將onboot設定為yes ,bootproto設定為dhcp。 可使用nmcli connnection show team接口名稱 命令查看接口信息 [root@localhost ~]# nmcli connection show team-team-ServerA connection.id: team-team-ServerA connection.uuid: dc7d9c0f-dd25-4444-a5d6-c963ade56b78 connection.stable-id: -- connection.type: team connection.interface-name: team-ServerA connection.autoconnect: 是 connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.auth-retries: -1 connection.timestamp: 0 connection.read-only: 否 ..... 更改team接口名稱: nmcli con mod old-team-name connection.id new-team-name 為team接口導入配置文件: nmcli connection modify team-name team.config JSON-config
cd
3.將enp4s0f0,enp4s0f1添加到team接口team-team-ServerA中:
nmcli con add type team-slave con-name 從team接口名稱 ifname 網卡設備名稱 master 主team接口名稱 [root@localhost ~]# nmcli con add type team-slave con-name team-slave1 ifname enp4s0f0 master team-team-ServerA 連接“team-slave1”(31848a23-7071-4fc3-abc2-7e423ba3e181) 已成功添加。 [root@localhost ~]# nmcli con add type team-slave con-name team-slave2 ifname enp4s0f1 master team-team-ServerA 連接“team-slave2”(ab23f7fe-916d-4597-9d54-b68d532a3413) 已成功添加。 [root@localhost ~]#
4.要啟用網絡成組,必須先激活這些端口
[root@localhost ~]# nmcli connection up team-slave1 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/11) [root@localhost ~]# nmcli connection up team-slave2 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/12) [root@localhost ~]# [root@localhost ~]# nmcli connection up team-team-ServerA Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13) cd[root@localhost ~]#
使用配置文件創建team接口:
在/etc/sysconfig/network-scripts/目錄下創建一個配置文件,內容如下:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.1
PREFIX=24
TEAM_CONFIG='{"runner":{"name":"activebackup"},"link_watch":{"name":"ethtool"}}'
這樣就創建了team主接口 要創建屬于team成員的端口,請在/etc/sysconfig/network-scripts/目錄下創建一個或多個配置文件,內容如下: DEVICE=xxx HWADDR=xxxx DEVICETYPE=TeamPort ONBOOT=yes TEAM_MASTER=team0 TEAM_PORT_CONFIG='{"prio": 100}' prio用于指定優先權,該數值取值范圍在-32767到+32767之間,如不指定則默認為0。
關于“Linux鏈路聚合的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。