簡介vim
鏈路聚合(Link Aggregation),是指將多個物理端口捆綁在一塊兒,成爲一個邏輯端口,以實現出/ 入流量在各成員端口中的負荷分擔,交換機根據用戶配置的端口負荷分擔策略決定報文從哪個成員端口發送到對端的交換機。當交換機檢測到其中一個成員端口的鏈路發生故障時,就中止在此端口上發送報文,並根據負荷分擔策略在剩下鏈路中從新計算報文發送的端口,故障端口恢復後再次從新計算報文發送端口。鏈路聚合在增長鏈路帶寬、實現鏈路傳輸彈性和冗餘等方面是一項很重要的技術。
若是聚合的每一個鏈路都遵循不一樣的物理路徑,則聚合鏈路也提供冗餘和容錯。經過聚合調制解調器鏈路或者數字線路,鏈路聚合可用於改善對公共網絡的訪問。鏈路聚合也可用於企業網絡,以便在吉比特以太網交換機之間構建多吉比特的主幹鏈路服務器
原理微信
邏輯鏈路的帶寬增長了大約(n-1)倍,這裏,n爲聚合的路數。另外,聚合後,可靠性大大提升,由於,n條鏈路中只要有一條能夠正常工做,則這個鏈路就能夠工做。除此以外,鏈路聚合能夠實現負載均衡。由於,經過鏈路聚合鏈接在一塊兒的兩個(或多個)交換機(或其餘網絡設備),經過內部控制,也能夠合理地將數據分配在被聚合鏈接的設備上,實現負載分擔。
由於通訊負載分佈在多個鏈路上,因此鏈路聚合有時稱爲負載平衡。可是負載平衡做爲一種數據中心技術,利用該技術能夠未來自客戶機的請求分佈到兩個或更多的服務器上。 聚合有時被稱爲反覆用或IMUX。若是多路複用是將多個低速信道合成爲一個單個的高速鏈路的聚合,那麼反覆用就是在多個鏈路上的數據「分散」。它容許以某種增量尺度配置分數帶寬,以知足帶寬要求。鏈路聚合也稱爲中繼。
按需帶寬或結合是指按須要添加線路以增長帶寬的能力。在該方案中,線路按帶寬的需求自動鏈接起來。聚合一般伴隨着ISDN鏈接。基本速率接口支持兩個64kbit/s的鏈路。一個可用於電話呼叫,而另外一個可同時用於數據鏈路。能夠結合這兩個鏈路以創建l28kbit/s的數據鏈路。
鏈路聚合有以下優勢:
一、增長網絡帶寬
鏈路聚合能夠將多個鏈路捆綁成爲一個邏輯鏈路,捆綁後的鏈路帶寬是每一個獨立鏈路的帶寬總和。
二、提升網絡鏈接的可靠性
鏈路聚合中的多個鏈路互爲備份,當有一條鏈路斷開,流量會自動在剩下鏈路間從新分配。
鏈路聚合的方式主要有如下兩種:
一、靜態Trunk
靜態Trunk將多個物理鏈路直接加入Trunk組,造成一條邏輯鏈路。
二、動態LACP
LACP(Link Aggregation Control Protocol,鏈路聚合控制協議)是一種實現鏈路動態匯聚的協議。LACP協議經過LACPDU(Link Aggregation Control Protocol Data Unit,鏈路聚合控制協議數據單元)與對端交互信息。
激活某端口的LACP協議後,該端口將經過發送LACPDU向對端通告本身的系統優先級、系統MAC地址、端口優先級和端口號。對端接收到這些信息後,將這些信息與本身的屬性比較,選擇可以聚合的端口,從而雙方能夠對端口加入或退出某個動態聚合組達成一致。
鏈路聚合每每用在兩個重要節點或繁忙節點之間,既能增長互聯帶寬,又提供了鏈接的可靠性。網絡
下面介紹一下如何配置Linux6/Centos6 的聚合鏈路負載均衡
一、新建一個網卡配置 ide
Linux6系統中的網卡名稱以eth0、eth1這樣的方式命名,咱們新建一個網卡,名稱叫作bond0,有了bond0以後,eth0和eth1網卡配置裏不要出現ip名稱,下面是操做過程rest
#vim/etc/sysconfig/network-scripts/ifcfg-bond0接口
DEVICE=bond0ip
ONBOOT=yesci
BOOTPROTO=none
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.1.3
NETMASK=255.255.255.0
2修改eth0的文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
3.修改eth1的文件
vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
USERCTL=no
二、加載bonding模塊
vi /etc/modprobe.d/bonding.conf 在文件的末尾加入
alias bond0 bonding
options bond0 mode=1 miimon=100
參數解釋:
miimon是用來進行鏈路監測的。好比:miimon=100,那麼系統每100ms監測一次鏈路鏈接狀態,若是有一條線路不通就轉入另外一條線路。
mode的值表示工做模式,經常使用的工做模式爲0,1兩種。
mode=0表示loadbalancing (round-robin)爲負載均衡方式,兩塊網卡都工做。
mode=1表示fault-tolerance(active-backup)提供冗餘功能,工做方式是主備的工做方式,也就是說默認狀況下只有一塊網卡工做,另外一塊作備份.bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。若是隻是交換機對外的鏈路down掉了,而交換機自己並無故障,那麼bonding會認爲鏈路沒有問題而繼續使用。
三、將bond0設置爲開機自動加載
編寫/etc/rc.d/rc.local
在倒數第2行,增長一句
ifenslave bond0 eth0 eth1
四、重啓網卡
執行命令/etc/init.d/network restart(或者service network restart)這兩條命令的意思同樣。如不行重啓動系統試試reboot或init 6。
五、驗證網卡綁定是否成功
輸入ifconfig,查看bond0,eth0,eth1三塊網卡的MAC地址是否同樣,若是一致,基本能夠肯定雙網卡綁定已生效。
而後,查看/proc/net/bonding/bond0文件,也能夠肯定網卡綁定是否成功。
若是對此文有什麼問題的話,請加下面微信一塊兒探討