Linux双网卡bonding

分为三步:

1、创建bond0网卡:

 

vim /etc/sysconfig/network-scripts/ifcfg-bond0

 

添加如下内容:

DEVICE=bond0 BOOTPROTO=none ONBOOT=yes NETWORK=192.168.0.0 NETMASK=255.255.255.0 IPADDR=192.168.0.10 USERCTL=no GATEWAY=192.168.0.254 TYPE=Ethernet

 

2、修改eth0、eth1:

 

vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=yes

 

vim /etc/sysconfig/network-scripts/ifcfg-eth1

 

DEVICE=eth1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=yes

3、修改modprobe.conf:

 

  以便kernel识别。加入设置参数,miimon值表示两块网卡相互监测的时间,以ms为单位。mode值为工作模式,可设置为高可用还是负载均衡,0为高可用(默认值),1为负载均衡,另外还有一种XOR模式。

 

vim /etc/modprobe.conf

 

alias bond0 bonding options bond0 miimon=100 mode=1

  

  说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。 


   mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。 


   mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.   


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

 

4、调整交换机,绑定多端口,做链路聚合

 

    mode 0下bond所绑定的网卡的IP都被修改成一样的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。


    所以mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址。

 

转载自:http://www.178-go.com/archives/bonding.html

你可能感兴趣的:(linux)