linux作为一个具有代表性的开源系统,受到广大的用户所喜爱。那么如何在LVS下进行负载均衡的使用呢?现在我们就来详细地为大家介绍一下,主要是使用ipvsadm来实现负载均衡。那么按照一贯的程序,首先是安装程序,然后是配置。
Linux Virtua Server负载均衡ipvsadm使用方法
1.安装ipvsadm
下载ipvsadm,下载时需注意对应自己的内核版本。
ipvsadm下载网址:http://www.linuxvirtualserver.org/software/
本文使用的是FC8系统,内核版本2.6.23.1,对应ipvsadm版本1.24。
安装时需要Linux内核源码,如果安装系统时没有安装源码,需要再下载内核源码。本文使用的内核是linux-2.6.23.1.tar.bz2。把内核解压到/usr/src/linux-2.6.23.1。下面开始编译安装:
建立内核快捷方式:ln-s/usr/src/linux-2.6.23.1/usr/src/linux
解压ipvsadm:tar zxvf ipvsadm-1.24.tar.gz
安装ipvsadm:
cdipvsadm-1.24 make makeinstall
安装完成后,下一步我们开始配置IPVS,本文主要介绍Direct Routing方式的配置。#p#
2.配置IPVS(Direct Routing)
2.1.网络结构
三台计算机,一台Director安装Linux作负载均衡器,另两台ReaServer提供服务。
Director:eth0=192.168.34.40,eth0:0(VirtuaIP)=192.168.34.41 RealServer1:IP=192.168.34.26 RealServer2:IP=192.168.34.27
服务端口:443
客户通过VirtuaIP 192.168.34.41访问服务器。Load Balancer将来自客户的访问按一定的负载均衡机制分发到192.168.34.26和192.168.34.27这两台实际提供服务的服务器。
2.2.Load Balancer配置
步骤1:配置Director IP
在Director上配置好eth0的IP(192.168.34.40),然后在eth0上新增一个IP(192.168.34.41),命名为eth0:0,作为VirtuaIP。
步骤2:配置IPVS Table脚本
编写sh脚本如下: VIP=192.168.34.41#VrituaIP地址 RIP1=192.168.34.27#ReaServer1IP RIP2=192.168.34.26#ReaServer2IP GW=192.168.34.1#ReaServer网关IP #清除IPVSTable ipvsadm-C #设置IPVSTable ipvsadm-A-t$VIP:443-swlc ipvsadm-a-t$VIP:443-r$RIP1:443-g-w1 ipvsadm-a-t$VIP:443-r$RIP2:443-g-w1 #将IPVSTable保存到/etc/sysconfig/ipvsadm /etc/rc.d/init.d/ipvsadmsave #启动IPVS serviceipvsadmstart#或者/etc/rc.d/init.d/ipvsadmstart也可以 #显示IPVS状态 ipvsadm-l #脚本结束---------------------------- 该脚本配置IPVSTable,并将配置保存到/etc/sysconfig/ipvsadm文件中。 以后修改IPVSTABLE可直接修改该脚本。当然,您也可以直接编辑该文件来实现IPVSTable的配置。 配置完毕后执行/etc/rc.d/init.d/ipvsadmstart(或serviceipvsadmstart)启动IPVS。 通过以上两个步骤,就完成了负载均衡器IPVS的配置。
2.3.ReaServer配置
ReaServer主要做两个配置,一是添加一个虚拟IP,二是关闭该IP的ARP响应。
2.3.1.Windows系统
对于Windows系统的服务器,只要添加一个Loopback的网卡,IP地址设置成虚拟IP(192.168.34.41),子网掩码设置成255.255.255.255,网关地址留空。
操作: 从控制面板选择添加硬件; 选择"是,硬件已连好"; 选择"添加新的硬件设备"; 选择"安装我手动从列表选择的硬件"; 选择"网络适配器";
从厂商列表选择"Microsoft",从网卡列表选择"Microsoft Loopback Adapter";
点下一步开始安装硬件,安装完毕后出现一个新的网卡,配置好IP和子网掩码。Windows子网掩码无法配置成255.255.255.255,我们可以先按默认的保存配置,然后从注册表修改子网掩码。
注册表修改子网掩码:
从注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]下找到对应的网卡,将SubnetMask修改成255.255.255.255。然后禁用再启用该网卡即可。#p#
3.配置LDirectord RealServer故障检测及管理
LDirectord进程定时检测各ReaServer运行状态,当检测到某台ReaServer故障时,则将该Server从负载均衡调度列表删除,当恢复正常时再加入。
3.1.安装LDirectord
LDirectord软件包含在HeartBeat软件包中。安装HeartBeat时就同时安装了LDirectord。HeartBeat下载网址:http://www.linuxvirtualserver.org/software/。
安装HeartBeat还需要安装libnet等软件包。可以到网上下载这些软件包来安装。Libnet下载网址:http://www.packetfactory.net/libnet/dist/libnet.tar.gz
安装libnet:
tarzxflibnet.tar.gz cdlibnet ./configure make makeinstall
安装HeartBeat:
./ConfigureMeconfigure make makeinstall
安装完后执行以下命令加入自启动项:
chkconfig-add ldirectord
3.2.配置LDirectord
heartbeat/ldirectord目录下有个ldirectord.cf文件。该文件是ldirectord的配置范例。在/etc/ha.d/目录下新建一个ldirectord.cf文件,按配置范例格式进行配置,主要配置项如下:
checktimeout=3#检测超时3s checkinterval=1#检测间隔1s fallback=127.0.0.1:443#所有服务器都故障时访问该服务器 autoreload=yes#配置文件改变时自动加载 logfile="/var/log/ldirectord.log"#日志文件 quiescent=yes virtual=192.168.34.41:443#虚拟IP real=192.168.34.26:443gate real=192.168.34.27:443gate fallback=127.0.0.1:443#所有服务器都故障时访问该服务器 service=none scheduler=wlc persistent=600 protocol=tcp checktype=on
3.3.启动ldirectord
/etc/rc.d/init.d ldirectord start
Linux负载均衡安装中注意:启动时如果提示ldirectord某行出错,一般是有些运行需要的软件没安装,大部分是perl开头的软件包。
net-snmp-5.3-4.2.i386.rpm net-snmp-libs-5.3-4.2.i386.rpm perl-Compress-Zlib-1.41-1.2.2.i386.rpm perl-HTML-Parser-3.50-1.i386.rpm perl-HTML-Tagset-3.10-2.1.noarch.rpm perl-libwww-perl-5.805-1.1.noarch.rpm perl-MailTools-1.74-1.fc5.noarch.rpm perl-TimeDate-1.16-3.2.noarch.rpm perl-URI-1.35-2.2.noarch.rpm
转载请注明:IT运维空间 » 运维技术 » 细致教程之Linux负载均衡
发表评论