分类:
2011-12-21 23:11:50
原文地址:Linux实现双网卡负载均衡详解 作者:badb0y
一、 游戏服务器: 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 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 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 Timing buffered disk reads: 156 MB in 3.01 seconds = 51.75 [root@ecofe2 ~]# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 9476 MB in 2.00 seconds = 5519.36 Timing buffered disk reads: 740 MB in 3.00 seconds = 246.40 二、客户机下载速度: 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 |