在生產環境下,防止單點故障是常常要考慮的因素,像數據庫的異地備份,集羣調度端的熱備,掛載存儲的多路經,路由器的冗餘。對於數據大多都有複製,同步手 段。對於數據傳輸鏈路也是要考慮的,多路經即是其中的一種。通常服務器鏈接交換機,路由器,存儲都是採用多條鏈路來防止單點故障的,linux下能夠採用 網卡綁定的方式來實現,網卡綁定就是將兩塊以上的物理網卡抽象成一個邏輯的網卡像bond0,管理員再也不考慮ethN這樣的物理網卡,呵呵,這裏的道理和 邏輯卷類似!不過這種綁定不只能夠以輪循的方式工做,也能夠以主備的方式工做。
>Linux 以太網綁定常見工做模式
模式 0 (平衡輪循) - 輪循策略,全部接口都使用。採用輪循方式在全部 Slave 中傳輸封包;任何 Slave 均可以接收。
模式 1 (主動備份) - 容錯。一次只能使用一個 Slave 接口,可是若是該接口出現故障,另外一個 Slave 將 接替它。
模式 3 (廣播) - 容錯。全部封包都經過全部 Slave 接口廣播。
一個關於網卡綁定的詳細資料:http://blog.csdn.net/xrb66/article/details/7863285
下面我給出簡單的配置方法:
1. vi /etc/sysconfig/network-scripts/ifcfg-bond0 #用戶之後要用到的邏輯接口,配置dns,gateway正對此接口就行
DEVICE="bond0"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR=192.168.0.60
NETMASK=255.255.255.0
USERCTL=no
BONDING_OPTS="mode=1 miimon=50" #選擇工做模式,檢測時間間隔
2. vi /etc/sysconfig/network-scripts/ifcfg-eth0 #eth0,eth1隸屬於bond0,綁定配置好後,用戶再也不擔憂其配置,
DEVICE="eth0" #只須要在發生故障時,替換新的網卡便可!
BOOTPROTO="none"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
USERCTL=no
3. vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
USERCTL=no
4. 配置系統加載 binding 模塊:
vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
5.附加 Slave 接口到 bond0 :
vi /etc/rc.d/rc.local
ifenslave bond0 eth0 eth1
6.重啓主機測試:
cat /proc/net/bonding/bond0
關掉活動的網卡,再
cat /proc/net/bonding/bond0