在Linux系统下实现双网卡绑定的教程
程序员文章站
2022-07-07 11:26:39
这篇文章主要介绍了在Linux系统下实现双网卡绑定的教程,本文以CentOS系统为环境进行演示,需要的朋友可以参考下... 15-06-10...
工作中主要以suse为主,网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的mode=1(active-backup)作为主备关系。
在最近测试大数据的生产服务器中,考虑到性能优先,所以将绑定模式设置为mode=6(balance-alb),使用负载均衡提高1倍流量。与此同时针对suse ha架构由skybility ha往corosync/openais+pacemaker 的测试过程中,配合网络交换机port channel链路聚合采用mode=0(balance-rr ),凭借平衡轮询实现网络中断0丢包。
基础配置信息
常用的三种bond模式
配置过程以mode=6为例,其它7种模式请参考扩展阅读
mode=0:平衡负载模式,有自动备援,但需要”switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”switch”支援及设定。
物理接口
centos版本
复制代码
代码如下:datanode01:~>cat /etc/redhat-release
centos release 6.4 (final)
centos release 6.4 (final)
禁用networkmanager
复制代码
代码如下:#立即关闭禁用networkmanager并禁用开机自启动
/etc/init.d/networkmanager stop
chkconfig networkmanager off
/etc/init.d/network restart
/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
/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
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
[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
#编辑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倍