暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

LINUX(suse,redhat)双网卡绑定操作步骤

IT那活儿 2025-03-07
33

点击上方“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 addrfe80::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
EthernetChannelBondingDriverv3.0.1 (January 92006)

BondingModefault-tolerance (active-backup)
PrimarySlaveNone
CurrentlyActiveSlaveeth0
MIIStatusup
MIIPollingInterval (ms): 100
UpDelay (ms): 0
DownDelay (ms): 0

SlaveInterfaceeth0
MIIStatusup
LinkFailureCount1
PermanentHWaddr78:2b:cb:53:dd:ca

SlaveInterfaceeth1
MIIStatusup
LinkFailureCount1
PermanentHWaddr78:2b:cb:53:dd:cb

复制

注意:SUSE中不需要手动加载bonding模块。

ifconfig -a | grep HWaddr 查询网卡的MAC地址
复制

suse12的做法(图形化操作)

在网络配置中添加绑定:


END


本文作者:刘 辉(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论