Rhle5.X 网卡绑定
步骤1 首先确定Linux是否支持bonding
[root@rhel5 ~]# cat/boot/config-2.6.18-308.el5 |grep -i bonding
CONFIG_BONDING=m
返回CONFIG_BONDING=m表示支持,否则需要编译内核使他支持bonding
步骤2检查ifenslave工具是否存在
[root@rhel5 ~]# which ifenslave
/sbin/ifenslave
如果没有ifenslave,也需要把它单独编译出来
步骤3创建/etc/sysconfig/network-scripts/ifcfg-bond0文件,加入以下内容:
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.100.21
NETMASK=255.255.255.0
GATEWAY=192.168.100.254
USERCTL=no
其中USERCTL=no表示该设备只能由root用户来控制。
步骤4更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件内容:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
其中,MASTER=bond0表示eth0绑定到bond0设备上。
步骤5更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡配置文件内容:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
步骤6修改/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为负载均衡模式,两个网卡都工作,如果有一个网卡不能正常工作,整个绑定通信将不能正常工作,这个功能还需要交换机支持相应的功能。Mode=1为提供冗余功能,采用主备工作方式。
步骤7 reboot机器,最好重启机器,不是重启网卡
步骤8 ifconfig,查看eth0,eth1的MAC地址是否与bond0一致
[root@rhel5 ~]# ifconfig
bond0 Linkencap:Ethernet HWaddr00:0C:29:27:07:A7
inet addr:192.168.100.21 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr:fe80::20c:29ff:fe27:7a7/64 Scope:Link
UP BROADCAST RUNNING MASTERMULTICAST MTU:1500 Metric:1
RX packets:363 errors:0 dropped:0overruns:0 frame:0
TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29513 (28.8 KiB) TX bytes:19925 (19.4 KiB)
eth0 Linkencap:Ethernet HWaddr00:0C:29:27:07:A7
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:257 errors:0 dropped:0overruns:0 frame:0
TX packets:165 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21578 (21.0 KiB) TX bytes:21343 (20.8 KiB)
eth1 Linkencap:Ethernet HWaddr00:0C:29:27:07:A7
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:111 errors:0 dropped:0overruns:0 frame:0
TX packets:0 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8235 (8.0 KiB) TX bytes:0 (0.0 b)
Interrupt:75 Base address:0x2000
步骤9查看bond0的运行状态
[root@rhel5 ~]# cat/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: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:27:07:a7
Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:27:07:b1
以上输入表示bond0运行在冗余模式(active-backup),如果是负载均衡则输出(round-robin)。
Rhle6.X 网卡绑定
步骤1 首先确定Linux是否支持bonding
[root@rhle6 ~]# cat/boot/config-2.6.32-431.el6.x86_64 |grep -i bonding
CONFIG_BONDING=m
返回CONFIG_BONDING=m表示支持,否则需要编译内核使他支持bonding
步骤2检查ifenslave工具是否存在
[root@rhle6 ~]# which ifenslave
/sbin/ifenslave
如果没有ifenslave,也需要把它单独编译出来
步骤3创建/etc/sysconfig/network-scripts/ifcfg-bond0文件,加入以下内容:
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.254
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BONDING_OPTS="mode=1 miimon=100"
其中USERCTL=no表示该设备只能由root用户来控制;NM_CONTROLLED一定要配置为no;BONDING_OPTS配置绑定模式,其中,miimon是用来进行链路监测的,例如miimon=100,表示系统每100ms监测一次链路连接状态,如果有一条链路不通就转入另一条链路,mode表示工作模式,共有0、1、2、3四种模式,常用的是0和1两种,mode=0为负载均衡模式,两个网卡都工作,如果有一个网卡不能正常工作,整个绑定通信将不能正常工作,这个功能还需要交换机支持相应的功能。Mode=1为提供冗余功能,采用主备工作方式。
步骤4更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件内容:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
其中,MASTER=bond0表示eth0绑定到bond0设备上。
步骤5更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡配置文件内容:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
步骤6修改/etc/modprobe.d/dist.conf文件,最后加上
alias bond0 binding
步骤7修改/etc/rc.d/rc.local文件,最后加上
ifenslave bond0 eth0 eth1
步骤8关闭NetworkManager服务
service NetworkManager stop
chconfig NetworkManager off
步骤9 reboot机器,最好重启机器,不是重启网卡
步骤10 ifconfig,查看eth0,eth1的MAC地址是否与bond0一致
[root@rhle6 ~]# ifconfig
bond0 Linkencap:Ethernet HWaddr 00:0C:29:6A:99:F1
inet addr:192.168.100.20 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr:fe80::20c:29ff:fe6a:99f1/64 Scope:Link
UP BROADCAST RUNNING MASTERMULTICAST MTU:1500 Metric:1
RX packets:8960 errors:0 dropped:0overruns:0 frame:0
TX packets:178 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:769285 (751.2 KiB) TX bytes:21985 (21.4 KiB)
eth0 Linkencap:Ethernet HWaddr 00:0C:29:6A:99:F1
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:4362 errors:0 dropped:0overruns:0 frame:0
TX packets:0 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:373829 (365.0 KiB) TX bytes:0 (0.0 b)
eth1 Linkencap:Ethernet HWaddr 00:0C:29:6A:99:F1
UP BROADCAST RUNNING SLAVEMULTICAST MTU:1500 Metric:1
RX packets:4599 errors:0 dropped:0overruns:0 frame:0
TX packets:179 errors:0 dropped:0overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:395516 (386.2 KiB) TX bytes:22219 (21.6 KiB)
步骤11查看bond0的运行状态
[root@rhle6 ~]# cat/proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
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:00:0c:29:6a:99:f1
Slave queue ID: 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr:00:0c:29:6a:99:e7
Slave queue ID: 0
以上输入表示bond0运行在冗余模式(active-backup),如果是负载均衡则输出(round-robin)。