点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
redhat双网卡绑定配置
1.1 配置双网卡绑定
1)编辑网卡配置文件
配置如下三个网卡配置文件(dell pc服务器为:ifcfg-em1,ifcfg-em3;hp,ibm,浪潮 pc服务器网卡配置文件为:ifcfg-eth0,ifcfg-eth2)。
配置前先备份:
#cd /etc/sysconfig/network-scripts
#cp ifcfg-ethx ifcfg-ethx.bak
或# cp ifcfg-emx ifcfg-emx.bak复制
在/etc/sysconfig/network-scripts/下新建网卡绑定配置文件ifcg-bond0:

说明:
Linux下可以通过多网卡绑定来提升网卡的稳定性及速度,多网卡绑定通过将多个物理网卡绑定为一个逻辑网卡的形式创建;
bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
附录:BONDING_OPTS参数解释
miimon参数
指定网卡故障时的切换时间间隔以ms为单位(miimon=50表示系统每50ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路)。
primary参数
指定默认的主网卡设备(设置默认主网卡primary=em3)。
mode参数(这些选项可以用命令:# modinfo bonding 来查看):
0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分(表示load balancing <round-robin>为负载均衡方式,两块网卡都工作,需要交换机作支持)。
1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用(表示fault-tolerance<active-backup>提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份)
2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。
4-802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)
5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。
6-适配器输入/输出负载均衡模式,在"模式5"的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。
xmit_hash_policy参数(此参数对mode参数中的2、4模式有影响):
layer1-通过MAC地址进行HASH计算。
计算公式:(MACsrc⊕MACdest)% Nslave
layer3+4-通过TCP及UDP端口及其IP地址进行HASH计算。
计算公式:((portsrc⊕portdest)⊕(IPsrc⊕IPdest)) % Nslave
注意:
mode参数中的0、2、3、4模式要求交换机支持"ports group"功能并能进行相应的设置,例如在Cisco中要将所连接的端口设为"trunk group"。
选择绑定模式的建议
如果系统流量不超过单个网卡的带宽,请不要选择使用mode 1之外的模式,因为负载均衡需要对流量进行计算,这对系统性能会有所损耗。
建议mode 5、mode 6只在交换机不支持"ports group"的情况下选用。
如果交换机及网卡都确认支持802.3ab,则实现负载均衡时尽量使用mode 4以提高系统性能。
2)编辑bonding.conf 添加alias bond0 bonding设置开机加载bonding模块
在/etc/modprobe.d/bonding.conf:

PS:RHEL4 (centos4)及以下的版本options加在/etc/modprobe.conf。
3)网卡设置完成后重启网卡服务

4)cat proc/net/bonding/bond0查看bond0的状态

说明:
Currently Active Slave
em1 表示bond目前工作在em1 网卡上。
Slave Interface
em1/em3 状态为up,表示两块网卡工作状态正常。
通过输入netstat –i统计这两个网卡的数据流量,如下:
eth0的数据流量应该明显比eth1多,表明主备方式设置是成功的。

ifconfig查看网卡信息bond0和em1、em3的MAC地址相同:

1.2 其他选项
1)查看网卡线缆状态(mii-tool ethx或emx)
mii-tool eth0 //有些设备网卡名称为em1、em2 …
复制
使用mii-tool命令查看网卡连通状态:
如下图若显示Resource tempprarity unavailable,表示网线没插或交换机端未配置

如下图若显示em1、em3为link ok,表示网线已插好

2)查看网卡底层信息(ethtool ethx或emx, ethtool –i ethx或emx,ethtool –S ethx或emx)
ethtool eth0
查看网卡速率(10/100/1000M,全双工/半双工等)信息;
ethtool -i eth0
查看网卡驱动信息;
ethtool -S eth0
查看网卡状态统计信息。


有流量的:


无流量的:


3)需要关闭NetworkManager服务

4)检查linux配置上是否支持bonding
[root@liujing ~]# cat /boot/config-2.6.32-220.el6.x86_64 |grep -i bonding
CONFIG_BONDING=m
返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding复制
suse双网卡绑定配置
2.1 编辑网卡配置文件
步骤1:进入到网络配置目录
# cd etc/sysconfig/network
复制
步骤2:创建ifcfg-bond0配置文件
Vi ifcfg-bond0 输入如下内容保存
BOOTPROTO='static'
BROADCAST=''
IPADDR='172.27.XXX.XX #要绑定的ip地址
NETMASK='255.255.XXX.0 '#网段的掩码
NETWORK=''
STARTMODE='onboot'
BONDING_MASTER='yes'
BONDING_MODULE_OPTS='mode=1 miimon=100 '
# mode=1是主备模式(active-backup) mode=0是平衡模式(balance_rr)
BONDING_SLAVE0='eth0' #第一块网卡的mac地址
BONDING_SLAVE1='eth1' #第二块网卡的mac地址
ETHTOOL_OPTIONS=''
MTU=''
NAME=''
REMOTE_IPADDR=''
USERCONTROL='no'复制
删除/etc/sysconfig/network下的已经绑定的网卡的配置文件(如:ifcfg-eth-xx:xx:xx:xx:xx:xx,先备份再删除)。
步骤3:使用yast进入网卡的配置界面,把原有的两块网卡设置为没有ip,网卡模式改为自动获取地址模式,删除/etc/sysconfig/network下的已经绑定的网卡的配置文件
cd /etc/sysconfig/network/
rm ifcfg-eth1
rm ifcfg-eth2复制
2.2 默认网关配置
注意默认网关的配置,使用yast管理工具进入路由设置界面,或者通过修改配置文件的方式并运行命令进行配置。配置默认网关:
# vi routes 插入如下内容
default 172.27.120.XXX - -
# route add default gw 172.27.120.XXX复制
2.3 重启网络服务,使配置生效
# rcnetwork restart
复制
2.4 验证
1) 输入ifconfig
可以看到bond0已经运行了,bond0、eth1、eth0的MAC地址都是一样。
JSBC-SIHUA-DB02:/etc/sysconfig/network # ifconfig
bond0 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5
inet addr:172.27.120.XX Bcast:172.27.120.XXXMask:255.255.255.0
inet6 addr: fe80::7a2b:cbff:fe4b:54d5/64Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500Metric:1
RX packets:93264981errors:0dropped:0overruns:0frame:0
TX packets:367528errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RX bytes:16176230924 (15426.8 Mb) TX bytes:50574642 (48.2 Mb)
eth0 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1
RX packets:46546840errors:0dropped:0overruns:0frame:0
TX packets:367528errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RX bytes:8093090502 (7718.1 Mb) TX bytes:50574642 (48.2 Mb)
Interrupt:34Memory:f2000000-f2012800
eth1 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1
RX packets:46718141errors:0dropped:0overruns:0frame:0
TX packets:0errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000复制
2) cat /proc/net/bonding/bond0看网卡工作状态
看到bond0,eth0,eth1都是正常的就ok 了。如果绑定不成功/proc/net/bonding/不会有bond0这个文件。
# cat /proc/net/bonding/bond0
EthernetChannelBondingDriver: v3.0.1 (January 9, 2006)
BondingMode: fault-tolerance (active-backup)
PrimarySlave: None
CurrentlyActiveSlave: eth0
MIIStatus: up
MIIPollingInterval (ms): 100
UpDelay (ms): 0
DownDelay (ms): 0
SlaveInterface: eth0
MIIStatus: up
LinkFailureCount: 1
PermanentHWaddr: 78:2b:cb:53:dd:ca
SlaveInterface: eth1
MIIStatus: up
LinkFailureCount: 1
PermanentHWaddr: 78:2b:cb:53:dd:cb复制
注意:SUSE中不需要手动加载bonding模块。
ifconfig -a | grep HWaddr 查询网卡的MAC地址
复制
suse12的做法(图形化操作)


在网络配置中添加绑定:



本文作者:刘 辉(上海新炬中北团队)
本文来源:“IT那活儿”公众号
