您的位置:首页 > 运维架构 > Linux

Linux实现双网卡负载均衡详解

2010-08-17 11:22 537 查看
一、 游戏服务器:
1、配置:
Intel双核CPU、
2GB667内存、
SCSI146GB硬盘*2 ( 硬盘转速:15000转/s)装游戏+80GBIDE
Intel 800003ES2LAN Gigabit Ethernet 千兆网卡*2 (板载)
显卡板载

2、操作系统:Red Hat Enterprise Linux AS5
内核:kernel 2.6.18-8.e15

IDE80GB,专门存放linux操作系统、2个SCSI硬盘组硬阵列

二、PC机:
1、配置:
AM2 4000+、
1GB667内存、
串口160GB硬盘、
GF7600GT显卡、
Realtek RTL 8169/8110千兆网卡
2、操作系统:Windows XP Service Pack2
IE补丁截止日期:2007年11月8日

三、网络环境:
1、主交换、分交换,全部华为3C全千兆交换机
2、网线,全部超六类千兆网线,不过水晶头有点次,用的是百兆水晶头. -_-..#
3、网线做法:586B

实现负载均衡方法:
第一步、编辑虚拟网络接口配置文件。
建立 /etc/sysconfig/network-scripts/ifcfg-bond0 文件
内容如下:
DEVICE=bond0
IPADDR=192.168.0.253
NETMASK=255.255.252.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.253

第二步、编辑真实网卡的配置文件(建议修改之前做好备份)(我这里两块网卡,故只要做以下几步就可以了)

1、编辑eth0网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
内容如下:
DEVICE=eth0
BOOTPROTO=none
TYPE=Ethernet

MASTER=bond0
slave=yes

2、编辑eth1网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth1
内容如下:
DEVICE=eth1
BOOTPROTO=none
TYPE=Ethernet

MASTER=bond0
slave=yes

( 注意:真实网卡不能再设置ip地址了,按需要把所要绑定的真实网卡都按这个设置,主要是MASTER=bond0 和 slave=yes 一定不要弄错(简单的方法就是修改一个然后拷贝再修改 )

第三步、修改/etc/modprobe.conf 文件加入如下两行:(建议做好备份)
alias bond0 bonding
options bond0 miimon=100 mode=1

( 注:1、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。
2、mode=0 表示负载均衡方式,两块网卡都工作。 mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的。)

第四步、在/etc/rc.d/rc.local 加入如下一行(启动时执行此行命令)
ifenslave bond0 eth0 eth1

第五步、重新启动后负载平衡已经能正常工作。

------------------------------------------------------------------------------------------------------------------------------------------------------
测试结果:
一、Linux游戏服务器测试速度:
1、硬盘检测:
[root@ecofe2 ~]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 637 5116671 83 Linux
/dev/hda2 638 892 2048287+ 82 Linux swap / Solaris
/dev/hda3 893 9729 70983202+ 83 Linux
Disk /dev/sda: 291.9 GB, 291999055872 bytes
255 heads, 63 sectors/track, 35500 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 35500 285153718+ 83 Linux

2、读写速度:
[root@ecofe2 ~]# hdparm -tT /dev/hda
/dev/hda:
Timing cached reads: 7480 MB in 2.00 seconds = 4733.86 MB/sec
Timing buffered disk reads: 156 MB in 3.01 seconds = 51.75 MB/sec

[root@ecofe2 ~]# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 9476 MB in 2.00 seconds = 5519.36 MB/sec
Timing buffered disk reads: 740 MB in 3.00 seconds = 246.40 MB/sec

二、客户机下载速度:
1、采用mode=1模式,接任意一张网卡,
用客户机下载容量为7.62GB的《魔兽世界》,下载速度是最低30MB/s,最高57MB/s,平均50MB/s

2、采用mode=0模式,接一根网线到任意一张网卡,或者接两根网线到两张网卡,
用客户机下载容量为7.62GB的《魔兽世界》,下载速度是最低20MB/s,最高45MB/s,平均30MB/s

3、一头采用568B做法,另一头采用采用1-3、2-6、4-7、5-8线对调,并且采用千兆水晶头,再采用mode=1模式,接任何一张网卡
用客户机下载容量为7.62GB的《魔兽世界》,下载速度是最低45MB/s,最高60-61MB/s,平均55MB/s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: