網絡接口配置-bonding
Bonding就是 將多塊網卡綁定同一IP 地址對外提供服務,可以實現高
可用或者負載均衡。當然,直接給兩塊網卡設置同一IP 地址
是不可能的。通過bonding ,虛擬一塊網卡對外提供連接,
物理網卡的被修改為相同的MAC 地址。
Bonding 工作模式
1. Mode 0 (balance-rr)
輪轉(Round-robin )策略:從頭到尾順序的在每一個slave
接口上面發送數據包。本模式提供負載均衡和容錯的能力
2. Mode 1 (active-backup)
活動- 備份(主備)策略:只有 一個slave被激活,當且僅當活動
的slave 接口失敗時才會激活其他slave。 。 為了避免交換機發生混
亂此時綁定的MAC 地址只有一個外部端口上可見
3. Mode 3 (broadcast)
廣播策略:在 所有的slave 接口上傳送所有的 報文, 提供容錯能力
4. active-backup 、balance-tlb 和 和 balance-alb 模式不需要
交換機的任何特殊配置。其他綁定模式 需要配置 交換機以便
整合鏈接 。如:Cisco 式 交換機需要在模式 0 、2 和 和 3 中使用
EtherChannel ,但在 模式4中 中要 需要 LACP和 和 EtherChannel
Mode 1 (active-backup) 實驗
步驟一:添加兩臺主機,一臺centos7.3做測試,網卡模式為僅主機。一臺centos6.9做服務端,兩張網卡,為了能夠讓兩臺主機通訊,也設置成僅主機模式。
步驟二:為centos7.3設置僅主機模式
步驟三:設置centos6.9兩塊網卡為僅主機模式
步驟四:配置centos6.9主機的模式1
- cd /etc/sysconfig/network-scripts/目錄,新建一個ifcfg-bond0網卡,配置如下:
- 分別配置網卡ifcfg-eth0和ifcfg-eth1
步驟四:設置完成后,重啟服務:service network restart
步驟五:測試網絡是否通ping 192.168.100.100
步驟六:斷開其中一塊網卡eth0,查看網絡是否通。
網絡正常
步驟七:查看bond0狀態:/proc/net/bonding/bond0
三塊網絡的MAC一致
步驟八:刪除bond0 ,先停止服務,再刪除。
ifconfig bond0 down
rmmod bonding
Mode 3 (broadcast) 實驗
步驟一:模式1和模式3基本上是一樣,只需要把bond0中的1改成3即可,其他設置我就不一一列出了。
步驟二:重啟服務:service network restart
步驟三:測試網絡連通性ping 192.16.100.100
DUP說明有重復包,即有兩塊網卡同時工作。斷開其中一塊網卡,DUP就不會出現。
步驟三:查看bond0的狀態:/proc/net/bonding/bond0
步驟四:查看網卡信息
ip地址只工作在bond0接口上
步驟五:刪除bond0 ,先停止服務,再刪除,刪除后再重啟網絡服務,即可恢復。
ifconfig bond0 down
rmmod bonding
service network restart
注意:在做實驗的過程中,記得要關閉防火墻和網絡管理工具,否則bond無法獲取IP地址
#iptables -F
#serviec NetworkManager stop (centos 6)
#systemcl stop NetworkManager (centos 7)
bond0的配置說明:
miimon 是用來進行鏈路監測的。如果miimon=100 ,那
么系統每100ms 監測一次鏈路連接狀態,如果有一條線
路不通就轉入另一條線路
bonding的一些參考資料:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt
nmcli 實驗:實現bonding
步驟一:添加bonding 接口 并配置ip地址
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
nmcli con modify bond0 ipv4.method manual ipv4.address 192.168.100.100/24
步驟二:添加從屬接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0
注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構成
步驟三:要啟動綁定,則必須首先啟動從屬接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
步驟四:啟動綁定
nmcli con up bond0
步驟五:查看bond0狀態
cat /proc/net/bonding/bond0
步驟五:刪除bond0
nmcli connection down bond0
rm -rf ifcfg-bond*
nmcli connection reload