RedHat Linux下双网卡绑定实现负载均衡

简介

Redhat中允许绑定多个网卡到一个通道,以实现负载均衡或者容错,也就是我们平时说的网卡绑定,linux在kenrnel 2.4.12以后就自带了bonding驱动。

我们现在有eth0、eth1两块网卡,为了实现负载均衡或失效保护需要绑定这两块网卡,具体操作如下:

操作步骤

第一步:创建一个ifcfg-bondX

# vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BONDING_OPTS="mode=0 miimon=100"

BOOTPROTO=none

ONBOOT=yes

broADCAST=192.168.0.255

IPADDR=192.168.0.180

NETMASK=255.255.255.0

NETWORK=192.168.0.0

USERCTL=no

编辑ifcfg-bond0如上,其中:

DEVICE=bond0,指定设备名称为bond0

BONDING_OPTS="mode=0 miimon=100" ,mode有多种模式实现不同的功能,我们用的最多的是0、1两种模式:

mode=0表示可实现负载均衡功能,两个网卡同时工作,当其中一个网卡宕掉时另一个会继续工作;

mode=1表示提供冗余功能,只有一个网卡工作,当其中一个出问题时另一网卡才接管开始工作。

miimon是用来进行链路监测的,比如miimon=100,那么系统每100ms监测一次链路连接状态。

第二步:修改/etc/sysconfig/network-scripts /ifcfg-ethX

这里说的ethX指要加入绑定网卡的名称,本文档中是eth0、eth1。

# vi /etc/sysconfig/network-scripts /ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

# vi /etc/sysconfig/network-scripts /ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

第三步:配置/etc/modprobe.conf,添加alias bond0 bonding

# vi /etc/modprobe.conf

alias eth0 e1000e

alias eth1 e1000e

alias scsi_hostadapter mptbase

alias scsi_hostadapter1 mptspi

alias bond0 bonding

第四步:重启网络服务

#service network restart

通过以上四步配置,bond0便可以生效并正常工作了。查看端口是否正常可以用ifconfig命令查看,也可以通过查看/proc/net/bonding/bond0,查看当前是用什么mode,如果是主备的话,当前是哪个网卡工作。

# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.0.3 (march 23, 2006)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth0

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:0c:29:01:4f:77

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:0c:29:01:4f:8b

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...