bond

Linux如何配置bond

Q:什麼是BOND?

A:

  將多塊網卡虛擬成爲一塊網卡的技術,通過bond技術讓多塊網卡看起來是一個單獨的以太網接口設備並具有相同的ip地址。

 

Q:爲什麼要配置bond?

A:

  在linux下配置bond,通過網卡綁定技術既能增加服務器的可靠性,又增加了可用網絡寬帶,爲用戶提供不間斷的網絡服務。

 

原理:

  網卡工作在混雜(promisc)模式,接收到達網卡的所有數據包,tcpdump工作用的也是混雜模式(promisc),將兩塊網卡的 MAC地址修改爲相同接收特定MAC的數據幀,然後把相應的數據幀傳送給bond驅動程序進行處理。

 


  mode=1:在主備模式下,只有主網卡eth0工作,eth1作爲備份網卡是不工作的,只有當一個網絡接口失效時(例如交換機掉電等),爲了不會出現網絡中斷,系統會按照配置指定的網卡順序啓動工作,保證機器仍能對外服務,起到了失效保護功能。

  mode=0:在負載均衡模式下,兩塊網卡都工作,提供兩倍帶寬。


 

Q:如何配置BOND

A:配置bond的步驟

 

1、選擇2個自己需要的網口,查看有哪些網口

[root@studying ~]# ifconfig  -a

 

2、編輯網口的配置文件

[root@studying ~]# cd  /etc/sysconfig/network-scripts

[root@studying network-scripts]# ls  

以ifcfg-開頭

例如:eth0的配置文件名是 ifcfg-eth0

 

[root@studying network-scripts]# vim  ifcfg-eth0

[root@studying network-scripts]# cat  ifcfg-eth0

DEVICE=eth0               #網口名eth0

TYPE=Ethernet            #以太網接口

ONBOOT=yes              #LINUX在啓動時激活該網口

BOOTPROTO=none    #使用什麼協議激活網口

                                               none表示不使用任何協議

                                               static表示設置靜態IP

                                               dhcp表示動態獲取IP

MASTER=bond0         #指定虛擬網口的名字(主人

SLAVE=yes                  #備用(從設備

 

[root@studying network-scripts]# vim  ifcfg-eth1

[root@studying network-scripts]# cat  ifcfg-eth1

DEVICE=eth1               #網口名eth1

TYPE=Ethernet            #以太網接口

ONBOOT=yes              #LINUX在啓動時激活該網口

BOOTPROTO=none    #使用什麼協議激活網口

                                              none表示不使用任何協議

                                              static表示設置靜態IP

                                              dhcp表示動態獲取IP

MASTER=bond0         #指定虛擬網口的名字

SLAVE=yes                  #備用

備註eth0、eth1的MASTER(主人)是bond0,本身是屬於從設備作爲bond0的SLAVE(備用)

 

[root@studying network-scripts]# vim  ifcfg-bond0

[root@studying network-scripts]# cat  ifcfg-bond0

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=static

IPADDR=172.16.11.99

NETMASK=255.255.0.0

GATEWAY=172.16.1.1

 

3、配置bonding

[root@studying network-scripts]# vim  /etc/modprobe.d/dist.conf

末尾增加以下兩行

alias bond0 bonding

options bond0 miimon=100 mode=1

#miimon是用來進行鏈路監測的:miimon=100表示系統每100ms監測一次鏈路連接狀態,如果有一條線路不同就轉入另一條線路。

#mode=1表示屬於主備模式。

 

4、在/etc/rc.d/rc.local文件中加入如下語句,是系統啓動自動運行

ifenslave  bond0  eth0  eth1

#route  add  -net 172.16.0.0  netmask  255.255.0.0  bond0---如果有需要添加該路由

 

重啓網卡如果報bond0  不能連接:
service NetworkManager stop

chkconfig NetworkManager off



5、reboot重啓

 

6、如果查看當前哪個網口是主用網口

[root@studying ~]# cat  /proc/net/bonding/bond0

複製代碼

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1Permanent HW addr: 00:0c:29:9d:58:ae
Slave queue ID: 0Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0Permanent HW addr: 00:0c:29:9d:58:b8
Slave queue ID: 0

複製代碼

注意

  ①UUID是唯一的編號,每個網口唯一

  ②兩個配置文件中HWADDR不能一樣,可以不要,因爲會自動讀取

  ③網口切換後 ifconfig bond0查看到的MAC地址還是切換前的MAC地址-->爲了防止IP對應MAC地址混亂。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章