Linux双网卡绑定实践

网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的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=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。 Bonding的模式一共有7种 #defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式 #defineBOND_MODE_XOR 2 (balance-xor模式)需要交换机支持 #defineBOND_MODE_BROADCAST 3 (broadcast模式) #defineBOND_MODE_8023AD 4 (IEEE 802.3ad动态链路聚合模式)需要交换机支持 #defineBOND_MODE_TLB 5 自适应传输负载均衡模式 #defineBOND_MODE_ALB 6 网卡虚拟化方式
interface IP type eth0,eth2 两块生产网卡 eth3 10.129.46.19 私有地址 bond0 10.3.3.214 双网卡绑定地址
加载bond模块支持
#加载模块(重启系统后就不用手动再加载了) modprobe bonding #确认模块是否加载成功 lsmod | grep bonding bonding 100065 0
双网卡绑定
cd /etc/sysconfig/network-scripts #编辑em1 vim /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 HWADDR=14:18:77:49:1E:FB TYPE=Ethernet UUID=b24693fd-5813-4526-bfaf-8a9844f010e1 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static MASTER=bond0 SLAVE=yes #编辑em3 vim /etc/sysconfig/network-scripts/ifcfg-em3 DEVICE=em3 HWADDR=14:18:77:49:1E:FD TYPE=Ethernet UUID=20f99596-b1d9-4c0f-98ce-f3c84b47386a ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static MASTER=bond0 SLAVE=yes #编辑bond0 vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=183.xx.xx.xx NETMASK=255.255.255.224 GATEWAY=183.2.191.xx DNS1=202.96.134.133 IPV6INIT=no USERCTL=no BONDING_OPTS="mode=1 miimon=100" #BONDING_OPTS="mode=0 miimon=100 primary=eth0" #设置bond参数,注意mode选择 vim /etc/modprobe.d/bonding.conf alias bond0 bonding options bond0 miimon=100 mode=1 #加入开机自启动参数 vim /etc/rc.d/rc.local ifenslave bond0 em1 em3 #重启网卡 /etc/init.d/network restart #使绑定网卡立即生效 ifenslave bond0 em1 em3 #测试绑定网络 ping qq.com
检查
#确认设备已经正确加载 less /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) # 主备模式 Primary Slave: None Currently Active Slave: em1 # 活动网卡是em1 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: 0 Permanent HW addr: 14:18:77:49:1e:fb Slave queue ID: 0 Slave Interface: em3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 14:18:77:49:1e:fd Slave queue ID: 0 从上面的确认信息中,我们可以看到3个重要信息: 1.现在的bonding模式是active-backup 2.现在Active状态的网口是eth0 3.bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。 任意拔掉一根网线,然后再访问你的服务器,看网络是否还是通的。
常用3种网卡绑定模式对比 mode=0 中断任意一条链路或恢复链路,网络0丢包 优点:流量提高1倍 缺点:需要接入同一交换机做聚合配置,无法保证物理交换机高可用(Cisco似乎有解决方案?) mode=1 中断任意一条链路丢失1-3个包(秒),恢复链路时0丢包 优点:交换机无需配置 缺点:如上 mode=6 中断任意一条链路0丢包,恢复链路时丢失10-15个包(秒) 优点:交换机无需配置,流量提高1倍 缺点:恢复链路时丢包时间过长

http://blog.csdn.net/wuweilong/article/details/39720571
https://wsgzao.github.io/post/bonding/

浙公网安备 33010602011771号