網絡接口配置 -- bonding

一:實驗環境vim

①兩臺centos虛擬機,一臺作試驗機,一臺作測試機centos

②兩個網卡eth0、eth1網絡

二:實驗目的負載均衡

在生產環境中,當多名用戶同時訪問一個IP時將會增大網卡負荷和風險,這時咱們能夠經過將多塊網卡綁定同一IP地址對外提供服務,從而實現高可用和負載均衡ide

※三:經常使用Bonding工做模式:測試

Mode 0  ( balance-rr )輪轉模式centos7

輪轉(Round-robin)策略: 從頭至尾順序的在每個slave 接口上面發送數據包,當一個slave中止工做時,會出現丟包,但程序並不會死掉。本模式提供負載均衡和容錯的能力spa

Mode 1   (active-backup) 活動備份策略3d

工做模式: 只有一個slave被激活,當且僅當活動 的slave接口失敗時纔會激活其餘slave。爲了不交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見rest

Mode 3    (broadcast)          廣播策略              

工做模式:在全部的slave接口上傳送全部的報文,提供容錯能力

四:實驗步驟

方法一:配置文件法

①建立bond0設備的配置文件並寫入以下內容

vim /etc/sysconfig/network-scripts/ifcfg-bond1

 
 

DEVICE=bond0

BOOTPROTO=none

IPADDR=172.17.252.166 

BONDING_OPTS= 「miimon=100 mode=1」
知識點解釋: 
miimon=100   設置網卡間相互檢測對方狀態的間隔時間(ms),用來靈活的切換網卡。
mode=1  設置bond模式爲 active-backup

②修改網卡配置文件

在eth0與eth1配置文件中添加以下幾行:

SLAVE=yes         //設置爲奴隸USERCTL=no
MASTER=bond0      //指定主bond設備
USERCTL=no    //不容許非root用戶控制該設備

注意:

③重啓network服務,使配置文件生效

注意啦,若是重啓服務後沒有出現bond1的接口信息,且經反覆檢查後配置文件並無錯誤,請相信我,你的NetworkManager服務必定沒關,關閉它就行了

systemctl status NetworkManager   #查看服務狀態 
systemctl stop NetworkManager    #centos 7 中用此命令

④查看bond0的詳細狀態

cat  /proc/net/bonding/bond0

[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)  #輪尋模式
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:2e:e8:4e
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:2e:e8:58
Slave queue ID: 0

⑤測試環節

1.用centos6來ping centos7的bond0,如圖一,一切正常,沒有出現丟包現象

wKioL1mz19eCjcbyAAB8VT1Mfy4698.png-wh_50

圖一

2. 接下來讓咱們停用eth1網卡,來測試bond0是否出現丟包

wKiom1mz2F_QtsFpAABBxMaZgz4036.png-wh_50

圖二

由圖二可得,序號爲534的IICMP包丟失,但整體上來講,丟包率很低O(∩_∩)O,bond0穩定性仍是有目共睹的。

⑤取消綁定可採起下列步驟

1)ifconfig bond0 down

2)刪除ifcfg-bond0

3)恢復eth0和eth1配置文件到修改前狀態

4)刪除bondin模塊

     lsmod |grep bond 查看已有的模塊,發現模塊還沒刪除

     刪除綁定模塊:rmmod bonding

5)重啓網絡服務  service network restart

方法二:nmcli命令法

實驗準備:務必確保已開啓NetworkManager服務

(1)添加bonding接口mybond0,模式爲active-backup(MODE 1)

nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup

命令執行後,系統會自動生成ifcfg-mybond0文件

(2)添加從屬接口eth0與eth1

nmcli con add type bond-slave ifname eth0 master mybond0

nmcli con add type bond-slave ifname eth1 master mybond0

(3) 要啓動綁定,則必須首先啓動從屬接口

nmcli con up bond-slave-eth0

nmcli con up bond-slave-eth1

此時,系統會自動生成ifcfg-bond-slave-eth0,ifcfg-bond-slave-eth1兩個配置文件

(4)啓動綁定

nmcli con up mybond0

(5)取消綁定

nmcli con down mybond0


五:實驗總結

這次實驗難度不大,須要注意的細節就是NetworkManager這個服務的開啓狀態。其次,本菜鳥推薦你們在centos 7上儘可能使用方法二,雖然命令較長,但無需修改配置文件,這對於之後自動腳本的編寫仍是很是有用的。

相關文章
相關標籤/搜索