1、 安装LVS软件
      (1)安装前准备
操作系统:统一采用Centos6.5版本,地址规划如下:

1  服务器名               IP地址                 网关                 虚拟设备名    虚拟ip
2  Director Server       192.168.12.25         192.168.12.1        eth0:0       192.168.12.135
3  Real Server1          192.168.12.246        192.168.12.1        lo:0         192.168.12.135
4  Real Server2          192.168.12.247        192.168.12.1        lo:0         192.168.12.135

更详细的信息如下图所示: 
 图中的VIP指的是虚拟IP地址,还可以叫做LVS集群的服务IP,在DR、TUN模式中,数据包是直接返回给用户的,所以,在Director Server上以及集群的每个节点上都需要设置这个地址。此IP在Real Server上一般绑定在回环地址上,例如lo:0,同样,在Director Server上,虚拟IP绑定在真实的网络接口设备上,例如eth0:0。
 各个Real Server可以是在同一个网段内,也可以是相互独立的网段,还可以是分布在internet上的多个服务器.
1、 安装LVS软件
      (1)安装前准备
安装的LVS负载均衡集群拓扑图:

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

    (2)安装操作系统需要注意的事项
 Centos6.5版本的Linux,内核默认支持LVS功能,为了方便编译安装IPVS管理软件,在安装操作系统时,建议选择如下这些安装包:
 桌面环境:xwindows system、GNOME desktop environment。
 开发工具:development tools、x software development、gnome software、development、kde software development。
系统安装完毕,可以通过如下命令检查kernel是否已经支持LVS的ipvs模块:

1 [root@localhost ~]#modprobe -l |grep ipvs
2 /lib/modules/2.6.18-194.11.1.el5/kernel/net/ipv4/ipvs/ip_vs.ko
3 /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,首先从http://www.linuxvirtualserver.org/software/ipvs.html下载对应版本的ipvs源码,这里我们下载ipvsadm-1.24版本,进行安装:

1 [root@localhost ~]#tar zxvf ipvsadm-1.24.tar.gz
2 [root@localhost ~]#cd ipvsadm-1.24
3 [root@localhost ~]#make
4 [root@localhost ~]#make install

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

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

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

1 [root@localhost ~]#rpm –ivh ipvsadm-1.24-6.1.i386.rpm
2 然后执行:
3 [root@localhost ~]# ipvsadm --help 

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

(4)ipvsadm的用法:

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

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

2、 开始配置LVS集群
 下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置。
 (1) Director Server的配置
 在Director Server上配置LVS负载均衡集群,有两种方法:
 <1.通过ipvsadm命令行进行配置
 <2.通过Redhat提供的工具piranha来配置LVS

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

[root@localhost ~]#ifconfig eth0:0 192.168.12.135 broadcast 192.168.12.135 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.12.135 dev eth0:0
[root@localhost ~]#echo "1" >/proc/sys/net/ipv4/ip_forward #指令中,参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是
必须的,而在NAT模式下此操作是必须的。

然后开始配置ipvs,执行如下操作:

1 [root@localhost ~]#ipvsadm -C
2 [root@localhost ~]#ipvsadm -A -t 192.168.12.135:80 -s rr -p 600
3 [root@localhost ~]#ipvsadm -a -t 192.168.12.135:80 -r 192.168.12.246:80 -g
4 [root@localhost ~]#ipvsadm -a -t 192.168.12.135:80 -r 192.168.12.237:80 -g
5 #上面操作中,第一行是清除内核虚拟服务器列表中的所有记录,第二行是添加一条新的虚拟IP记录。这个新的IP是192.168.12.135,同时指定持续服务时间为600秒。
6 #第三、四行是在新加虚拟IP记录中添加两条新的Real Server记录,并且指定LVS 的工作模式为直接路由模式。
7 最后,启动LVS服务,执行如下操作: 8 [root@localhost ~]#ipvsadm

这样,LVS在Director Server上的配置就完成了.
为了管理和配置的方便,可以将上面的操作写成一个脚本文件,脚本内容如下:

#!/bin/sh
# description: Start LVS of Director server
VIP=192.168.12.135
RIP1=192.168.12.246
RIP2=192.168.12.237
./etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " start LVS of Director Server"
# set the Virtual  IP Address and sysctl parameter
 /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
       echo "1" >/proc/sys/net/ipv4/ip_forward 
#Clear IPVS table
       /sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:80 -s rr -p 600
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
#Run LVS
      /sbin/ipvsadm
       ;;
    stop)
        echo "close LVS Directorserver"
        echo "0" >/proc/sys/net/ipv4/ip_forward
        /sbin/ipvsadm -C
        /sbin/ifconfig eth0:0 down
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
Esac
管理脚本

相关文章: