溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux下網(wǎng)卡bonding配置

發(fā)布時間:2020-06-15 17:15:28 來源:網(wǎng)絡(luò) 閱讀:2040 作者:lq2011 欄目:網(wǎng)絡(luò)安全

一、bonding技術(shù)

bonding(綁定)是一種linux系統(tǒng)下的網(wǎng)卡綁定技術(shù),可以把服務(wù)器上n個物理網(wǎng)卡在系統(tǒng)內(nèi)部抽象(綁定)成一個邏輯上的網(wǎng)卡,能夠提升網(wǎng)絡(luò)吞吐量、實現(xiàn)網(wǎng)絡(luò)冗余、負(fù)載等功能,有很多優(yōu)勢。
bonding技術(shù)是linux系統(tǒng)內(nèi)核層面實現(xiàn)的,它是一個內(nèi)核模塊(驅(qū)動)。使用它需要系統(tǒng)有這個模塊, 我們可以modinfo命令查看下這個模塊的信息, 一般來說都支持.
# modinfo bonding
bonding的七種工作模式:
bonding技術(shù)提供了七種工作模式,在使用的時候需要指定一種,每種有各自的優(yōu)缺點.
balance-rr (mode=0) 兩塊網(wǎng)卡都工作,但是與網(wǎng)卡相連的交換機(jī)端口必須做特殊配置(這兩個端口應(yīng)該采取聚合方式),因為做bonding的這兩塊網(wǎng)卡是使用同一個MAC地址.
active-backup (mode=1) 表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說默認(rèn)情況下只有一塊網(wǎng)卡工作,另一塊做備份。bonding只能提供鏈路監(jiān)測,即從主機(jī)到交換機(jī)的鏈路是否接通。如果只是交換機(jī)對外的鏈路down掉了,而交換機(jī)本身并沒有故障,那么bonding會認(rèn)為鏈路沒有問題而繼續(xù)使用。 miimon是用來進(jìn)行鏈路監(jiān)測的。比如:miimon=80,那么系統(tǒng)每100ms監(jiān)測一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線路。
mode=2 表示 XOR policy 為平衡策略。此模式提供負(fù)載平衡和容錯能力
mode=3 表示 broadcast 為廣播策略。此模式提供了容錯能力
mode=4 表示 IEEE 802.3ad Dynamic link aggregation 為 IEEE 802.3ad 為 動態(tài)鏈接聚合。該策略可以通過 xmit_hash_policy 選項從缺省的 XOR 策略改變到其他策略。
mode=5 表示 Adaptive transmit load balancing 為適配器傳輸負(fù)載均衡。該 模式的必要條件:ethtool 支持獲取每個 slave 的速率
balance-alb (mode=6) 有高可用 ( 容錯 )和負(fù)載均衡的功能,不需要交換機(jī)配置 (流量分發(fā)到每個接口不是特別均衡),做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)
linux下網(wǎng)卡bonding配置
服務(wù)器上兩張物理網(wǎng)卡em1和em2, 通過綁定成一個邏輯網(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  # 禁止開機(jī)啟動NetworkManager服務(wù)

ps: 一定要關(guān)閉,不關(guān)會對做bonding有干擾
2、加載bonding模塊
modprobe --first-time bonding
沒有提示說明加載成功, 如果出現(xiàn)modprobe: ERROR: could not insert 'bonding': Module already in kernel說明你已經(jīng)加載了這個模塊, 就不用管了
你也可以使用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ò)鏈接的頻度 (毫秒), 我們設(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的值對應(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的值對應(yīng)
SLAVE=yes
BOOTPROTO=none

6、測試
重啟網(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簡稱, 接口的意思)
MII Polling Interval (ms): 100           // 接口輪詢的時間隔(這里是100ms)
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em1                     // 備接口: em0
MII Status: up                           // 接口狀態(tài): up(MII是Media Independent Interface簡稱, 接口的意思)
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簡稱, 接口的意思)
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)閉它,如果報錯說明沒有裝這個,那就不用管
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ò)與測試
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
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI