通过LVS+Keepalived搭建高可用的负载均衡集群系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、安装LVS软件

(1)安装前准备

操作系统:统一采用Centos5.3版本,地址规划如下:

更详细的信息如下图所示:

图中的VIP指的是虚拟IP地址,还可以叫做LVS集群的服务IP,在DR、TUN模式中,数据包是直接返回给用户的,所以,在Director Server上以及集群的每个节点上都需要设置这个地址。此IP在Real Server上一般绑定在回环地址上,例如lo:0,同样,在Director Server 上,虚拟IP绑定在真实的网络接口设备上,例如eth0:0。

各个Real Server可以是在同一个网段内,也可以是相互独立的网段,还可以是分布在internet上的多个服务器.

(2)安装操作系统需要注意的事项

Centos5.3版本的Linux,内核默认支持LVS功能,为了方便编译安装IPVS管理软件,在安装操作系统时,建议选择如下这些安装包:l 桌面环境:xwindows system、GNOME desktop environment。

l 开发工具:development tools、x software development、gnome software、development、kde software development。

系统安装完毕,可以通过如下命令检查kernel是否已经支持LVS的ipvs模块:

[root@localhost ~]#modprobe -l |grep ipvs

/lib/modules/2.6.18-194.11.1.el5/kernel/net/ipv4/ipvs/ip_vs.ko

/lib/modules/2.6.18-194.11.1.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko

如果有类似上面的输出,表明系统内核已经默认支持了IPVS模块。接着就可以安装IPVS管理软件了。

(3)在Director Serve上安装IPVS管理软件

IPVS提供的软件包有源码方式的也有rpm方式的,这里介绍下源码方式安装IPVS,首先从/software/ipvs.html下载对应版本的ipvs源码,由于我们这里采用的操作系统为Centos5.3版本,因此,下载对应的ipvsadm-1.24版本,接着进行安装:

[root@localhost ~]#tar zxvf ipvsadm-1.24.tar.gz

[root@localhost ~]#cd ipvsadm-1.24

[root@localhost ~]#make

[root@localhost ~]#make install

注意:在make时可能会出现错误编译信息,这是由于编译程序找不到对应内核的原因,按照如下操作就可以正常编译:

[root@localhost ~]#ln -s /usr/src/kernels/2.6.18-128.el5-i686/ /usr/src/linux

也可以下载rpm安装包,通过rpm方式进行安装:

[root@localhost ~]#rpm –ivh ipvsadm-1.24-6.1.i386.rpm

然后执行:

[root@localhost ~]# ipvsadm --help

如果看到帮助提示,表明IPVS已经成功安装

(4)ipvsadm的用法

举例如下:

[root@localhost ~]# ipvsadm -A -t 192.168.12.135:80 -s rr -p 600以上表示在内核的虚拟服务器列表中添加一条192.168.12.135的虚拟服务器记录,并且指定此虚拟服务器的服务端口为80,然后指定此虚拟服务器的调度策略为轮询调度,并且在每个real server上的持续服务时间为600秒,即10分钟

[root@localhost ~]# ipvsadm -A -t 192.168.12.188:21 -s wlc 以上表示在内核的虚拟服务器列表中又添加了一条192.168.12.188的虚拟服务器,此虚拟服务器的服务端口为21,即FTP 服务。使用的调度策略为wlc,即加权最少链接算法。

[root@localhost ~]# ipvsadm -a -t 192.168.12.135:80 -r 192.168.12.246:80 –g

[root@localhost ~]# ipvsadm -a -t 192.168.12.135:80 -r 192.168.12.237:80 –g

以上两条设置表示在虚拟服务器192.168.12.135中添加两条新的Real Server记录,两个Real Server的IP分别为192.168.12.246和192.168.12.237,参数“-g”指定了虚拟服务器的工作模式为直接路由模式,即DR模式。

2、开始配置LVS集群

下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS 集群配置。

(1)Director Server的配置

在Director Server上配置LVS负载均衡集群,有两种方法: 通过ipvsadm命令行进行配置

通过Redhat提供的工具piranha来配置LVS

1)通过ipvsadm命令行方式配置LVS

安装IPVS后,就可以配置LVS集群了,首先在Director Server上绑定一个虚拟IP(也叫VIP),此IP用于对外提供服务,执行如下命

令:

[root@localhost ~]#ifconfig eth0:0 192.168.1.249 broadcast 192.168.1.249 netmask 255.255.255.255 up

要使用的ifconfig eth1:0 192.168.1.249 broadcast 192.168.1.249 netmask 255.255.255.255 up

ifconfig lo 192.168.1.249 broadcast 192.168.1.249 netmask 255.255.255.255 up

此处在eth0设备上绑定了一个虚拟设备eth0:0,同时设置了一个虚拟IP是192.168.12.135,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.12.135,需要特别注意的是,这里的子网掩码为255.255.255.255。

然后给设备eth0:0指定一条路由,执行如下指令:

[root@localhost ~]#route add -host 192.168.1.1 dev eth0:0 route add -host 192.168.1.1 dev lo

[root@localhost ~]#echo "1" >/proc/sys/net/ipv4/ip_forward 指令中,参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是必须的,而在NAT模式下此操作是必须的。

下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS 集群配置。

(1)Director Server的配置

在Director Server上配置LVS负载均衡集群,有两种方法:

相关文档
最新文档