RHEL6.4 bonding 技術學習




何爲bonding?

將多塊網卡虛擬成爲一塊網卡,使其具有相同的ip地址,來實現提升主機的網絡吞吐量或者是提高可用性,這種技術被稱作bonding。


Bonding的原理:在正常情況下,網卡只接收目的硬件地址(MAC Address)是自身MAC的以太網幀,過濾別的數據幀,以減輕驅動程序的負擔;但是網卡也支持另外一種被稱爲混雜promisc的模式,可以接收網絡上所有的幀,bonding就運行在這種模式下,而且修改了驅動程序中的mac地址,將兩塊網卡的MAC地址改成相同,可以接收特定MAC的數據幀。然後把相應的數據幀傳送給bond驅動程序處理。


下面簡單介紹下實驗環境


rhel6.4 操作系統 實驗要求是兩塊網絡提供冗餘/熱備。


實驗開始


1:編輯該配置文件 vi/etc/modprobe.d/dist.conf

   加入以下參數

   alias bond0 bonding


2:創建bonding網絡配置文件

   vi/etc/sysconfig/network-scripts/ifcfg-bond0

   DEVICE=bond0

   BOOTPROTO=static/dhcp

   TYPE=Ethernet

   ONBOOT=yes

   IPADDR= 根據實際情況配置

   NETMASK=

   GATEWAY=

   BONDING_OPTS="mode=1 miimon=200" 該參數也可 步驟 1 中進行添加。步驟 1 爲:

       alias bond0 bonding

       options bond0 mode=1 miimon=100

wKioL1P0HZbDhYuaAACvxNghm-k088.jpg


3:編輯實際網卡配置文件

   vi/etc/sysconfig/network-scripts/ifcfg-eth0

   DEVICE=eth0

   BOOTPROTO=none

   ONBOOT=yes

   MASTER=bond0

   SLAVE=yes

wKioL1P0Hcyz4Zq9AACcJD8YLoE683.jpg



4:編輯實際網卡配置文件

   vi /etc/sysconfig/network-scripts/ifcfg-eth1

   DEVICE=eth1

   BOOTPROTO=none

   ONBOOT=yes

   MASTER=bond0

   SLAVE=yes

wKioL1P0HfezZ3xaAACIP3YW1nM981.jpg

        


安裝以上配置完成後,重啓網絡服務即可。

/etc/init.d/network restart

ifconfig -a  進行查看

wKioL1P0HRfDTZnEAAKE_3DDB1k464.jpg



cat /proc/net/bonding/bond0

wKioL1P0HlnQuitBAAE-Azr22xA138.jpg


如上圖,現在兩塊網卡 都是 UP狀態。

測試結果

拔下一根網線

wKiom1P0InSijbOkAAGHp_Wngoc180.jpg



eth0 down掉了

ping 依然正常

wKiom1P0IrnDu_XdAAKfDv335K4321.jpg


丟包處,拔掉網線,網卡切換時造成。

現在 還原,拔掉另外一個網線

wKioL1P0JI2Dqag2AAGES8-YHLY072.jpg


eth1 down掉了

ping 依然正常                                      

wKioL1P0JfzDENk4AAKfDv335K4241.jpg

                


現在來講解下詳細的配置文件參數


MASTER:

MASTER=<bond-interface>

bond-interface的值是以太網卡連接到的通道綁定接口的名稱,如:bond0、bond1

master這個指令與 SLAVE 指令配合使用。


SLAVE:

SLAVE=yes/no

yes : 表示此設備可以由MASTER 指令中配置的通道綁定接口進行控制。

no  :  表示此設備不能由 MASTER 指令中配置的通道綁定接口進行控制。


Bonding工作模式

 

bonding的模式一共有7種:

即 mode=0/1

round-robin(balance-rr)  0       負載均衡及冗餘模式

active-backup            1       冗餘模式

balance-xor              2       需要交換機支持

broadcast                3       廣播模式

ieee802.3ad              4       動態鏈路聚合模式,需要交換機支持

mode-tlb                 5       自適應模式

mode-alb                 6       網卡虛擬化方式


miimon=100ms 

miimon是用來進行鏈路監測的,其原理是檢測網上的鏈路狀態,一般將miimon值設爲100,表示系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路。


以上幾種模式只是給大家做一個簡單的介紹,一般來說最常用的事 0 和 1 兩種模式。還有就是,模式0只是實現了簡單的負載均衡及冗餘。如果要實現高效的負載均衡,提高網絡流量,需設置成模式4,而這需要交換機的支持,牽涉到交換機的鏈路聚合(LACP)功能。



最後再補充一條命令,可以動態查看雙網卡切換的動作。

tail -f /var/log/message



                        


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