Linux雙網(wǎng)卡綁定實(shí)踐

前言

工作中主要以SuSE為主,網(wǎng)絡(luò)作為整個(gè)高可用架構(gòu)中最重要的環(huán)節(jié)之一,在物理上一般是雙網(wǎng)卡綁定模式,通常使用默認(rèn)的mode=1(active-backup)作為主備關(guān)系。在最近測(cè)試大數(shù)據(jù)的生產(chǎn)服務(wù)器中,考慮到性能優(yōu)先,所以將綁定模式設(shè)置為mode=6(balance-alb),使用負(fù)載均衡提高1倍流量。與此同時(shí)針對(duì)SuSE HA架構(gòu)由Skybility HACorosync/Openais+Pacemaker的測(cè)試過程中,配合網(wǎng)絡(luò)交換機(jī)Port Channel鏈路聚合采用mode=0(balance-rr ),憑借平衡輪詢實(shí)現(xiàn)網(wǎng)絡(luò)中斷0丟包。

下文以CentOS為例(Red Hat類似),其它平臺(tái)雙網(wǎng)卡設(shè)置都較為簡(jiǎn)單,SuSE(YaST),AIX(SMIT),Windows(Intel),如果大家有需求可以回復(fù)留言,我會(huì)在后續(xù)更新和補(bǔ)充。

遵循高可用原則,實(shí)現(xiàn)失效保護(hù)和負(fù)載均衡


更新記錄

2015年02月09日 - 初稿

閱讀原文 - http://wsgzao.github.io/post/bond-network/

擴(kuò)展閱讀


基礎(chǔ)配置信息

常用的三種Bond模式

配置過程以mode=6為例,其它7種模式請(qǐng)參考擴(kuò)展閱讀

mode=0:平衡負(fù)載模式,有自動(dòng)備援,但需要”Switch”支援及設(shè)定。
mode=1:自動(dòng)備援模式,其中一條線若斷線,其他線路將會(huì)自動(dòng)備援。
mode=6:平衡負(fù)載模式,有自動(dòng)備援,不必”Switch”支援及設(shè)定。

物理接口

interface IP type
eth0,eth2 兩塊生產(chǎn)網(wǎng)卡
eth3 10.129.46.19 私有地址
bond0 10.3.3.214 雙網(wǎng)卡綁定地址

CentOS版本

datanode01:~>cat /etc/redhat-release
CentOS release 6.4 (Final)

禁用NetworkManager

#立即關(guān)閉禁用NetworkManager并禁用開機(jī)自啟動(dòng)
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
/etc/init.d/network restart

關(guān)閉iptables和selinux(可選)

#立即關(guān)閉iptables并禁用開機(jī)自啟動(dòng)
/etc/init.d/iptables stop
chkconfig iptables off

#立即關(guān)閉selinux并永久禁用
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

修改主機(jī)名

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=namenode01

#刷新生效
hostname namnode01
source /etc/sysconfig/network

配置IP

私有地址

cd /etc/sysconfig/network-scripts

[root@datanode09 network-scripts]# cat ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.129.46.19
NETMASK=255.255.255.0
IPV6INIT=no
USERCTL=no

雙網(wǎng)卡綁定

cd /etc/sysconfig/network-scripts

#編輯eth0
cat > ifcfg-eth0 << EOF
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF

#編輯eth2
cat > ifcfg-eth2 << EOF
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
MASTER=bond0
EOF

#編輯bond0
cat > ifcfg-bond0 << EOF
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.3.3.214
NETMASK=255.255.255.0
GATEWAY=10.3.3.1
IPV6INIT=no
USERCTL=no
EOF

#設(shè)置bond參數(shù),注意mode選擇
cat > /etc/modprobe.conf << EOF
alias bond0 bonding
options bond0 miimon=100 mode=6
EOF

#加入開機(jī)自啟動(dòng)參數(shù)
cat >> /etc/rc.local  << EOF
ifenslave bond0 eth0 eth2
EOF

#重啟網(wǎng)卡
service network restart

#使綁定網(wǎng)卡立即生效
ifenslave bond0 eth0 eth2

#測(cè)試綁定網(wǎng)絡(luò)
ping 10.3.3.1


常用3種網(wǎng)卡綁定模式對(duì)比

mode=0

中斷任意一條鏈路或恢復(fù)鏈路,網(wǎng)絡(luò)0丟包

優(yōu)點(diǎn):流量提高1倍

缺點(diǎn):需要接入同一交換機(jī)做聚合配置,無法保證物理交換機(jī)高可用(Cisco似乎有解決方案?)

mode=1

中斷任意一條鏈路丟失1-3個(gè)包(秒),恢復(fù)鏈路時(shí)0丟包

優(yōu)點(diǎn):交換機(jī)無需配置

缺點(diǎn):如上

mode=6

中斷任意一條鏈路0丟包,恢復(fù)鏈路時(shí)丟失10-15個(gè)包(秒)

優(yōu)點(diǎn):交換機(jī)無需配置,流量提高1倍

缺點(diǎn):恢復(fù)鏈路時(shí)丟包時(shí)間過長(zhǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容