新聞中心
一、bonding技術(shù)
bonding(綁定)是一種linux系統(tǒng)下的網(wǎng)卡綁定技術(shù),可以把服務(wù)器上n個(gè)物理網(wǎng)卡在系統(tǒng)內(nèi)部抽象(綁定)成一個(gè)邏輯上的網(wǎng)卡,能夠提升網(wǎng)絡(luò)吞吐量、實(shí)現(xiàn)網(wǎng)絡(luò)冗余、負(fù)載等功能,有很多優(yōu)勢(shì)。
bonding技術(shù)是linux系統(tǒng)內(nèi)核層面實(shí)現(xiàn)的,它是一個(gè)內(nèi)核模塊(驅(qū)動(dòng))。使用它需要系統(tǒng)有這個(gè)模塊, 我們可以modinfo命令查看下這個(gè)模塊的信息, 一般來(lái)說(shuō)都支持.# modinfo bonding
bonding的七種工作模式:
bonding技術(shù)提供了七種工作模式,在使用的時(shí)候需要指定一種,每種有各自的優(yōu)缺點(diǎn).
balance-rr (mode=0) 兩塊網(wǎng)卡都工作,但是與網(wǎng)卡相連的交換機(jī)端口必須做特殊配置(這兩個(gè)端口應(yīng)該采取聚合方式),因?yàn)樽鯾onding的這兩塊網(wǎng)卡是使用同一個(gè)MAC地址.
active-backup (mode=1) 表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說(shuō)默認(rèn)情況下只有一塊網(wǎng)卡工作,另一塊做備份。bonding只能提供鏈路監(jiān)測(cè),即從主機(jī)到交換機(jī)的鏈路是否接通。如果只是交換機(jī)對(duì)外的鏈路down掉了,而交換機(jī)本身并沒(méi)有故障,那么bonding會(huì)認(rèn)為鏈路沒(méi)有問(wèn)題而繼續(xù)使用。 miimon是用來(lái)進(jìn)行鏈路監(jiān)測(cè)的。比如:miimon=80,那么系統(tǒng)每100ms監(jiān)測(cè)一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線路。
mode=2 表示 XOR policy 為平衡策略。此模式提供負(fù)載平衡和容錯(cuò)能力
mode=3 表示 broadcast 為廣播策略。此模式提供了容錯(cuò)能力
mode=4 表示 IEEE 802.3ad Dynamic link aggregation 為 IEEE 802.3ad 為 動(dòng)態(tài)鏈接聚合。該策略可以通過(guò) xmit_hash_policy 選項(xiàng)從缺省的 XOR 策略改變到其他策略。
mode=5 表示 Adaptive transmit load balancing 為適配器傳輸負(fù)載均衡。該 模式的必要條件:ethtool 支持獲取每個(gè) slave 的速率
balance-alb (mode=6) 有高可用 ( 容錯(cuò) )和負(fù)載均衡的功能,不需要交換機(jī)配置 (流量分發(fā)到每個(gè)接口不是特別均衡),做bonding的這兩塊網(wǎng)卡是使用不同的MAC地址
二、Centos7配置bonding
環(huán)境:
系統(tǒng): Centos7
網(wǎng)卡: em1、em2
bond0:172.16.10.183
負(fù)載模式: mode6(adaptive load balancing)
服務(wù)器上兩張物理網(wǎng)卡em1和em2, 通過(guò)綁定成一個(gè)邏輯網(wǎng)卡bond0,bonding模式選擇mode6
注意: ip地址配置在bond0上, 物理網(wǎng)卡不需要配置ip地址。
1、關(guān)閉和停止NetworkManager服務(wù)
systemctl stop NetworkManager.service # 停止NetworkManager服務(wù)
systemctl disable NetworkManager.service # 禁止開(kāi)機(jī)啟動(dòng)NetworkManager服務(wù)
ps: 一定要關(guān)閉,不關(guān)會(huì)對(duì)做bonding有干擾
2、加載bonding模塊
modprobe --first-time bonding
沒(méi)有提示說(shuō)明加載成功, 如果出現(xiàn)modprobe: ERROR: could not insert 'bonding': Module already in kernel說(shuō)明你已經(jīng)加載了這個(gè)模塊, 就不用管了
你也可以使用lsmod | grep bonding查看模塊是否被加載
lsmod | grep bonding
bonding 136705 0
3、創(chuàng)建基于bond0接口的配置文件vim /etc/sysconfig/network-scripts/ifcfg-bond0
修改成如下,根據(jù)你的情況:
DEVICE=bond0
TYPE=Bond
IPADDR=172.16.10.183
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
DNS1=114.114.114.114
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=6 miimon=100"
上面的BONDING_OPTS="mode=6 miimon=100" 表示這里配置的工作模式是mode6(adaptive load balancing), miimon表示監(jiān)視網(wǎng)絡(luò)鏈接的頻度 (毫秒), 我們?cè)O(shè)置的是100毫秒, 根據(jù)你的需求也可以指定mode成其它的負(fù)載模式。
4、修改em1接口的配置文件vim /etc/sysconfig/network-scripts/ifcfg-em1
修改成如下:
DEVICE=em1
USERCTL=no
ONBOOT=yes
MASTER=bond0 # 需要和上面的ifcfg-bond0配置文件中的DEVICE的值對(duì)應(yīng)
SLAVE=yes
BOOTPROTO=none
5、修改em2接口的配置文件vim /etc/sysconfig/network-scripts/ifcfg-em2
修改成如下:
DEVICE=em2
USERCTL=no
ONBOOT=yes
MASTER=bond0 # 需要和上的ifcfg-bond0配置文件中的DEVICE的值對(duì)應(yīng)
SLAVE=yes
BOOTPROTO=none
6、測(cè)試
重啟網(wǎng)絡(luò)服務(wù)
systemctl restart network.service
# cat /proc/net/bonding/bond0
Bonding Mode: adaptive load balancing // 綁定模式: 當(dāng)前是ald模式(mode 6), 也就是高可用和負(fù)載均衡模式
Primary Slave: None
Currently Active Slave: em1
MII Status: up // 接口狀態(tài): up(MII是Media Independent Interface簡(jiǎn)稱, 接口的意思)
MII Polling Interval (ms): 100 // 接口輪詢的時(shí)間隔(這里是100ms)
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em1 // 備接口: em0
MII Status: up // 接口狀態(tài): up(MII是Media Independent Interface簡(jiǎn)稱, 接口的意思)
Speed: 1000 Mbps // 端口的速率是1000 Mpbs
Duplex: full // 全雙工
Link Failure Count: 0 // 鏈接失敗次數(shù): 0
Permanent HW addr: 84:2b:2b:6a:76:d4 // 永久的MAC地址
Slave queue ID: 0
Slave Interface: em1 // 備接口: em1
MII Status: up // 接口狀態(tài): up(MII是Media Independent Interface簡(jiǎn)稱, 接口的意思)
Speed: 1000 Mbps
Duplex: full // 全雙工
Link Failure Count: 0 // 鏈接失敗次數(shù): 0
Permanent HW addr: 84:2b:2b:6a:76:d5 // 永久的MAC地址
Slave queue ID: 0
三、Centos6配置bonding
Centos6配置bonding和上面的Cetons7做bonding基本一樣,只是配置有些不同.
系統(tǒng): Centos6
網(wǎng)卡: em1、em2
bond0:172.16.10.183
負(fù)載模式: mode1(adaptive load balancing) # 這里的負(fù)載模式為1,也就是主備模式.
1、關(guān)閉和停止NetworkManager服務(wù)
service NetworkManager stop
chkconfig NetworkManager off
ps: 如果有裝的話關(guān)閉它,如果報(bào)錯(cuò)說(shuō)明沒(méi)有裝這個(gè),那就不用管
2、加載bonding模塊modprobe --first-time bonding
3、創(chuàng)建基于bond0接口的配置文件vim /etc/sysconfig/network-scripts/ifcfg-bond0
修改如下 (根據(jù)你的需要):
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.16.10.183
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
DNS1=114.114.114.114
USERCTL=no
BONDING_OPTS="mode=6 miimon=100"
4、加載bond0接口到內(nèi)核vi /etc/modprobe.d/bonding.conf
修改成如下:alias bond0 bonding
5、編輯em1、em2的接口文件vim /etc/sysconfig/network-scripts/ifcfg-em1
修改成如下:
DEVICE=em1
MASTER=bond0
SLAVE=yes
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
vim /etc/sysconfig/network-scripts/ifcfg-em2
修改成如下:
DEVICE=em2
MASTER=bond0
SLAVE=yes
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
6、加載模塊、重啟網(wǎng)絡(luò)與測(cè)試
modprobe bonding
service network restart
7、查看bondo接口的狀態(tài)cat /proc/net/bonding/bond0
Bonding Mode: fault-tolerance (active-backup) # bond0接口當(dāng)前的負(fù)載模式是主備模式
Primary Slave: None
Currently Active Slave: em2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 84:2b:2b:6a:76:d4
Slave queue ID: 0
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 84:2b:2b:6a:76:d5
Slave queue ID: 0
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞名稱:linux下網(wǎng)卡bonding配置-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://fisionsoft.com.cn/article/jodis.html