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

2015年(6)

2014年(8)

我的朋友

分类: LINUX

2014-10-10 23:28:47

Linux双网卡绑定和解除绑定的实现
双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。


一、操作步骤  注意:每个节点都要做
 
这里以绑定两个网卡为示例描述。配置文件都在
/etc/sysconfig/network-scripts/目录下。
 1、编辑新的ifcfg-bond0文件增加如下内容:
[root@mi6 ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0 
# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
DEVICE=bond0
BOOTPROTO=static
BROADCAST=172.16.10.255
IPADDR=172.16.10.16
NETMASK=255.255.255.0
NETWORK=172.16.10.0
ONBOOT=yes
USERCTL=no 


这是最后bond0设备的实际IP设置。
 
2、分别编辑ifcfg-eth1和ifcfg-eth2文件
修改前:
[root@mi6 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
DEVICE=eth1
BOOTPROTO=static
BROADCAST=172.16.10.255
HWADDR=B2:4A:52:DA:62:21
IPADDR=172.16.10.16
NETMASK=255.255.255.0
NETWORK=172.16.10.0
ONBOOT=yes


修改后:
[root@mi6 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
DEVICE=eth1
BOOTPROTO=none
HWADDR=B2:4A:52:DA:62:21
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 


修改前:
[root@mi6 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth2
# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
DEVICE=eth2
BOOTPROTO=static
BROADCAST=172.16.10.255
HWADDR=B3:5D:58:DA:31:7A
IPADDR=172.16.10.18
NETMASK=255.255.255.0
NETWORK=172.16.10.0
ONBOOT=yes


修改后
[root@mi6 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth2
# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
DEVICE=eth2
BOOTPROTO=none
HWADDR=B3:5D:58:DA:31:7A
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
 
3、修改/etc/modprobe.conf文件
# vi /etc/modprobe.conf
 添加如下内容:
alias bond0 bonding 
options bond0 miimon=100 mode=1 


[root@mi6 ~]# vi /etc/modprobe.conf 
alias eth0 tg3
alias eth1 tg3
alias eth2 tg3
alias eth3 tg3
alias scsi_hostadapter megaraid_sas
alias scsi_hostadapter1 ahci
alias bond0 bonding
options bond0 miimon=100 mode=1


4、[root@mi6 ~]# vi /etc/rc.local 
#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
ifenslave bond0 eth1 eth2
将网卡eth1和eth2绑定成虚拟网卡bond0
说明:
miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;
     mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
需根据交换机可提供的工作模式选择。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
注意:a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。
如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。
     b、设置的模式要与交换机设置的模式一致。
5、重启系统系统启动时,会自动加载bond模块和激活冗余网卡设置。可使用以下命令进行判断:
# ifconfig 若确认bond0网卡已经激活,可通过插拔网线操作进行切换测试。
[root@mi6 ~]# ifconfig -a
bond0     Link encap:Ethernet  HWaddr B2:4A:52:DA:62:21  
          inet addr:172.16.10.16  Bcast:172.16.10.255  Mask:255.255.255.0
          inet6 addr: fe80::ba2a:72ff:feda:299/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:329 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:62294 (60.8 KiB)  TX bytes:7874 (7.6 KiB)


eth0      Link encap:Ethernet  HWaddr B8:2A:72:DA:02:98  
          inet addr:172.16.10.100  Bcast:    Mask:255.255.255.224
          inet6 addr: fe80::ba2a:72ff:feda:298/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:115 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:29813 (29.1 KiB)  TX bytes:27012 (26.3 KiB)


eth1      Link encap:Ethernet  HWaddr B2:4A:52:DA:62:21 
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:31112 (30.3 KiB)  TX bytes:7874 (7.6 KiB)
          Interrupt:25 Memory:d91d0000-d91e0000 


eth2      Link encap:Ethernet  HWaddr B2:4A:52:DA:62:21  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:165 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:31182 (30.4 KiB)  TX bytes:0 (0.0 b)
          Interrupt:26 Memory:d90a0000-d90b0000


6、Vi /proc/net/bonding/bond0      #查看模式及网卡信息
[root@mi6 ~]# vi /proc/net/bonding/bond0 


Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)


Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0


Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr:B2:4A:52:DA:62:21


Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr:B3:5D:58:DA:31:7A
二、修改配置
 1、修改bond0网卡IP信息
执行以下操作即可:
# vi /etc/sysconfig/network-scripts/ifcfg-bond0 
修改其中IP信息,保存退出并使用以下命令重启网络:
# /etc/init.d/network restart 
注意:
切勿在图形界面下来修改bond0的IP !若已经打开网络属性查看网卡信息,请按退出。不要点确定,否则会修改eth0和eth1的配置信息,使bond0失效。
 2、卸载bond0设备
如需删除双网卡绑定系统,可执行以下操作:
#rm -f /etc/sysconfig/network-scripts/ifcfg-bond0 
#vi /etc/etc/modules.conf 
 
然后删除以下两行后,保存退出
alias bond0 bonding 
options bond0 miimon=100 mode=1 
 
最后重新配置eth0和eth1的IP,并重启网络即可。
阅读(937) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~