您的位置:首页 > 理论基础 > 计算机网络

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd

2017-05-10 23:33 916 查看
本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd。理解排列约束、顺序约束、位置约束

如何安装heartbeat v2、httpd、nfs、配置心跳连接、ssh密钥通信、同步时间、添加名称解析、配置yum源等请参照:>> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群http://ccschan.blog.51cto.com/11854461/1922966
ll 本文导航 · 前期准备及相关说明 · 安装hb_gui接口 · 基于crm+hb_gui接口配置高可用集群[b][/b][b][b][b]ll [/b][/b][/b][b][b] 要求[/b][/b]完全掌握heartbeat v2基于crm+hb_gui接口配置httpd高可用服务,理解排列约束、顺序约束、位置约束
[b][b][b][b][b] 前期准备[/b][/b][/b][/b][/b][b][b][b][/b][/b][/b][b][b][b][b]1、heartbeat服务主机规划[/b][/b][/b][/b][b][b][/b][/b]
主机接口ip服务用途
node1.chanedu.cometh0192.168.1.131heartbeat
httpd
mysqld
ipvs
LAN数据转发
eth1192.168.2.131心跳信息链路
vip192.168.1.180提供给外部访问httpd的ip
node1.chanedu.cometh0192.168.1.132heartbeat
httpd
mysqld
ipvs
LAN数据转发
eth1192.168.2.132心跳信息链路
shared.chanedu.cometh0192.168.1.150nfsLAN数据转发
[b][b][/b][/b]2、架构图[b][b][b][b][b]

[/b][/b][/b][/b][/b]3、在heartbeat v2.x版本中,如果要使用crm做为集群资源管理器,必须ha.cf配置中启动crm。如在ha.cf中添加crm配置,参数为“on”,意思是使用crm作为集群管理器。crm通过mgmtd监听在tcp:5560的套接字上。
# vim /etc/ha.d/ha.cf



4、在heartbeat v2中,有一些比较使用的脚本,安装heartbeat时,这些脚本的默认位置在/usr/lib64/heartbeat/,其中,有几个脚本需要了解下ha_propagate 运行该脚本将会把/etc/ha.d/{ha.cf,authkeys}这两个配置文件直接复制到其他节点,并将heartbeat设置2,3,4,5系统级别开机时自动启动。需要注意的是,如果没有配置节点通过ssh加密通信,那么运行这个密钥可能需要输入N此密码,所以,在运行之前,请配置好节点使用ssh加密通信。haresources2cib.py 运行该python脚本需要配置python环境,该脚本将自动把/etc/ha.d/haresources配置文件转换成cib.xml的格式,要只知道,heartbeat v2要使用crm集群资源管理器,是必须要有xml格式的配置文件的,所以,这个脚本非常有用。
[b][b][b][b][b] 安装hb_gui接口 [/b][/b][/b][/b][/b]1、heartbeat v2.x的hb_gui接口安装rpm为:heartbeat-gui-2.1.4-12.el6.x86_64.rpm安装该包需要安装pygtk2-libglade-2.16.0-3.el6.x86_64.rpm包解决依赖关系。可以使用yum -y install pygtk2-libglade 直接安装,这里我在本地安装该依赖包。现在,在node1和node2上分别安装heartbeat_gui
# rpm -ivh pygtk2-libglade-2.16.0-3.el6.x86_64.rpm
warning: pygtk2-libglade-2.16.0-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
1:pygtk2-libglade        ########################################### [100%]
# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
Preparing...                ########################################### [100%]
1:heartbeat-gui          ########################################### [100%]
2、编辑/etc/ha.d/haresources文件,添加一行“crm on”,启动集群资源管理器。
# vim /etc/ha.d/ha.cf


3、运行ha_propagate复制ha.cf和authkeys,haresources.py 这两个脚本
# /usr/lib64/heartbeat/ha_propagate


# /usr/lib64/heartbeat/haresources2cib.py
注意:cib.xml配置文件并没有保存在/etc/ha.d/目录中,运行该python脚本后,生成cib.xml配置文件保存在/var/lib/heartbeat/crm


4、启动heartbeat服务,在启动之前,需要将node1和node2节点中/etc/ha.d/resources这个v1.x版本的配置文件剪切至其他目录,以免启动heartbeat服务时,会造成意外情况。
# mv /etc/ha.d/haresources /root/
# ssh node2 'mv /etc/ha.d/haresources /root/'
启动heartbeat服务

使用ss命令查看heartbeat通mgmtd进程已经在监听tcp:5560端口了

我们还可以通过crm资源管理器集成的命令“crm_mon”监控集群节点状态。它能显示当前DC,该集群运行几个节点,是否在线,每隔多久刷新一次集群节点状态信息。
# crm_mon




5、创建管理集群的用户,安装heartbeat时,默认会自动创建一个hacluster用户

给hacluster用户添加密码,使用hb_gui图形界面是,需要此用户和密码登陆
# passwd hacluster
Changing password for user hacluster.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.


[b][b][b][b][b] 基于crm+hb_gui接口配置http高可用集群[/b][/b][/b][/b][/b][b][b][b][/b][/b][/b]
1、登录打开图形界面接口并登录
# hb_gui &





2、添加主资源webip、webstore、webserver。注意添加的顺序,要根据IP=>文件系统=>服务这样顺序啦添加。
[b][b][b][/b][/b][/b]



这里使用IPaddr和IPaddr2的区别是使用的命令不同。IPaddr使用ifconfig添加vip,IPaddr2使用ip addr 添加vip,这里使用IPaddr2。
ip:提供给外部客户端访问的ip地址
nic:根据那块网卡添加vip,为eth0
cidr_netmask:子网掩码的长度,为24



默认是不启动的。






接着添加lsb资源,这里选择httpd,实际就是/etc/rc.d/init.d/httpd 这个脚本文件



资源添加完成



启动webip和webserver。
启动之后,我们发现这两个资源分别运行在node1和node2上,这是为什么。因为我们所定义的是本地资源,并没有添加约束,所以,资源均衡的运行在两个节点上了。
此时,当我们访问192.168.1.180时,会返回页面吗?
显然不会,这里我们访问192.168.1.180时,此IP资源在node1上,但是node1上并没有运行webserver资源,所以,这里并没有达到我们想要的高可用效果。



如果将其中的一个节点转换为standby,那么可以正常访问了吗?
当然可以,我将node2转为standby备节点,资源将会转移到node1上。




· 定义排列约束
使webip和webserver两者永远在一起。









·定义位置约束
使某个资源倾向于运行在哪个节点















· 定义顺序约束






[b][b][b][/b][/b][/b]

[b][b][b][b][b] 基于crm+hb_gui接口配置http+mysql+nfs高可用集群 [/b][/b][/b][/b][/b]
[b][b][b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b] 基于crm+hb_gui接口配置ipvs高可用集群 [/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b] 基于crm+hb_gui+ldirectored接口配置ipvs高可用集群 [/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息