Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63107
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 131
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-04 10:04
文章分类
文章存档

2014年(6)

我的朋友

分类: LINUX

2014-03-18 11:21:25


红帽(Red hat)操作系统的网卡绑定方法

在当前的业务服务器环境中,单网卡的系统并不稳定,当业务流量大或网卡突然出现故障时,容易引起业务中断,这时候,我们需要考虑将多个网卡绑定为一个IP,以提供冗余,避免出现单点故障的情况。广东省Linux公共服务技术支持中心(咨询热线:400-033-0108)在为客户提供服务过程中总结出将网卡绑定操作的经验方法,供同行参考。

以将一台机器上的eth3eth4两块网卡绑定成trunk0,将eth5eth6两块网卡绑定为trunk1为例说明网卡绑定操作方法,创建trunk1的步骤请参考本文中的注释完成。本文适用于RHEL5/6CENTOS5/6等红帽系Linux操作系统。

 本文中红色文字表示为可修改部分。

本文中蓝色文字表示是注释性信息,供用户参考。

 

一、解除ifenslave方式绑定,将系统配置恢复成初始未绑定状态

在开始绑定前需要解除原来可能存在的ifenslave方式的网卡绑定,如果不存在ifenslave方式绑定则可以跳过本节,跳到下面的第二节-手工修改系统脚本。解除步骤如下:

1、删除/etc/modprob.conf文件里面的  alias trunk0 bonding和options trunk0 miimon=100 mode=1 两句话。     

<---解除trunk1绑定时,为trunk1

 

2、删除/etc/rc.d/rc.local中包含的ifenslave trunk0 eth3 eth4的语句;

<---解除trunk1绑定时,为trunk1 eth5 eth6

 

    3、检查/etc/sysconfig/network-scripts目录,如果存在ifcfg-trunk0这个文件,则删除;

    <---存在trunk1绑定时,为ifcfg-trunk1

   

    4、检查/etc/sysconfig/network-scripts目录,如果存在ifcfg-eth3、ifcfg-eth4.ifcfg-eth3.bak.ifcfg-eth4.bak,则删除这些配置文件;

<--存在trunk1绑定时,为ifcfg-eth5ifcfg-eth6.ifcfg-eth5.bak.ifcfg-eth6.bak四个文件

 

    5、在network-scripts目录下,使用下面格式重现建立配置文件ifcfg-eth3和ifcfg-eth4(使用vim工具),然后请将建立好的ifcfg-eth3和ifcfg-eth4文件拷贝到/etc/sysconfig/network-scripts目录中。:  

<---存在trunk1绑定时,为ifcfg-eth5ifcfg-eth6

        ifcfg-ethx文件格式如下:

DEVICE=ethx                 <---ethx为eth3或者eth4等具体网卡名称

ONBOOT=yes

BOOTPROTO=dhcp

HWADDR=xx:xx:xx:xx:xx:xx <---需要根据每块网卡的具体MAC地址修改

TYPE=Ethernet

        

    6、重启系统,用ifconfig命令检查所有的网卡设备是否全部正常了。

 

 

二、手工修改系统脚本ifdown-eth

绑定前,需要修改系统脚本,在/etc/sysconfig/network-scripts/ifdown-eth相应的位置增加蓝色标注的一行代码:

ifconfig ${DEVICE} down


 

 

三、备份系统原有的网络配置脚本

稳妥起见,可先将/etc/sysconfig/network-scripts/目录下所有以ifcfg- 开头的文件备份到一个另外的目录,如:/root/eth-bak目录。

 

四、创建绑定

1、创建绑定配置文件:/etc/sysconfig/network-scripts/ifcfg-trunk0内容如下:      <---如果创建trunk1绑定时,为ifcfg-trunk1

 

如果手动设置IPifcfg-trunk0配置文件内容如下:                            <---如果创建trunk1绑定时,为ifcfg-trunk1

 

DEVICE=trunk0                 <---如果创建trunk1绑定时,为trunk1

IPADDR=10.215.32.67          <---如果创建trunk1绑定时,为trunk1绑定的IP

NETMASK=255.255.240.0       <---如果创建trunk1绑定时,为trunk1绑定的掩码

GATEWAY=10.215.32.65         <---如果创建trunk1绑定时,为trunk1绑定的网关

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

 

2、修改/etc/sysconfig/network-scripts/ifcfg-eth3为如下内容:           

    <---如果创建trunk1绑定时,则修改的是ifcfg-eth5文件

 

DEVICE=eth3                  <---如果创建trunk1绑定时,为eth5

ONBOOT=yes

HWADDR=xx:xx:xx:xx:xx     <---该物理设备的实际MAC地址

MASTER=trunk0               <---如果创建trunk1绑定时,为trunk1

SLAVE=yes

BOOTPROTO=none

USERCTL=no

 

 

3、修改/etc/sysconfig/network-scripts/ifcfg-eth4为如下内容:                 <---如果创建trunk1绑定时,则修改的是ifcfg-eth6

 

DEVICE=eth4                    <---如果创建trunk1绑定时,为eth6

ONBOOT=yes

HWADDR=xx:xx:xx:xx:xx        <---该物理设备的实际MAC地址

MASTER=trunk0                 <---如果创建trunk1绑定时,为trunk1

SLAVE=yes

BOOTPROTO=none

USERCTL=no

 

4、在/etc/modprobe.conf里面添加如下语句:

alias trunk0 bonding                   <---如果创建trunk1绑定时,为trunk1

options trunk0 miimon=100 mode=1     <---如果创建trunk1绑定时,为trunk1

<---mode的值可以为1或者0,分别代表active-backupbalance-rr的方式

 

5、用下面的命令重启网络服务,绑定即可生效。

service network restart

 

五、解除绑定的方法

1、删除绑定网卡对应的配置文件

rm –f  /etc/sysconfig/network-scripts/ifcfg-trunk0

<---如果已经创建trunk1时,则删除的是ifcfg-trunk1

 

2、还原原来的配置文件

cp -f  /root/eth-bak/ifcfg-eth3 /etc/sysconfig/network-scripts/

<---如果已经创建trunk1时,则拷贝的是ifcfg-eth5

cp -f  /root/eth-bak/ifcfg-eth4 /etc/sysconfig/network-scripts/

<---如果已经创建trunk1时,则拷贝的是ifcfg-eth6

 

3、删除/etc/modprobe.conf里面如下语句:

alias trunk0 bonding                 <---如果已创建trunk1绑定时,为trunk1

options trunk0 miimon=100 mode=1   <---如果已创建trunk1绑定时,为trunk1

 

4、按顺序执行下面的命令:

ifconfig eth3 down

<---如果已创建trunk1绑定时,为eth5

 

echo -eth3 > /sys/class/net/trunk0/bonding/slaves

<---如果已创建trunk1绑定时,为eth5 trunk1

 

ifconfig eth4 down

<---如果已创建trunk1绑定时,为eth6

 

echo -eth4 > /sys/class/net/trunk0/bonding/slaves

<---如果已创建trunk1绑定时,为eth6和trunk1

 

ifconfig trunk0 down

<---如果已创建trunk1绑定时,为trunk1

 

echo -trunk0 > /sys/class/net/bonding_masters

<---如果已创建trunk1绑定时,为trunk1

 

5、重启网络服务,绑定即可解除成功。

service network restart



阅读(1736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~