雙網卡綁定爲同一個虛擬的網卡(bond), 外界看到的好像是bond網卡在向外界提供服務, 而其實底層是兩塊真實的網卡在提供服務。centos
下面介紹一些簡單的概念:bash
1>. Bonding負載均衡
就是將多塊網卡綁定同一IP 地址對外提供服務,能夠實現高可用或者負載均衡。固然,直接給兩塊網卡設置同一IP 地址是不可能的。經過bonding ,虛擬一塊網卡對外提供鏈接,ide
物理網卡的被修改成相同的MAC 地址。測試
2>. Bonding 的工做模式spa
Mode 0 (balance-rr)blog
輪轉(Round-robin)策略:從頭至尾順序的在每個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力 接口
Mode 1 (active-backup)ip
活動- 備份(主備)策略:在綁定中,只有一個slave 被激活。當且僅當活動的slave 接失敗時纔會激活其餘slave 。爲了不交換機發生混亂此時綁定的MAC 地址只有一個外部端口上可見get
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啓動起來。
eth0變成了備用網卡,而eth1變成了正在使用的網卡。