一,背景需求
我們在實施虛擬化或者超融合的時候,部署的linux業務虛擬機,因業務需求,需要對幾個網卡做綁定。有些工程師可能不光從事安全工作,也從事主機存儲配置類的工作,那么配置網卡聚合的情況就會更多。大多數工程師對Linux不熟悉,尤其是做一些復雜的配置。我以前剛開始接觸Linux,遇到配置網卡聚合的情況也會慌,網上找了不少教程,大多數內容長的都一樣,俗稱復制粘貼,沒有參考意義。后面我系統性學習了Linux,編寫了很多實用性腳本,借此機會分享下Linux下配置網卡聚合的腳本。
二,技術介紹
Linux網卡聚合和交換機聚合類似,都需要雙邊來共同協商,協商不一致,則無法正常工作。Linux網卡聚合有7種模式
服務器bond模式
交換機聚合模式
mode0 (balance-rr)Round-robin
on
mode1 (active-backup)Active-backup
無需配置
mode2 (balance-xor)XOR
無需配置
mode3 (broadcast)
無需配置
mode4 (802.3ad)IEEE 802.3ad Dynamic link aggregation
active
mode5 (balance-tlb)Adaptive transmit load balancing
無需配置
mode6 (balance-alb)Adaptive load balancing
無需配置
我們常用的配置就三種,
1,mode0,輪詢模式,交換機需要靜態模式或者手工模式。
2,mode1,主備模式,交換機無需配置。
3,mode4,LACP模式,交換機也需要配置為LACP。這個模式用得比較多,可以增加鏈路帶寬,負載均衡。
在現行的Linux發行版中,配置網卡聚合的程序?.NET-tools和networkManager,即大家經常叫的bond綁定和team綁定在6系列中,只支持net-tools,即bond,在7系列中支持兩種模式,8系列中,默認支持team模式。我在物理服務器和虛擬機上測試了多次,兩種配置模式性能無差別。有些客戶要求安裝完Linux要禁用NetworkManager 服務,所以只能使用bond來做聚合。
我根據不同的版本,不同的系統環境適配了不同的配置模式。
此腳本只支持centos 6.x/7.x/8.x RedHat 6.x/7.x/8.x。
三,準備工作
下載此腳本,上傳到需要配置的操作系統下。如果網口較充足,建議使用臨時IP,用工具上傳并ssh進行操作,否則使用優盤等上傳到操作系統中進行配置。
四,使用方法
腳本使用Linux shell 進行編寫,全自動,全交互,使用方便簡單。考慮到不同的終端和操作系統語言的復雜性,我適配了中文和英文。如果腳本亂碼,則選擇英文即可。

腳本可選擇使用bond模式和team模式來進行綁定

選擇相應的模式之后,會列出當前主機所有網卡、IP、以及網關

輸入要配置的網卡序號,序號之間用空格隔開,回車之后輸入bond名稱,此處bond名稱與bond模式無關,但是為了方便分辨,建議bond模式和bond名稱統一。

接下來腳本會提示輸入聚合口的IP,掩碼、網關、DNS信息,所有信息一目了然。

所有信息填寫無誤,回車之后,會提示選擇bond綁定模式,大家根據自己的情況選擇相應的模式

選擇模式之后,腳本會進行進一步的配置

配置結果

如何獲取腳本文件?因平臺因素,不能發鏈接,私聊我一下即可,私信回復。






