轉載:https://blog.51cto.com/9280078/1845678
下面介紹一些簡單的概念:
1>. Bonding
就是將多塊網卡綁定同一IP 地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP 地址是不可能的。通過bonding ,虛擬一塊網卡對外提供連接,
物理網卡的被修改為相同的MAC 地址。
2>. Bonding 的工作模式
Mode 0 (balance-rr)
輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1 (active-backup)
活動- 備份(主備)策略:在綁定中,只有一個slave 被激活。當且僅當活動的slave 接失敗時才會激活其他slave 。為了避免交換機發生混亂此時綁定的MAC 地址只有一個外部端口上可見
Mode 3 (broadcast)
廣播策略:在所有的slave 接口上傳送所有的報文。本模式提供容錯能力。
我們以centos6.8,將兩塊網卡設置Mode1模式
1>. 將兩塊網卡設置為綁定到一塊虛擬的網卡上,這種功能可能會受到NetworkManager服務的影響, 上來首先關閉NetworkManager服務,並且關閉開機自啟。
[root@centos6 network-scripts]# service NetworkManager stop
Stopping NetworkManager daemon: [ OK ]
[root@centos6 network-scripts]# chkconfig NetworkManager off
2>. 查看當前系統的ip配置
[root@centos6 network-scripts]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:B3:32:CC inet addr:192.168.203.138 Bcast:192.168.203.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:feb3:32cc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10486 errors:0 dropped:0 overruns:0 frame:0 TX packets:2862 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:869044 (848.6 KiB) TX bytes:417850 (408.0 KiB) eth1 Link encap:Ethernet HWaddr 00:0C:29:B3:32:D6 inet addr:192.168.203.131 Bcast:192.168.203.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:feb3:32d6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8660 errors:0 dropped:0 overruns:0 frame:0 TX packets:686 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:675217 (659.3 KiB) TX bytes:101974 (99.5 KiB)
顯然系統中, 有兩塊網卡,一塊是eth0, 另外一塊是eth1。將這兩個網卡綁定到一個虛擬的網卡。
3>.生成和配置配置文件/etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS="miimon=100 mode=1"
miimon=100 100ms檢測一次,檢測一下對方是否在線
mode=1 指定為主備模式
3>.編輯兩塊網卡的配置文件
4> 重啟network服務
5>.查看bond0虛擬網卡的信息
將兩塊網卡綁定為一塊虛擬網卡bond0。 實驗已經成功了。
6>. 測試階段:
a>. 將eth0關閉了。
b> 查看虛擬網卡bond0的狀態
eth1取代了eth0, 這顯然起到了高可用的特性。
3>.再將eth0啟動起來。