linux中雙網卡綁定bonding技術(Red Hat 8)


開心一刻

       學校請來區里的專家給學生上性知識講座,結果專家扯了一下午計划生育工作進展,最后為了增加趣味性捎帶提到女媧造人的傳說,他問道:誰知道女媧為什么要用黃土造人?
       台下無人響應,專家有點尷尬,就點了他面前的一個女生回答。
       女生小聲說:是不是她不知道怎么造人?
       專家啟發道:那她為什么不知道怎么造人呢?
       女生答:是不是因為聽了您的講座?

寫在前面

       最近在學linux課程,在VMware中使用redhat 8進行學習,學到上網卡綁定bonding技術,嘗試使用修改配置文件的方式進行配置,一直無法成功,后來使用圖形化界面配置成功,和我之前使用配置文件配置不成功的方法對比,記錄一下正確的配置文件配置方法,並記錄某些字段含義以便理解。

第一步:添加網卡

       虛擬機中添加網卡非常方便,只不過配置雙網卡綁定要讓兩塊網卡處於相同的模式下,我這里選擇的都是處於僅主機模式。處於相同模式的網卡設備才可以進行網卡綁定,否則兩塊網卡之間無法相互傳送數據。
       首先按照下圖添加網卡。
添加網卡
添加完成后修改新添加的網卡模式為僅主機模式。

第二步:網卡參數設置

       配置之前最好先用nmcli connection delete ens160命令刪除已經設置過得網卡配置信息(ens160是網卡的設備名稱,根據實際情況來寫),要不然配置成功后ifconfig查看信息時有塊“從屬”網卡仍然會有ip信息。真機建議先備份網卡配置信息再刪除。
       使用Vim編輯器來配置網卡設備的綁定參數。網卡配置信息在/etc/sysconfig/network-scripts下。

[root@localhost network-scripts]# vim ifcfg-ens160
TYPE=Ethernet # 必需,網卡類型,“從屬”網卡設置為以太網
BOOTPROTO=none # 非必需,啟動協議,可選dhcp、static、none等
NAME=ens160 # 非必需,但建議寫上,且和DEVICE字段保持一致,否則系統自動生成一個名稱,在使用 'nmcli connection up 設備名稱' 命令時就要用系統生成的名稱。系統生成的比較長,而且還有空格,可以用 'nmcli connection show' 查看。
DEVICE=ens160 # 必需,系統默認生成的名稱。
ONBOOT=yes # 非必需,但建議加上,此字段為開機是否自動連接,一般都是選擇自動連接。
MASTER=bond0 # 必需,設置“主”網卡
SLAVE=yes # 必需,設置該網卡是否為一個“從屬”網卡
[root@localhost network-scripts]# vim ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes
MASTER=bond0
SLAVE=yes

       設置好“從屬”網卡后,還需要將綁定后的設備命名為bond0並把IP地址等信息填寫進去,這樣當用戶訪問相應服務的時候,實際上就是由這兩塊網卡設備在共同提供服務。

[root@localhost network-scripts]# vim ifcfg-bond0
TYPE=Bond  # 必需,且要為Bond,redhat7中使用network服務管理時也可以設置為Ethernet,但是redhat8中已經取消了network,使用NetworkManager管理網絡服務。不過不管在redhat7還是8中,bond0最好TYPE都設置為Bond
BOOTPROTO=none
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.10.10
PREFIX=24
DNS=192.168.10.1  # 非必需
NM_CONTROLLED=yes # 非必需,但是不要設置為no,設置為no的意思是不讓NetworkManager管理,這樣話雙網卡設置是不會成功的。
BONDING_OPTS="downdelay=0 miimon=1 mode=balance-alb updelay=0" # 非必需,不寫就會使用系統默認。這里是設置Bonding的模式,Bonding有7種模式
BONDING_MASTER=yes # 非必需,明確說明這是一個“主”網卡。

第三步:讓linux內核支持網卡綁定技術。常見的網卡綁定驅動有三種模式--mode0、mode1和mode6.

  • mode0(平衡負載模式): 平時兩塊網卡均工作,且自動備援,但需要在與服務器本地網卡相連的交換機設備上進行端口聚合來支持綁定技術。
  • mode1(自動備援模式): 平時只有一塊網卡工作,在它故障后自動替換為另外的網卡。
  • mode6(平衡負載模式): 平時兩塊網卡均工作,且自動備援,無需交換機設備提供輔助支持。

       具體可參考七種網卡綁定模式詳解

       但是,特別說明:redhat7和8中已經不用單獨設置了,在配置文件中的 BONDING_OPTS 和 BONDING_MASTER 字段已經說明了。我也沒有寫配置方法

第四步:啟動虛擬網卡bond0

       在redhat8中,不需要重啟網絡服務而是重啟網卡即可使用。
       輸入一下命令即可。

nmcli connection reload
nmcli connection up bond0 # redhat8中重啟網卡的命令已經都集成到nmcli命令中嘍,不再是ifup、ifdown了

結語

       配置了大半天,終於配置了,使用配置文件心累呀,不過能學到知識還是好的。不過說實話能有圖形化界面,使用圖形化界面最好了,操作簡單,還能一次性成功。_

文中都是我個人的理解,如有錯誤的地方歡迎下方評論告訴我,我及時更正,大家共同進步


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM