一)前言 年前忙着帮几台内网linux服务器配置双网卡绑定,下面写一下大致的配置流程和说明 二)前提条件 bonding的实现前提是使用相同型号的网卡芯片。本人用两台centos 5.6做测试,centos默认支持已经支持bonding 三)配置
1,配置虚拟网卡:
vi /etc/sysconfig/network-scripts/ifcfg-bond0 输入: DEVICE=bond0 BROADCAST=192.168.100.255 HWADDR=00:0C:29:07:26:21 IPADDR=192.168.100.200 NETMASK=255.255.255.0 NETWORK=192.168.100.0 ONBOOT=yes BOOTPROTO=none USERCTL=no BONDING_OPTS="mode=0 miimon=100" 复制代码 mode=0:指的是使用指负载均衡模式,如果这个参数为1,表示冗余功能。 miimon=100:表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。
2,配置真实网卡: vi /etc/sysconfig/network-scripts/ifcfg-eth0 输入: # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes 复制代码 vi /etc/sysconfig/network-scripts/ifcfg-eth1 输入: # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes 复制代码 3,修改配置使系统启动时加载bonding模块使用bond0接口。 vi /etc/modprobe.conf shift+g跳到末尾添加一行: alias bond0 bonding 复制代码 全文如下: alias eth0 pcnet32 alias scsi_hostadapter mptbase alias scsi_hostadapter1 mptspi alias scsi_hostadapter2 ata_piix alias snd-card-0 snd-ens1371 options snd-card-0 index=0 options snd-ens1371 index=0 remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371 alias eth1 pcnet32 alias bond0 bonding 复制代码 4,重启网络服务,查看绑定情况: 重启的时候vmware会出现下面消息: Adapter Ethernet1 may not have network connectivity.MAC address 00:0C:29:07:26:21 of adapter Ethernet1 is within the reserved address range or is in use by another virtual adapter on your system. Adapter Ethernet1 may not have network connectivity.... 复制代码 查看网络是否生效: bond0 Link encap:Ethernet HWaddr 00:0C:29:07:26:21 inet addr:192.168.100.200 Bcast:192.168.100.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe07:2621/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:1085 errors:0 dropped:0 overruns:0 frame:0 TX packets:1000 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:98300 (95.9 KiB) TX bytes:305876 (298.7 KiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:07:26:21 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:221 errors:0 dropped:0 overruns:0 frame:0 TX packets:936 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20955 (20.4 KiB) TX bytes:295804 (288.8 KiB) Interrupt:67 Base address:0x2000
eth1 Link encap:Ethernet HWaddr 00:0C:29:07:26:21 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:868 errors:0 dropped:0 overruns:0 frame:0 TX packets:77 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:77585 (75.7 KiB) TX bytes:12106 (11.8 KiB) Interrupt:67 Base address:0x2080
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:352 (352.0 b) TX bytes:352 (352.0 b) 复制代码 OK,没有问题了,我们用同样的方法来配置另外一台centos,虚拟IP为:192.168.100.201
5,测试 配置好了之后,两台相互ping,发现能通: 没有任何问题 然后我们关掉一个网卡看能达到自动冗余不 ifdown eth1 发现,仅仅是延迟高了一点,然后里面回复正常
|