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
完毕