bonding
就是將多塊網卡綁定同一個IP地址對外提供服務,可以實現高可用或是負載均衡,當 然,直接給兩塊網卡設置同一個IP地址是不可能的,通過bonding,虛擬一塊網卡對外提供鏈接,這樣即使一塊網卡壞了可以經行自動切換,而不會影響業務的正常的通信
Bonding的工作模式
mode 0
輪轉(round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力(負載均衡時需要交換的硬件作支撐)物理網卡被修改為相同的mac地址
mode 0下bond所綁定的網卡的IP都被修改成相同的mac地址,如果這些網卡都被接在同一個交換機,那么交換機的arp表里這個mac地址對應的端口就有多 個,那么交換機接受到發往這個mac地址的包應該往哪個端口轉發呢?正常情況下mac地址是全球唯一的,一個mac地址對應多個端口肯定使交換機迷惑了。所以 mode0下的bond如果連接到交換機,交換機這幾個端口應該采取聚合方式(cisco稱為 ethernetchannel,foundry稱為portgroup),因為交換機做了聚合后,聚合下的幾個端口也被捆綁成一個mac地址.我們的解 決辦法是,兩個網卡接入不同的交換機即可。
mode 1 (active-backup)
活動–備份策略:在綁定中只有一個slave被激活,當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的mac地址只有一個外部端口上可見
mode 3(broadcast)
廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力
Bonding 配置
創建banding 設備的配置文件ifcfg-bond0
/etc/sysconfig/network-scripts/ifcfg-bond0 //
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0” //這里的mode就是改變mode
創建bind的網卡eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none //激活此接口時使用什么協議來配置接口屬性,常用的有dhcp 、bootp 、static 、none
MASTER=bond0
SLAVE=yes
USERCTL=no
創建bind的網卡eth1
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
mode=6:平衡負載模式,有自動備援,不必”Switch”支援及設定。mode6模式下無需配置交換機,因為 做bonding的這兩塊網卡是使用不同的MAC地址。
網卡別名
我們都知道在生活中有一個這樣一個場景,我們出差到其他地方或是沒有那么方便去接入一個有線網絡的時候(因為流動性很大,不可能為你提供特定的一個有線網絡),我們能用到的只有無線網,但是是回到家里又的自己改回靜態網絡,又的手工分配地址,這時候該怎么辦呢?在windows中我們會這樣做,利用windows提供的備用設備這一項來進行設定,把備用設備改成家里的靜態地址就可以滿足上面的場景。但是在linux中我們依然有解決辦法,這的用到網卡別名。
如圖所示,把網卡etc1設置成自動獲取地址,把網卡別名設置成靜態地址,同樣也可以滿足上述場景。值得一說的是只能把備用地址設置成靜態地址,把etc1網卡設置成動態地址。在linux中有更強大的功能,可以把一張網卡地址設置有多個網卡別名,而且這幾個網卡地址是同時生效的,這遠遠比windows靈活的多
linux實現方式如下圖:
具體配置:
windows實現方式:如下圖
原創文章,作者:yywan1314,如若轉載,請注明出處:http://www.www58058.com/43068
寫的不錯,圖文并貌,有理論也有實踐。繼續保持。