redhat 双网卡绑定当系统中有多个网卡需要进行设置时,建议将网卡的MAC地址与ethX文件中的HWADDR一一对应,否则系统重启后网卡的eth号很可能会发生改变,在设置了网卡绑定的生产系统中,这是非常危险的。 1、配置驱动模块 修改文件/etc/modprobe.conf,找到: alias eth0 8139cp alias eth1 8139cp 注意: 8139cp为网卡型号。 在此内容后加入: ######## Bonding ########## alias bond0 bonding options bonding max_bonds=1 或 ######## Bonding ########## alias bond0 bonding 2、建立bonding网卡配置 新建文件/etc/sysconfig/network-scripts/ifcfg-bond0,输入以下内容: DEVICE=bond0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.100.21 NETMASK=255.255.255.0 USERCTL=no BONDING_OPTS="mode=1 miimon=100 primary=eth0" BONDING_OPTS参数解释 此参数用于指定网卡绑定时的属性,以下是对常用参数进行的解释: miimon参数:指定网卡故障时的切换时间间隔以ms为单位。 primary参数:指定默认的主网卡设备。 mode参数: 0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。 1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。 2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。 3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。 4-802.3ad负载均衡模式,要求交换机也支持802.3ad模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps) 5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。 6-适配器输入/输出负载均衡模式,在"模式5"的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。 xmit_hash_policy参数(此参数对mode参数中的2、4模式有影响): layer1 -通过MAC地址进行HASH计算。 计算公式:(MACsrc�MACdest)% Nslave layer2+3 -通过mac和ip地址进行HASH计算 layer3+4 -通过TCP及UDP端口及其IP地址进行HASH计算。 计算公式:((portsrc�portdest)�(IPsrc�IPdest)) % Nslave 注意: mode参数中的0、2、3、4模式要求交换机支持"ports group"功能并能进行相应的设置,例如在Cisco中要将所连接的端口设为"trunk group"。 选择绑定模式的建议 如果系统流量不超过单个网卡的带宽,请不要选择使用mode 1之外的模式,因为负载均衡需要对流量进行计算,这对系统性能会有所损耗。 建议mode 5、mode 6只在交换机不支持"ports group"的情况下选用。 如果交换机及网卡都确认支持802.3ab,则实现负载均衡时尽量使用mode 4以提高系统性能。 3、修改被绑定网卡的配置 修改/etc/sysconfig/network-scripts/ifcfg-eth0为: # Realtek Semiconductor Co., Ltd. RTL-8139/<?xml:namespace prefix = st1 />/+ DEVICE=eth0 MASTER=bond0 SLAVE=yes HWADDR=54:52:00:35:f9:a0 ONBOOT=yes 4、修改/etc/sysconfig/network-scripts/ifcfg-eth1为: # Realtek Semiconductor Co., Ltd. RTL-8139//+ DEVICE=eth1 MASTER=bond0 SLAVE=yes HWADDR=54:52:00::37:ce ONBOOT=yes 启动网卡绑定设备 5、导入bonding驱动: [root@localhost ~]# modprobe -i bonding max_bonds=1 bonding: Warning: either miimon or arp_interval 此时系统会发出一个警告,意思是bonding驱动要求提供miimon参数或arp_inerval参数与arp_ip_target参数的组合,否则系统将无法检测出网卡设备连接是否失效。由于miimon已经在/etc/sysconfig/network-scripts/ifcfg-bond0中设定,所以可以不用理会此警告。 6、重启网络 [root@localhost ~]# /etc/init.d/network restart bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect [root@localhost ~]# cat network Shutting down interface eth0 Shutting down interface eth1 Shutting down loopback interface: Bringing up loopback interface: Bringing up interface bond0: 网络重启完毕,此时由于/etc/sysconfig/network-scripts/ifcfg-bond0中的设置,miimon参数已经生效。 以上"导入bonding驱动"及"重启网络"的操作也可以通过重新启动操作系统来实现,但对于一些正在生产环境中运行的系统,一般要求进行系统维护时不影响系统的正常运作。通过以上两个操作可以将系统的"总失效时间"降到最低。 |
文献出自:http://hi.baidu.com/rhce2010/item/507ac02e9f0aa3dd0e37f9af |