首頁 > 軟體

CentOS 6網絡卡bonding設定詳解

2020-06-16 16:52:12

網路介面Bonding

將多塊網絡卡系結至同一IP上,這在物理上是不可能實現的,因此需要虛擬出一個網絡卡,由它來提供服務,原本的物理網絡卡都統一修改為虛擬網絡卡的MAC,這種技術叫做Bonding,虛擬出來的網絡卡預設名依次為bond0,1...。Bonding可以實現高可用和負載均衡。

一、建立Bond

提前在虛擬機器中新增3塊網絡卡(個數自定義)

之後我們使用ifconfig命令檢視三塊網絡卡的狀態資訊,由於我在虛擬機器中開啟dhcp,所以是三塊網絡卡會有不同的IP,我們要重點的關注的是這三塊網絡卡的MAC,他們是不一樣。

其實bonding是由核心載入的模組提供的功能,為了確實能使用bonding,我們需要先檢視核心是否已經載入bonding模組,大部分都會預設開機載入。

接下來就正常的修改網絡卡的組態檔,不過稍微有點不同

建立/etc/sysconfig/network-scripts/ifcfg-eth1、ifcfg-eth2、ifcfg-eth3、ifcfg-bond0,這些檔案預設不會自己新增,因此需要我們手動新增;

編輯檔案ifcfg-bond0,說一下最後一行的引數:miimon是網絡卡間傳遞資料的間隔,mode是bonding的模式,bonding有7中工作模式;

編輯檔案ifcfg-eth1,2,3。三個網絡卡的內容類似,為了減少繁瑣的重複工作,自己編寫了指令碼自動設定三個網絡卡的組態檔。

#!/bin/bash

read -p "please input ethX " i    # 輸入要修改的網絡卡,只需輸入1、2、3數位即可

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth$i

DEVICE=eth$i

MASTER=bond0

SLAVE=yes

EOF

重新啟動網路服務,檢視結果

/etc/init.d/NetworkManager stop    # CentOS6建議將該服務關閉,很煩人。

/etc/init.d/network restart

可以看到那三塊網絡卡之前的IP都不見了,並且他們的MAC都和bond0的一樣。

二、修改Bond

只需要修改ifcfg-bond0的組態檔,這裡我將mode選項修改2,重新啟動網路服務之後,檢視結果

三、刪除Bond

關閉bond0,然後將他的組態檔ifcfg-bond0刪除,最後把bonding模組移除即可

ifdown bond0

rm -f /etc/sysconfig/network-scripts/ifcfg-bond0

rmmod bonding

重新啟動網路服務檢視結果

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-05/152280.htm


IT145.com E-mail:sddin#qq.com