歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux雙網卡綁定實踐

Linux雙網卡綁定實踐

日期:2017/2/27 15:55:01   编辑:Linux教程

前言

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

下文以CentOS為例(Red Hat類似),其它平台雙網卡設置都較為簡單,SuSE(YaST),AIX(SMIT),Windows(Intel),如果大家有需求可以回復留言,我會在後續更新和補充。

遵循高可用原則,實現失效保護和負載均衡


基礎配置信息

常用的三種Bond模式

配置過程以mode=6為例,其它7種模式請參考擴展閱讀

mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必”Switch”支援及設定。


物理接口

interface IP type eth0,eth2 兩塊生產網卡 eth3 10.129.46.19 私有地址 bond0 10.3.3.214 雙網卡綁定地址


CentOS版本

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

禁用NetworkManager

#立即關閉禁用NetworkManager並禁用開機自啟動
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
/etc/init.d/network restart


關閉iptables和selinux(可選)

#立即關閉iptables並禁用開機自啟動
/etc/init.d/iptables stop
chkconfig iptables off
#立即關閉selinux並永久禁用
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config


修改主機名

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

雙網卡綁定

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
#設置bond參數,注意mode選擇
cat > /etc/modprobe.conf << EOF
alias bond0 bonding
options bond0 miimon=100 mode=6
EOF
#加入開機自啟動參數
cat >> /etc/rc.local << EOF
ifenslave bond0 eth0 eth2
EOF
#重啟網卡
service network restart
#使綁定網卡立即生效
ifenslave bond0 eth0 eth2
#測試綁定網絡
ping 10.3.3.1

常用3種網卡綁定模式對比

mode=0

中斷任意一條鏈路或恢復鏈路,網絡0丟包

優點:流量提高1倍

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

mode=1

中斷任意一條鏈路丟失1-3個包(秒),恢復鏈路時0丟包

優點:交換機無需配置

缺點:如上

mode=6

中斷任意一條鏈路0丟包,恢復鏈路時丟失10-15個包(秒)

優點:交換機無需配置,流量提高1倍

缺點:恢復鏈路時丟包時間過長
原文:http://wsgzao.github.io/post/bond-network/

Copyright © Linux教程網 All Rights Reserved