概述: 通过网卡绑定,处理网卡单点故障,实验的操作系统是Redhat Linux Enterprise 5.3. 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。 网卡绑定时有四种模式,其中常用的是模式0和模式1: 模式0(轮循模式):负载均衡工作模式,他能提供两倍的带宽 ,这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用. 模式1(主备模式):当一个网络接口失效时(例如主交换机掉电等),不会出现网络中断,系统会按照cat /etc/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能 案例: 模式1 1. modprobe bonding //调用模块bonding modinfo bonding    //查看内核中加载的模块相关参数 内容:


  1. filename: /lib/modules/2.6.25.19/kernel/drivers/net/bonding/bonding.ko  

2.编辑虚拟网络接口配置文件,指定网卡IP 注意:不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。 cd /etc/sysconfig/network-scripts/ vim ifcfg-eth0 //模块别名 内容:


  1. DEVICE=eth0 //设备  
  2. BOOTPROTO=dhcp //自动获取地址  
  3. ONBOOT=yes   //启动激活  

vim ifcfg-eth1 内容:


  1. DEVICE=eth1 
  2. BOOTPROTO=dhcp 
  3. ONBOOT=yes 

cp ifcfg-eth0 ifcfg-bond0 vim ifcfg-bond0 //编辑额外的网卡 内容:


  1. DEVICE=bond0 
  2. BOOTPROTO=none 
  3. IPADDR=192.168.2.101  
  4. NETMASK=255.255.255.0  
  5. ONBOOT=yes 

3.vim /etc/modprobe.conf //编辑模块配置文件,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0 内容加入二行:


  1. alias bond0 bonding   //内核模块  
  2. options bond0  miimon=100 //链路监测 mode=1 //工作模式  

4.vim /etc/rc.local 内容加入一行:


  1. ifenslave bond0 eth0 eth1  

配置完毕,重新启动电脑  1.Xshell:\> ping 192.168.2.101


  1. Pinging 192.168.2.101 with 32 bytes of data:  
  2.    
  3. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  4. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  5. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  6. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  7.    
  8. Ping statistics for 192.168.2.101:  
  9.     Packets: Sent = 4Received = 4Lost = 0 (0% loss),  
  10. Approximate round trip times in milli-seconds:  
  11.     Minimum = 0msMaximum = 0msAverage = 0ms 

2.ifconfig  //查看网卡信息


  1. bond0     Link encap:Ethernet HWaddr 00:0C:29:9E:49:28   
  2.           inet addr:192.168.2.101 Bcast:192.168.2.255 Mask:25  
  3. 5.255.255.0  
  4.           inet6 addr: fe80::20c:29ff:fe9e:4928/64 Scope:Link  
  5.           UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1  
  6.           RX packets:87 errors:0 dropped:0 overruns:0 frame:0  
  7.           TX packets:122 errors:0 dropped:0 overruns:0 carrier:0  
  8.           collisions:0 txqueuelen:0   
  9.           RX bytes:13696 (13.3 KiB) TX bytes:24910 (24.3 KiB)  
  10.    
  11. eth0      Link encap:Ethernet HWaddr 00:0C:29:9E:49:28   
  12.           UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1  
  13.           RX packets:73 errors:0 dropped:0 overruns:0 frame:0  
  14.           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0  
  15.           collisions:0 txqueuelen:1000   
  16.           RX bytes:10395 (10.1 KiB) TX bytes:19299 (18.8 KiB)  
  17.           Interrupt:19 Base address:0x2000   
  18.    
  19. eth1      Link encap:Ethernet HWaddr 00:0C:29:9E:49:28   
  20.           UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1  
  21.           RX packets:14 errors:0 dropped:0 overruns:0 frame:0  
  22.           TX packets:24 errors:0 dropped:0 overruns:0 carrier:0  
  23.           collisions:0 txqueuelen:1000  
  24.           RX bytes:3301 (3.2 KiB) TX bytes:5611 (5.4 KiB)  

3.cat /proc/net/bonding/bond0 //查看内核信息


  1. Bonding Mode: fault-tolerance (active-backup)  
  2. Primary Slave: None  
  3. Currently Active Slave: eth0  
  4. MII Status: up  
  5. MII Polling Interval (ms): 100  
  6. Up Delay (ms): 0  
  7. Down Delay (ms): 0  
  8.    
  9. Slave Interface: eth0  
  10. MII Status: up  
  11. Link Failure Count: 0  
  12. Permanent HW addr: 00:0c:29:9e:49:28  
  13.    
  14. Slave Interface: eth1  
  15. MII Status: up  
  16. Link Failure Count: 0  
  17. Permanent HW addr: 00:0c:29:9e:49:32  

断开网卡eth0后: 1.Xshell:\> ping 192.168.2.101 -t


  1. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  2. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  3. Request timed out.  
  4. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 
  5. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 

2.cat /proc/net/bonding/bond0 


  1. Bonding Mode: fault-tolerance (active-backup)  
  2. Primary Slave: None  
  3. Currently Active Slave: eth1  
  4. MII Status: up  
  5. MII Polling Interval (ms): 100  
  6. Up Delay (ms): 0  
  7. Down Delay (ms): 0  
  8.    
  9. Slave Interface: eth0  
  10. MII Status: down  
  11. Link Failure Count: 1  
  12. Permanent HW addr: 00:0c:29:9e:49:28  
  13.    
  14. Slave Interface: eth1  
  15. MII Status: up  
  16. Link Failure Count: 0  
  17. Permanent HW addr: 00:0c:29:9e:49:32  

断开网卡eth1后:

Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Request timed out.  Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64  模式0 注意:只需修改模块配置文件就可以,其它配置与模式1一样 1.vim /etc/modprobe.conf //编辑模块配置文件 文件内容修改一行:


  1. options bond0 miimon=100 mode=0 

配置完毕,重新启动电脑  断开网卡eth0后: Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Request timed out. Request timed out. Request timed out. 断开网卡eth1后: Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Request timed out. Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64 Reply from 192.168.2.101: bytes=32 time<1ms TTL=64

转载于:https://blog.51cto.com/yz406/962510