piranha是Redhat提供一个基于web的lvs配置软件,通过piranha可以省去手工配置lvs的繁琐工作。同时,piranha也可以单独提供集群功能,例如,可以通过piranha激活Director Server的备用主机。这里利用piranha来配置Director Server的双机热备功能。


1.安装与配置piranha

  下载piranha的rpm包,在主备Director Server上进行安装

   rpm -ivh piranha-*

   安装好piranha后,使用rpm -ql piranha查看安装的内容,安装后会产生/etc/sysconfig/ha/lvs.cf配置文件,默认此文件是空的,可以通过piranha提供的web界面配置此文件,也可以手动编辑此文件。编辑好的lvs.cf文件内容大致如下


more /etc/sysconfig/ha/lvs.cf

serial_no = 18            #序号

primary = 192.168.60.130  #指定主Director Server的真实ip地址

service = ipvs            #指定双机的服务名

backup_active = 1         #是否激活备用Director Server。0表示不激活,1表示激活

backup = 192.168.12.131 #这里指定备用Director Server的真实IP地址,如果没有备用 

                       #Director Server,可以用0.0.0.0代替

heartbeat = 1          #是否开启心跳,1表示开启,0表示不开启

heartbeat_port = 539   #指定心跳UDP的通信端口

keepalive = 5          #心跳间隔时间,单位是秒

deadtime = 10          #如果主Director Server在deadtime(s)后没有响应,那么备

                    #用Director Server就会接管主Director Server的服务

network = nat   #指定LVS的工作模式,director表示DR模式,nat表示NAT模式,

                  #tunnel表示TUN模式

debug_level = NONE # 定义debug的调试信息级别

virtual www.ixdba.net{  #指定虚拟服务的名称

active = 1              #是否激活此服务

address = 192.168.12.200 eth0:0 #虚拟服务绑定的虚拟IP及网络设备名

port = 80               #虚拟服务的端口

send = "GET / HTTP/1.0\r\n\r\n" #向real server发送验证字符串

expect = "HTTP"   #real server服务器正常运行时应该返回的文本应答信息,用来判断

                 #Real Server是否正常工作

use_regex = 0    #expect选项中是否使用正则表达式,0表示不使用,1表示使用

load_monitor = none  #LVS中Director Server能够使用rup或者ruptime来监视各个Real 

                    #Server的负载状态。该选项有3个可选值,rup、ruptime和none,

                    #如果选择rup,每个Real server就必须运行rstatd服务,如果选

                    #择了ruptime,每个Real server就必须运行rwhod服务

scheduler = rr      #指定LVS的调度算法

protocol = tcp      #虚拟服务使用的协议类型

timeout = 6         #real server失效后从lvs路由列表中移除失效Real server所必须

                 #持续时间,以秒为单位

teentry = 15  #某个real server被移除后,重新加入lvs路由列表中必须持续的时间,

             #单位s

quiesce_server = 0 #如果此选项为1,那么当某个新节点的加入集群时,最少连接数会

                  #被重设为0,因此lvs会发送大量的请求到此服务器节点,造成新的

                  #节点服务阻塞,建议设置为0

server RS1 {               #指定Real Server服务名

address = 192.168.12.132   #指定Real Server的IP地址

active = 1                 #是否激活Real Server服务

weight = 1    #指定此Real Server的权值,是整数值。

}

server RS2 {

address =192.168.12.133

active = 1

weight = 1

}

}



接着,使用nat模式还需要对两个Real Server节点进行配置,也就是创建/etc/init.d/lvsrs脚本

lvsrs脚本建本人博客

2.启动通过piranha配置的lvs集群系统

将编辑好的lvs.cf从Director Server的主节点复制到备用节点,然后在主、备节点上分别启动pulse服务,即启动lvs服务

service pulse start

接下来,还要在主备节点上启用系统包转发功能(其实只有在lvs nat模式下需要)

echo "1" >/proc/sys/net/ipv4/ip_porward

最后,在两个Real Server节点上执行lvsrs脚本

/etc/init.d/lvsrs start

完毕