共計 3738 個字符,預計需要花費 10 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關 Linux 鏈路聚合的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
鏈路聚合是一個計算機網絡術語,指將多個物理端口匯聚在一起,形成一個邏輯端口,以實現出 / 入流量吞吐量在各成員端口的負荷分擔,
交換機根據用戶配置的端口負荷分擔策略決定網絡封包從那個成員端口發送到對端的交換機。當交換機檢測到其中一個成員端口的鏈路發
生故障時,就停止在此端口上發送封包,并根據負荷分擔策略在剩下的鏈路中重新計算報文的發送端口,故障端口恢復后再次擔任發送端
口。鏈路聚合在增加鏈路帶寬,實現鏈路傳輸彈性和工程冗余等方面是一項很重要的技術。
網卡的鏈路聚合一般常用的有 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 鏈路聚合的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!