开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现lvs篇3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/391/detail/5011
企业集群平台架构设计与实现 lvs 篇3
内容介绍:
一、高可用 LVS集群构建实战
一、高可用 LVS集群构建实战
高可用架构图:
数据共享层通过磁盘阵列来实现,这不是我们讨论的重点,架构前端通过一个路由器连接两个服务器,一个主服务,一个备用服务器。
1.通过 piranha 搭建LVS高可用性集群
通过开源软件piranha实现,是一个基于web的配置软件
piranha是 REDHAT提供的一个基于Web的 LVS 配置软件,通过 piranha 可以省去手工配置LVS的繁琐工作;同时,piranha 也可以单独提供集群功能,例如,可以通过 piranha激活 Director Server 的备用主机。这里利用 piranha来配置 Director Server 的双机热备功能。
(1)安装与配置 piranha
通过 yum 命令直接在线安装,过程如下∶
[root@DR2 ~]# yum install ipvsadm modcluster piranha system-config-cluster
php php-cli php-common
通过 WEB界面配置 Piranha 服务需要设置下面步骤。
直接执行,输入两次密码即可
//设置密码,请设置你的 piranha 服务 WEB 配置登陆密码,默认端口为3636
#/usr/sbin/piranha-passwd http∶//192.168.12.130∶3636
//输入用户名∶ piranha 及刚才设置的密码登陆.
//ip∶3636 web界面配置的配置文件写入此文件.
/etc/sysconfig/ha/lvs.cf//由http∶
//启动 piranha服务的WEB 配置界面
/etc/init.d/piranha-gui start
//启动 piranha 服务读取的就是/etc/sysconfig/ha/lvs.cf.
/etc/init.d/pulse
安装示例:
[root@host236 ~]# yum istall piranha
运行结果:
Loaded plugins: fastestmirror, refresh-packagekit,securitySetting up Install Process
Loading mirror speeds from cached hostfile
*base: mirrors.sina. cn
*extras: mirrors.sina. cn
*updates : mirrors.sina. cn
Package piranha-0.8.6-4.el6_5.2.x86_64 already installed and latest versionNothing to do
//最主要配置文件
[root@host236 ~]# cd /etc/sysconfig/ha
运行结果:
Conf logs lvs.cf modules web
[root@host236 ha]# more lvs.cf
运行结果:
Serial_no=1
Primary=192.168.81.236
service = lvs
backup_active=1
backup :0.0.0.0
heartbeat=1
heartbeat_port=539
Keepalive=6
Deadtime=18
network = directdebug _level =NONE
#启动服务,通过web界面配置即可
[root@host236 ha]# /etc/init.d/piranha-gui start
运行结果:
starting piranha-gui: httpd:
Could not reliably determine the server's fully qualified domain name,
using 192.168.81.236
for ServerName
#启动之后会自动调用配置文件
/etc/sysconfig/ha/conf/httpd.conf
#查看端口
[root@host236 ha]# netstat -anlp
运行结果:
Tcp 0 0 :::3636 :::* LISTEN 1937/httpd
#浏览器访问,通过ip+端口访问
#点击登录,输入提前设置的账号密码,登录成功
登陆进去后有一个简单的配置文件页面,可以设置自动刷新页面时间
#全局配置页面,可以进行全局配置,主共有IP地址和私有IP地址,实现高可用,具有三种模式
#后端配置界面,指定所需要的VIP地址,心跳详细,默认都是有的
#增加后端节点
点击保存之后会在安装目录下重写文件
[root@host236 ha]# more lvs.cf
运行结果:
serial _no=3
primary = 192.168.81.236
service = lvs
backup_active=1
backup = 0.0.0.0
heartbeat = 1
Heartbeat_port=539
keepalive = 6
deadtime = 18
network = direct
debug_level =NONE
virtual [ server name] {
active = 0
address:0.0.0.0 ethO :1
port=80
send="GET / HTP/1.0\rln \r\n"
expect ="HTTP"
use_regex=0
load_monitor= none
scheduler = wlc
protocol = tcp
Timeout=6
Reentry=15
quiesce _server=0
}
自动修改配置文件,小工具比较方便
所有配置完成之后做一个重启的操作即可:
[root@host236 ha]# /etc/init.d/pulse start
piranha安装完毕后,会产生/etc/sysconfig/ha/lvs.cf 配置文件。可以通过 piranha 提供的Web 界面配置此文件,也可以直接手动编辑此文件。
编辑好的 lvs.cf 文件内容类似如下所示,注意,"#"号后面的内容为注释。
[rooteDR1~]# more /etc/sysconfig/ha/lvs.cf
#序号
serial_no = 18
#指定主用Director Server的真实
#IP 地址
primary = 192.168.60.130
#指定双机的服务名
service = lvs
#是否激活备用Director Server, "0"表示不激活,"1"表示激活。
#这里选择激活方式
backup_active = 1
#这里指定备用 Director Serve 的真实IP 地址,如果没有备用
#Director Server,可以用"0.0.0.0"代替
backup = 192.168.12.131
#是否开启心跳,1表示开启,0表示不开启
heartbeat = 1
#指定心跳的 UDP通信端口。
heartbeat_port = 539
#心跳间隔时间,单位是秒
keepalive = 5
deadtime = 10
#如果主 Director Server在 deadtime(秒)后没有响应,那么备份
#Director Server 就会接管主 Director Server 的服务
network = direct
#指定LVS的工作模式,direct 表示 DR模式,nat表示NAT模式,tunnel
#表示TUN 模式
#定义 debug 调试信息级别
debug_level = NONE
#指定虚拟服务的名称
virtual www.ixdba.net
#是否激活此服务
active = 1
#虚拟服务绑定的虚拟 IP 及网络设备名
address =192.168.12.200eth0∶0
#虚拟服务的端口
port= 80
#向 real server发送的验证字符串
send ="GET/HTTP/1.0\r\n\r\n"
#服务器正常运行时应该返回的文本应答信息,用来判断Real Server
expect = "HTTP"
#是否工作正常
# expect选项中是否使用正则表达式,0表示不使用,1表示使用。
use_regex = 0
load monitor = none
#LVS中的 Director Server 能够使用 rup 或 ruptime 来监视各个Real Server的负载状态。
该选项有3个可选值,rup、ruptime 和 none,#如果选择 rup,每个Real Server 就必须运行 rstatd 服务。如果选择了#ruptime,每个 Real Server就必须运行rwhod 服务
接着,还需要对两个 Real Server 节点进行配置,也就是创建
/etc/init.d/Ivsrs 脚本,创建文件/etc/init.d/Ivsrs.
[root@rs1~]#more /etc/ init.c/lvsrs
#!/ bin/bash
#description : start Real ServerVIP=192.168.12.200
./etc/rc.d/ init.d/functions
case "$1" in
start)
echo" start LvS ofReal Server"
2.启动通过 piranha 配置的 LVS集群系统
将编辑好的 Ms.cf 从 Director Server 的主节点复制到备用节点,然后在主、备节点分别启动 pulse 服务,即启动 LVS服务,过程如下∶
[rooteDR1 ~]苹service pulse start
接下来,还要在主、备节点启用系统的包转发功能(其实只有在 NAT模式下需要),命令如下∶
[rooteDR1 ~]#echo"1">/proc/sys/ne t/ipv4/ip_forward
最后,在两个Real server 节点上执行 lvsrs 脚本,命令如下∶
[rooters1 ~]#/etec/init.d/lvsrs start
到此为止,利用 piranha工具搭建的高可用 LVS集群系统已经运行起来了。