因項目需要做——ubuntu16.04 雙網卡綁定
綁定,也稱為端口聚合或鏈路聚合,意味著將多個網絡接口(NIC)組合到單個鏈路,從而提供高可用性,負載平衡,最大吞吐量或這些組合。 詳情請參閱維基百科。
1、安裝
sudo apt-get install ifenslave
2、確保內核支持
在Ubuntu可以將網卡配置為NIC綁定之前,您需要確保存在正確的內核模塊綁定,並在引導時加載。
編輯你的/ etc / modules配置:
sudo vim /etc/modules
確保bonding模塊已加載
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
loop
lp
rtc
bonding
註意:從Ubuntu 9.04開始,如果您使用ifup / ifdown配置綁定,則此步驟是可選的。 在這種情況下,綁定界面被提起時,綁定模塊會自動加載。
3、配置網絡接口
確保您的網絡已關閉:
/etc/init.d/networking stop
然後加載綁定內核模塊:
sudo modprobe bonding
現在您已準備好配置您的NIC。
一般指導原則是:
1、選擇哪些可用的NIC將成為bond的一部分。
2、像往常一樣配置所有其他網卡
3、 配置所有綁定的NIC:
1、 要手動配置
2、加入指定的 bond-master
4、配置綁定網卡就好像它是一個正常的網卡
5、按如下所示向綁定NIC添加綁定特定參數。
編輯你的接口配置:
sudo vi /etc/network/interfaces
例如,要使用簡單的活動備份設置將eth0和eth1作為 active-backup 到bonding接口bond0,並將eth0作為主接口:
以太網綁定可以使用不同的模式。 您可以在/ etc / network / interfaces中指定您的綁定接口的模式。 例如:
bond-mode 1
bonding一共有7種工作模式
0:(balance-rr) Round-robin policy: (平衡輪詢策略):傳輸數據包順序是依次傳輸,直到最後一個傳輸完畢, 此模式提供負載平衡和容錯能力。
1:(active-backup) Active-backup policy:(活動備份策略):只有一個設備處於活動狀態。 一個宕掉另一個馬上由備份轉換為主設備。mac地址是外部可見得。 此模式提供了容錯能力。
2:(balance-xor) XOR policy:(平衡策略):傳輸根據[(源MAC地址xor目標MAC地址)mod 設備數量]的布爾值選擇傳輸設備。 此模式提供負載平衡和容錯能力。
3:(broadcast) Broadcast policy:(廣播策略):將所有數據包傳輸給所有設備。 此模式提供了容錯能力。
4:(802.3ad) IEEE 802.3ad Dynamic link aggregation. IEEE 802.3ad 動態鏈接聚合:創建共享相同的速度和雙工設置的聚合組。此模式提供了容錯能力。每個設備需要基於驅動的重新獲取速度和全雙工支持;如果使用交換機,交換機也需啟用 802.3ad 模式。
5:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡):通道綁定不需要專用的交換機支持。發出的流量根據當前負載分給每一個設備。由當前設備處理接收,如果接受的設備傳不通就用另一個設備接管當前設備正在處理的mac地址。
6:(balance-alb) Adaptive load balancing: (適配器負載均衡):包括mode5,由 ARP 協商完成接收的負載。bonding驅動程序截獲 ARP 在本地系統發送出的請求,用其中之一的硬件地址覆蓋從屬設備的原地址。就像是在服務器上不同的人使用不同的硬件地址一樣。
如果是多個bond?(經過測試,無需這一步也是可行)
如果是多個bond,如:
eth0 和 eth1 做一個bond0
eth1 和 eth2 做一個bond1
那麽需要將 /etc/modules 中的內容改為:
bonding mode=1 miimon=100 max_bonds=2
也就是在原有基礎上加一個 max_bonds=2 。
網卡配置部分與bond0 的相同,只不過將配置中的eth0和eth1改為 eth2和eth3.
完。
故障測試結果:
情況1:eth0 作為主,eth1作為備, eth0斷掉,會自動切換到eth1,如eth0恢復後,接線順序為:先拔掉eth1,再馬上插上eth0,接著將eth1接回去
測試環境配置文件:
root@node1:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33
iface ens33 inet manual
bond-master bond0
bond-primary ens33
auto ens34
iface ens34 inet manual
bond-master bond0
auto ens35
iface ens35 inet manual
bond-master bond1
bond-primary ens35
auto ens36
iface ens36 inet manual
bond-master bond1
auto bond0
iface bond0 inet static
address 192.168.89.160
gateway 192.168.89.2
netmask 255.255.255.0
bond-mode active-backup
bond-miimon 100
bond-slaves none
auto bond1
iface bond1 inet static
address 192.168.68.144
netmask 255.255.255.0
bond-mode active-backup
bond-miimon 100
bond-slaves none
因項目需要做——ubuntu16.04 雙網卡綁定