当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > LinuxVirtualServer负载均衡之DR配置实例

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 LinuxVirtualServer负载均衡之DR配置实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 47 ::
收藏到网摘: n/a

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:

tarzxvfipvsadm-1.24.tar.gz

安装ipvsadm:

cdipvsadm-1.24

make

makeinstall

安装完成后,下一步我们开始配置IPVS,本文主要介绍DirectRouting方式的配置。

2.配置IPVS(DirectRouting)

2.1.网络结构

三台计算机,一台Director安装Linux作负载均衡器,另两台RealServer提供服务。

Director:eth0=192.168.34.40,eth0:0(VirtualIP)=192.168.34.41

RealServer1:IP=192.168.34.26

RealServer2:IP=192.168.34.27

服务端口:443

客户通过VirtualIP192.168.34.41访问服务器。LoadBalancer将来自客户的访问按一定的负载均衡机制分发到192.168.34.26和192.168.34.27这两台实际提供服务的服务器。

2.2.LoadBalancer配置

步骤1:配置DirectorIP

在Director上配置好eth0的IP(192.168.34.40),然后在eth0上新增一个IP(192.168.34.41),命名为eth0:0,作为VirtualIP。

步骤2:配置IPVSTable脚本

编写sh脚本如下:

VIP=192.168.34.41#VritualIP地址
RIP1=192.168.34.27#RealServer1IP
RIP2=192.168.34.26#RealServer2IP
GW=192.168.34.1#RealServer网关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.RealServer配置

RealServer主要做两个配置,一是添加一个虚拟IP,二是关闭该IP的ARP响应。

2.3.1.Windows系统

对于Windows系统的服务器,只要添加一个Loopback的网卡,IP地址设置成虚拟IP(192.168.34.41),子网掩码设置成255.255.255.255,网关地址留空。

操作:

l从控制面板选择添加硬件;

l选择“是,硬件已连好”;

l选择“添加新的硬件设备”;

l选择“安装我手动从列表选择的硬件”;

l选择“网络适配器”;

l从厂商列表选择“Microsoft”,从网卡列表选择“MicrosoftLoopbackAdapter”;

点下一步开始安装硬件,安装完毕后出现一个新的网卡,配置好IP和子网掩码。Windows子网掩码无法配置成255.255.255.255,我们可以先按默认的保存配置,然后从注册表修改子网掩码。

注册表修改子网掩码:

从注册表

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]下找到对应的网卡,将SubnetMask修改成255.255.255.255。然后禁用再启用该网卡即可。


2.3.2.Linux系统

(略)


3.配置LDirectordRealServer故障检测及管理

LDirectord进程定时检测各RealServer运行状态,当检测到某台RealServer故障时,则将该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–addldirectord


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.dldirectordstart

注意,启动时如果提示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