LINUX中使用IPVSADM配置LVS集群的基本方法

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

LVS集群有DR、TUN、NAT三种配置模式,可以对www服务、FTP服务、MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置。

一、 Director Server的配置

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

a. 通过ipvsadm命令行进行配置

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

通过ipvsadm命令行方式配置LVS

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

复制代码

代码如下:

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

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

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

代码如下:

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

接着启用系统的包转发功能,从而使系统充当路由器,执行如下指令:

代码如下:

[root@localhost ~]#echo 1 ;/proc/sys/net/ipv4/ip_forward

指令中,参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是必须的,而在NAT模式下此操作是必须的。

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

代码如下:

[root@localhost ~]#ipvsadm -C

[root@localhost ~]#ipvsadm -A -t 192.168.60.200:80 -s rr -p 600

[root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g [root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 -g

上面操作中,第一行是清除内核虚拟服务器列表中的所有记录,第二行是添加一条新的虚拟IP记录。这个新的IP是192.168.60.200,同时指定持续服务时间为600秒。第三、四行是在新加虚拟IP记录中添加两条新的Real Server记录,并且指定LVS 的工作模式为直接路由模式。

最后,启动LVS服务,执行如下操作:

代码如下:

[root@localhost ~]#ipvsadm

这样,LVS在Director Server上的配置就完成了。

为了管理和配置的方便,可以将上面的操作写出一个脚本文件,脚本内容如下:

代码如下:

#!/bin/bash

VIP=192.168.60.200

RIP1=192.168.60.132

RIP2=192.168.60.144

GW=192.168.60.1

# set the Virtual IP Address

/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev eth0:0

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

#end

也可以写成可启动与停止的服务脚本,脚本内容如下:代码如下:

#!/bin/sh

# description: Start LVS of Director server

VIP=192.168.60.200

RIP1=192.168.60.132

RIP2=192.168.60.144

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

将此脚本命名为lvsDR文件,然后把文件放到/etc/init.d下,执行:

相关文档
最新文档