Linux双网卡绑定

来源:互联网 发布:英语口语测试软件 编辑:程序博客网 时间:2024/05/03 08:25

双网卡绑定

注:本文档主要是针对四网卡绑定成两个BOND的说明

1.首先/etc/sysconfig/network-scripts 下增加ifcfg-bond0,ifcfg-bond1

2.修改ifcfg-eth0,ifcfg-eth1, ifcfg-eth2, ifcfg-eth3

3.在/etc/下修改modprobe.conf

4.重启网络服务service network restart(最好重启)

 

详细介绍:

ifcfg-bond0的配置:

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

#BROADCAST=172.11.1.255

#GATEWAY=172.11.1.254

IPADDR=172.16.1.117

NETMASK=255.255.255.0

NETWORK=172.11.1.0

USERCTL=no

PEERDNS=no

 

ifcfg-bond1的配置:

DEVICE=bond1

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

#BROADCAST=172.11.2.255

#GATEWAY=172.11.1.254

IPADDR=172.11.2.117

NETMASK=255.255.255.0

NETWORK=172.11.2.0

USERCTL=no

PEERDNS=no

 

ifcfg-eth0的配置其它类似:

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

PEERDNS=no

HWADDR=MACADDR(此处的MAC地址最好填上否则会引起网卡漂移的现象)

 

名词注释:

DEVICE=物理设备名
IPADDR=IP地址
NETMASK=掩码值
NETWORK=网络地址
BROADCAST=广播地址
GATEWAY=网关地址

TYPE=Ethernet (网络类型)
ONBOOT=[yes|no](引导时是否激活设备)
USERCTL=[yes|no](非root用户是否可以控制该设备)

PEERDNS=[yes|no] (是,如果通过 DHCP 获取 IP ;否将 DNS 信息写入 /etc/resolv.conf (覆盖))
BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
HWADDR = 你的MAC地址

 

modprobe.conf的配置:

修改/etc/modprobe.conf 文件,同样做好备份,最后加入四行

alias bond0 bonding

options bond0 miimon=100 mode=0  max_bonds=2

alias bond1 bonding

options bond1 miimon=100 mode=0  max_bonds=2
注:
1) miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是每100ms
监测一次链路连接状态,如果有一条线路不通就转入另一条线路。

2) mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持 

   mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的 

   mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持

注意:对于目前0模式测试是有点问题,如果交换机上没有相关配置的话网络上丢包会很严重,而且用0模式他只是一种轮流发送的模式而不是所谓的会增加网络的带宽,轮流发送包这样无形中导致了网络的速率下降(因为要去做出选择走那个网卡),现在普遍用的是1模式冗余的模式安全可靠,速度也快速。

3) bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用 

4) max_bonds=2网卡绑定。如果BOND在一个以上,最好加上这参数限制BOND最大加载几个,如果没有加载这个参数会网络重启的时候会报类似于“找不到BOND1参数,BOND1加载失败的错误”

alias eth0 bnx2

alias eth1 bnx2

alias eth2 bnx2

alias eth3 bnx2

alias scsi_hostadapter cciss

alias scsi_hostadapter1 usb-storage

alias usb-controller uhci-hcd

alias usb-controller1 ehci-hcd

alias bond0 bonding

options bond0 miimon=100 mode=0 max_bonds=2

alias bond1 bonding

options bond1 miimon=100 mode=0 max_bonds=2

 

网络重启

service network restart:

网卡绑定完成后可以重启网络使绑定生效。如果重启网络不行那最好重启机器,特别是在没有加max_bonds这个参数导致网络失效。修正后再重启网络一直会报错,这时最好重启机器就OK了。

双网卡绑定修改完成后最好重启,否则对于使用交换机上面错误的网络资源它不会及时的释放,因为在某个项目上遇到过这种情况就是双网卡绑定修改前交换机CPU90%)使用率很高。绑定修改后没有重启机器,只是重启网络资源还是没有释放,最好重启机器才及时释放交换机上面的CPU使用率。

 

检查网卡状态及相关信息

mii-tool

ethtool  eth0/eth1

 

通过以下命令查看bond0的工作状态查询能详细的掌握bonding的工作状态,如这个绑定各网卡的工作状态、主备关系、链路侦测时间
[root@ASMTS ~]# cat /proc/net/bonding/bond0

 

启动与停止网卡

1) ifdown eth0                       停止某NIC,如eth0;

2) ifup   eth0                       启动某NIC,如eth0;

3) service network stop              停止;

4) service network start             启动,并重新配置网络环境。

5) ifup/ifdown 与 service network 的比较:

   a) 前者只能一次一个网卡的启动与停止,后者可以多个,依照配置文件中设置ONBOOT=yes的所有网卡;

   b) 前者不能初始化网络环境,后者会初始化网络环境,自动更新路由表的内容;

常规来讲,service network比单纯使用ifup/ifdown工具可以产生更干净、正确的网络配置,因此建议尽可能使用network服务来重新建立Linux的网络环境.

0 0
原创粉丝点击