Linux網口綁定服務器
經過網口綁定(bond)技術,能夠很容易實現網口冗餘,負載均衡,從而達到高可用高可靠的目的。網絡
前提約定:負載均衡
2個物理網口分別是:eth0,eth1ide
綁定後的虛擬口是:bond0rest
服務器IP是:192.168.0.100blog
第一步,配置設定文件:ip
/etc/sysconfig/network-scripts/ifcfg-bond0路由
DEVICE=bond0get
BOOTPROTO=none博客
ONBOOT=yes
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
#BROADCAST廣播地址
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
第二步,修改modprobe相關設定文件,並加載bonding模塊:
1.在這裏,咱們直接建立一個加載bonding的專屬設定文件/etc/modprobe.d/bonding.conf
[root@test ~]# vi /etc/modprobe.d/bonding.conf
#追加
alias bond0 bonding
options bonding mode=0 miimon=200
2.加載模塊(重啓系統後就不用手動再加載了)
[root@test ~]# modprobe bonding
3.確認模塊是否加載成功:
[root@test ~]# lsmod | grep bonding
bonding 100065 0
第三步,重啓一下網絡,而後確認一下情況:
[root@test ~]# /etc/init.d/network restart
[root@test ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 200
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:16:36:1b:bb:74
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:16:36:1b:bb:80
[root@test ~]# ifconfig | grep HWaddr
bond0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
eth0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
eth1 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
從上面的確認信息中,咱們能夠看到3個重要信息:
1.如今的bonding模式是active-backup
2.如今Active狀態的網口是eth0
3.bond0,eth1的物理地址和處於active狀態下的eth0的物理地址相同,這樣是爲了不上位交換機發生混亂。
任意拔掉一根網線,而後再訪問你的服務器,看網絡是否仍是通的。
第四步,系統啓動自動綁定、增長默認網關:
[root@test ~]# vi /etc/rc.d/rc.local
#追加
ifenslave bond0 eth0 eth1
route add default gw 192.168.0.1
#如可上網就不用增長路由,0.1地址按環境修改.
------------------------------------------------------------------------
留心:前面只是2個網口綁定成一個bond0的狀況,若是咱們要設置多個bond口,好比物理網口eth0和eth1組成bond0,eth2和eth3組成bond1,
那麼網口設置文件的設置方法和上面第1步講的方法相同,只是/etc/modprobe.d/bonding.conf的設定就不能像下面這樣簡單的疊加了:
alias bond0 bonding
options bonding mode=1 miimon=200
alias bond1 bonding
options bonding mode=1 miimon=200
正確的設置方法有2種:
第一種,你能夠看到,這種方式的話,多個bond口的模式就只能設成相同的了:
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=1
第二種,這種方式,不一樣的bond口的mode能夠設成不同:
alias bond0 bonding
options bond0 miimon=100 mode=1
install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0
仔細看看上面這2種設置方法,如今若是是要設置3個,4個,甚至更多的bond口,你應該也會了吧!
後記:簡單的介紹一下上面在加載bonding模塊的時候,options裏的一些參數的含義:
miimon 監視網絡連接的頻度,單位是毫秒,咱們設置的是200毫秒。
max_bonds 配置的bond口個數
mode bond模式,主要有如下幾種,在通常的實際應用中,0和1用的比較多,
若是你要深刻了解這些模式各自的特色就須要靠讀者你本身去查資料並作實踐了。
0或balance-rr 輪轉策略,提供負載均衡和耐故障功能,按順序輪流把包發給包含在bond口內的網口。
1或active-backup 主備策略,提供高耐故障功能,邏輯簡單,一個處於激活狀態,一個失敗,另一個自動激活。
2或balance-xor XOR策略,提供負載均衡和耐故障功能。
3或broadcast 廣播策略,耐故障功能。把數據以廣播的方式,發給包含在該bond口內的全部網口。
4或802.3ad IEEE 802.3ad動態連接集合。
5或balance-tlb 自動適應傳輸負載均衡策略。
6或balance-alb 自動適應負載均衡策略。
本文出自 「阿克琉斯的腳跟 ~」 博客,請務必保留此出處http://rockhooray.blog.51cto.com/938613/813119