您好,登錄后才能下訂單哦!
Linux之網絡管理(5)多網卡bond單IP-主備模式
Linux中使用單個網卡,設置了ip地址后對外對內進行訪問或者被訪問,在少量的數據量是沒有太多影響,但是一般虛擬主機或者服務器中只是單網卡,那么同時從網上接收海量數據就會帶來數據的隊列的永久,有可能造成網絡通道堵塞。因此,我們可以設置多個網卡綁定到同時使用 一個IP 地址,這樣,多個網卡就能將數據量分散處理,以此來減輕網絡數據的負載。
當然,直接給多個網卡同時設置IP地址是不能實現了,因此linux內核中的網絡模塊功能提供了一種網卡綁定機制。因為主機之間通過網卡通信最終是通過MAC地址來識別的,因此可以使用Bonding機制設置讓內核將多個網卡識別為同一個MAC地址,因此在網絡上收發數據就相當于多個通道一樣,分工協調,負載均衡。
Bonding的工作模式:
Mode 0 (balance-rr)
輪轉策略:從頭到尾順序的在每一個slave網卡上發送數據包。并提供負載均衡和容錯的能力。
Mode 1 (active-backup)
活動-備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的 slave接口識別時才會激活其它slave。為了避免交換機發送混亂此時綁定的MAC地址只有一個外部端口上可見。
Mode 3 (broadcast)
廣播策略:在所有slave接口上傳送所有的報文。本模式提供容錯能力。
Bonding的配置模板:
1、首先需要創建bonding設備的配置文件
在/etc/sysconfig/network-scripts/目錄下創建 ifcfg-bond0文件:
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=”miimon=100 mode=0”
2、設置需要綁定成綁定設備的自設備網卡
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
3、設置完配置文件后,需要重啟網絡服務才能生效
同時查看/proc/net/bonding/bond0文件以查看指定bond設備信息,bond0表示DEVICE=bond0的網定設備
實例測試,這里在redhat6.4上測試。
# 主機系統為redhat6.4
[root@meng ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago)
# 查看本機的網卡設備
# 這里顯示了有2個啟用的網絡設備,下面進行Bonding配置:
1、創建主綁定虛擬設備配置文件,這里設置為模式1,主備模式
2、修改2個網卡加入綁定成為子設備
綁定eth0
綁定eth2
3、重啟網絡服務
service network restart
4、查看網卡設備信息
ifconfig
解析:這時我們發現eth0和eth2已經沒有IP地址等信息,而bond0設備使用的則是eth0的mac地址,那么對外顯提供訪問,也是當作bond 為同一個網卡設備,但是現在實際上只是使用了 eth0,而 eth2只是處于備用狀態。
#下面查看bond0的使用狀態
cat /proc/net/binding/bond
解析:這里顯示了模式為主備模式,當前活動的網卡為eth0,而eth2卻沒有出現,而且子設備顯示為無?,是不是 eth0又有不使用了才會出現eth2?下面測試這個說法:
#下面拔掉eth0網卡,這里在vm 虛擬機使用,因此對對應的網絡適配器點斷開連接即可
#再次查看bond0綁定狀態
cat /proc/net/binding/bond0
解析:這里顯示好像出了問題,eth0已經變成了down狀態,那么應該是eth2頂上去當主要網路接口,但是這里顯示了主網卡設備為none,好像eth2雖然識別為bond設備,但是好像bond0并未識別到此設備。于是進行排錯和檢查。
#下面我們把eth2連接上,想重啟網卡服務檢查是否有網絡配置文件配置有誤
service network restart
解析:沒有明顯的錯誤,File exists可能是內核讀設備名重復,但不影響,這里 eth0可以被識別,而eth0 斷開時eth2沒有頂上去,那么可能就是eth2配置有問題。
#查看網卡配置文件
paste ifcfg-eth0 ifcfg-eth2
解析:這里發現了好像eth2里的SLAVE次要設置的變量名寫錯了,寫成了SALVE,下面修改 eth2的配置。
#修改eth2配置
#再次啟動network服務
/etc/init.d/network restart
#再次查看bond狀態
cat /proc/net/bonding/bond0
解析:因為剛才eth0被斷開了,所有現在當前活動顯示eth2網卡,bond0已經識別eth2成功。eth2的Status顯示up,而eth0顯示為down。
#下面將eth0連接,并將eth2斷開
解析:這里灰色表示已經斷開,那么eth0是啟用的,eth2被斷開
#再次查看bond0狀態
解析:這里當前子設備以及從eth2變成了eth0,eth0為up狀態,而eth2為down狀態。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。