以綁定eth0和eth1爲例html
1.經過ipset設置eth0的IP地址爲要綁定的IP地址。網絡
2.新建 /etc/sysconfig/network-scripts/ifcfg-bond0 配置文件
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.1.11#需綁定的IP地址
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no 負載均衡
TYPE=Ethernet
3.修改 /etc/sysconfig/network-scripts/ifcfg-eth0配置文件
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0 //將網卡指向bond0
SLAVE=yes //啓用雙網卡
USERCTL=no
4.修改 /etc/sysconfig/network-scripts/ifcfg-eth1配置文件
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0 //將網卡指向bond0
SLAVE=yes //啓用雙網卡
USERCTL=no
5.修改內核文件/etc/modules.conf文件。此文件是一個自動處理內核模塊的控制文件
添加spa
alias bond0 bonding
options bond0 mode=1 miimon=100 max_bonds=2rest
miimon是指多久時間要檢查網路一次,單位是ms(毫秒)。htm
bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。若是隻是交換機對外的鏈路down掉了,而交換機自己並無故障,那麼bonding會認爲鏈路沒有問題而繼續使用 blog
max_bonds=2網卡綁定若是BOND在一個以上最好加上這參數限制BOND最大加載幾個,若是沒有加載這個參數會網絡重啓的時候會報相似於「找不到BOND1參數,BOND1加載失敗的錯誤」接口
文檔中原有的alias eth0 8139too 便是將/lib/modules/2.4.X文件夾下的8139too模塊在開機時自動加載,並給一個eth0的別名。ip
options bond0 mode=1 arp_interval=1000 arp_ip_target=10.0.1.100ci
添加了arp路由表,裏面寫明判斷eth0若是到不了以上寫的網關,就斷定eth0 down了,因此係統纔會切換網卡。arp_interval是時間間隔爲ms,arp_ip_target爲一個具體的IP,通常爲局域網核心IP,經過他來判斷網卡是否無缺。
6.重啓生效.執行service network restart 和 Key-gen
7.驗證生效。ifconfig 可看到eth0和eth1網卡地址相同,同時出現bond網卡。
查看網卡綁定後的狀態:cat /proc/net/bonding/bond0
先重啓網絡服務,再查看網卡綁定信息。
若是綁定的網卡有特殊應用要求,需在rc.local腳本文件裏啓動綁定的網卡啓動和配置IP信息,那麼在rc.local裏添加如下信息:
ifenslave bond0 eth0 eth1
ifconfig bond0 192.168.0.2 netmask 255.255.255.0
route add default gw 192.168.0.1
2、取消網卡綁定
一、修改bond0網卡IP信息
執行如下操做便可:
# vi /etc/sysconfig/network-scripts/ifcfg-bond0
修改其中IP信息,保存退出並使用如下命令重啓網絡:
# /etc/init.d/network restart
※ 注意:切勿在圖形界面下來修改bond0的IP !若已經打開網絡屬性查看網卡信息,請按退出。不要點肯定,不然會修改eth0和eth1的配置信息,使bond0失效。
二、卸載bond0設備
如需刪除雙網卡綁定系統,可執行如下操做:
#rm -f /etc/sysconfig/network-scripts/ifcfg-bond0
#vi /etc/modules.conf
而後刪除如下兩行後,保存退出
引用
alias bond0 bonding
options bond0 miimon=100 mode=1
最後從新配置eth0和eth1的IP,並重啓網絡便可。
mode共有七種(0~6)
mode=0:平衡負載模式,有自動備援,但須要」Switch」支援及設定。
特色:傳輸數據包順序是依次傳輸(即:第1個包走eth0,下一個包就走eth1….一直循環下去,直到最後一個傳輸完畢),此模式提供負載平衡和容錯能力;可是咱們知道若是一個鏈接或者會話的數據包從不一樣的接口發出的話,中途再通過不一樣的鏈路,在客戶端頗有可能會出現數據包無序到達的問題,而無序到達的數據包須要從新要求被髮送,這樣網絡的吞吐量就會降低
mode=1:自動備援模式,其中一條線若斷線,其餘線路將會自動備援。
mod=2,即:(balance-xor) XOR policy(平衡策略)
特色:基於指定的傳輸HASH策略傳輸數據包。缺省的策略是:(源MAC地址 XOR 目標MAC地址) % slave數量。其餘的傳輸策略能夠經過xmit_hash_policy選項指定,此模式提供負載平衡和容錯能力
mod=3,即:broadcast(廣播策略)
特色:在每一個slave接口上傳輸每一個數據包,此模式提供了容錯能力
mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 動態連接聚合)
特色:建立一個聚合組,它們共享一樣的速率和雙工設定。根據802.3ad規範將多個slave工做在同一個激活的聚合體下。
外出流量的slave選舉是基於傳輸hash策略,該策略能夠經過xmit_hash_policy選項從缺省的XOR策略改變到其餘策略。須要注意的是,並非全部的傳輸策略都是802.3ad適應的,尤爲考慮到在802.3ad標準43.2.4章節說起的包亂序問題。不一樣的實現可能會有不一樣的適應 性。
必要條件:
條件1:ethtool支持獲取每一個slave的速率和雙工設定
條件2:switch(交換機)支持IEEE 802.3ad Dynamic link aggregation
條件3:大多數switch(交換機)須要通過特定配置才能支持802.3ad模式
mod=5,即:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡)
特色:不須要任何特別的switch(交換機)支持的通道bonding。在每一個slave上根據當前的負載(根據速度計算)分配外出流量。若是正在接受數據的slave出故障了,另外一個slave接管失敗的slave的MAC地址。
該模式的必要條件:ethtool支持獲取每一個slave的速率
mod=6,即:(balance-alb) Adaptive load balancing(適配器適應性負載均衡)
特色: 表示負載均衡方式,兩塊網卡都工做,不須要交換機做支持
其實mod=6與mod=0的區別:mod=6,先把eth0流量佔滿,再佔eth1,….ethX;而mod=0的話,會發現2個口的流量都很穩定,基本同樣的帶寬。而mod=6,會發現第一個口流量很高,第2個口只佔了小部分流量
網絡配置的基礎知識:
DEVICE=物理設備名
BOOTPROTO=[none|static|bootp|dhcp](引導時不使用協議|靜態分配|BOOTP協議|DHCP動態)
HWADDR = 你的MAC地址
IPADDR=IP地址
NETMASK=掩碼值
NETWORK=網絡地址
BROADCAST=廣播地址
GATEWAY=網關地址
MASTER=bond0 //將網卡指向bond0
TYPE=Ethernet (網絡類型)
ONBOOT=[yes|no](引導時是否激活設備)
USERCTL=[yes|no](非root用戶是否能夠控制該設備)
PEERDNS=[yes|no] (若是經過DHCP獲取IP,是否將DNS信息寫入/etc/resolv.conf (覆蓋))
DNS1=主域名服務的IP
DNS2=從域名服務的IP
網卡綁定,查看bond狀態時各字段的意思是什麼?尤爲我須要瞭解MII status這個字段。謝謝
#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: ac:16:2d:b1:01:d4
Slave Interface: eth1
MII Status: down
Link Failure Count: 3
Permanent HW addr: ac:16:2d:b1:01:d5
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008) #bond驅動版本信息
Bonding Mode: fault-tolerance (active-backup) #bond模式,主備、負載等
Primary Slave: None #是否有優先級高的slave
Currently Active Slave: eth0 #當前活動的slave
MII Status: up #鏈路狀態 [up/down]
MII Polling Interval (ms): 100 # 鏈路輪詢監測時間,100毫秒
Up Delay (ms): 0 #啓動延遲時間,0毫秒
Down Delay (ms): 0 #down延遲
Slave Interface: eth0
MII Status: up
Link Failure Count: 0 #鏈路狀態出錯次數
Permanent HW addr: ac:16:2d:b1:01:d4 #MAC
參考文獻:http://www.2cto.com/os/201109/102451.html