前言:
大型服务器往往要处理大量数据,高并发.因此,需要较大的宽带,可使用网卡聚合技术来实现.
开启网卡聚合:
例如我们要将eth1,eth2聚合为bondtest,聚合网卡bondtest的IP为192.168.200.12。
1,判断/etc/rc.d/bak.rc.local是否存在,
若存在删除bak.rc.local中的“ifenslave b”行,并将bak.rc.local更名为rc.local,
若不存在,删除rc.local中的“ifenslave b”行,并复制rc.local为bak.rc.local
2,删除/etc/modprobe.d/bonding.conf
3,判断/etc/sysconfig/network-scripts中是否有文件ifcfg-bondtest,若有,删除它,若没有就行执行下面的操作。
在/etc/sysconfig/network-scripts创建文件ifcfg-bondtest
在ifcfg-bondtest中写入一下内容:
DEVICE=bondtest
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.12
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.200.255
USERCTL=no
4,判断/etc/sysconfig/network-scripts目录下是否有bak.ifcfg-eth1 和 bak.ifcfg-et2,若有将他们更名为ifcfg-eth1 和 ifcfg-eth2,若没有将ifcfg-eth1 ifcfg-eth2更名为bak.ifcfg-eth1 和 bak.ifcfg-eth2
将/etc/sysconfig/network-scripts目录下的ifcfg-eth1修改成如下内容:
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bondtest
SLAVE=yes
BOOTPROTO=none
将/etc/sysconfig/network-scripts目录下的ifcfg-eth2 修改成如下内容:
DEVICE=eth2
USERCTL=no
ONBOOT=yes
MASTER=bondtest
SLAVE=yes
BOOTPROTO=none
ifenslave bondtest eth2eth1
6,执行:
rmmod bonding
service network restart
#/bin/sh
sed -i '/net_man/d' /etc/iproute2/rt_tables
sed -i '/net_man/d' /etc/rc.d/rc.local
sed -i '/net_man/d' /etc/iproute2/rt_tables
echo "80 net_man" >> /etc/iproute2/rt_tables
IUD=net_man
SFILE=/etc/sysconfig/network-scripts/ifcfg-eth0
UFILE=/etc/sysconfig/static-routes
MIP=`egrep -r 'IPADDR' $SFILE | awk -F= '{print $2}'`
GIP=`egrep -r '#net_man=' $UFILE | awk -F= '{print $2}' | awk '{print $1}' `
POT=`egrep -r 'port=' $UFILE | awk -F= '{print $3}'`
OEX="ip route flush table net_man"
TEX="ip route add default via $GIP dev $POT table $IUD"
UEX="ip rule add from $MIP table $IUD"
$OEX
$TEX
$UEX
echo "$OEX" >> /etc/rc.d/rc.local
echo "$TEX" >> /etc/rc.d/rc.local
echo "$UEX" >> /etc/rc.d/rc.local
chmod 755 /etc/rc.d/rc.local
完成!!