高可用集群之heartbeat v2--基于CRM进行资源管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高可用集群之heartbeat v2--基于CRM进行资源管理相关的知识,希望对你有一定的参考价值。
CRM:Cluster Resource Management,集群资源管理
crmd:作为进程运行,监控一个端口5560/tcp/mgmtd,提供管理API
GUI:图形化管理界面
CLI:命令行管理
集群节点超过两个(奇数个),集群分裂时,某一个子集群的法定票数超过半数,可认为自己正常
启用crm
# vim /etc/ha.d/haresources,添加
crm respawn
crm和haresource不兼容,使用crm的同时想使用haresources怎么解决?
/usr/lib/heartbeat/haresources2cib.py(依赖ha_propagate自动完成配置文件同步,可手动执行)可以将haresources转化为cib格式的集群信息库,供crm使用,转化后存储在/var/lib/heartbeat/crm目录中,ha_propagate
CIB:Cluster Information Base,集群信息库,xml格式
/usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources
配置文件同步
# /usr/lib/heartbeat/ha_propagate
Propagating HA configuration files to node node2.hiyang.com.
ha.cf 100% 10KB 10.4KB/s 00:00
authkeys 100% 691 0.7KB/s 00:00
arp欺骗/usr/lib/heartbeat/send_arp
crm命令行工具
cibadmin 管理cib信息库工具
crm_verify 校验cid的xml格式的配置文件
# crm_verify -L -V
crm_mon 监控heartbeat,有DC信息
crm_resource crm 资源配置工具
crm_standby
--node-uname (-U) <node_uname>
crm_attribute 配置crm的属性
crm_sh crm的shell
Cluster Resources Management的进化
haresources --> crm --> pacemaker
hb_gui
1 查看heartbeat的版本
# rpm -q heartbeat
heartbeat-2.1.4
2 下载hb_gui
网址:http://fedoraproject.org/wiki/EPEL --> EPEL 5:x86_64
# wget https://dl.fedoraproject.org/pub/epel/5/x86_64/heartbeat-gui-2.1.4-11.el5.x86_64.rpm
3 安装hb_gui
# yum localinstall -y heartbeat-gui-2.1.4-11.el5.x86_64.rpm
4 登陆账号
# tail -n 1 /etc/passwd
hacluster:x:101:160:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin
配置密码
# passwd hacluster
5 启动hb_gui,此处我使用的是Xshell,运行hb_gui需要Xmanger,无Xmanager也会报错。
# hb_gui &
6 集群的配置信息说明
No Quorum Policy:不满足法定票数时的策略,默认为stop;还有ignore,freeze
Symmetric Cluster:对称集群(左对称),故障时,资源可以根据设定的顺序,转移到其他任意的节点上;非对称集群,故障时,资源只能转移到指定的节点上
Stonith Enabled:启用stonith设备
Default Resourses Stickiness:默认资源粘性为0;运行在任意节点都可以
资源粘性用来定义资源是否倾向于留在此节点;
7 创建资源注意:
1)先通过# crm_mon 查看DC运行在那个节点上,运行# hb_gui时要连接到DC上,新增或修改的配置和资源才能正常同步到其他节点上。
2)创建一组资源时,先添加组,在添加组内的资源;注意各资源的顺序应和资源的启动顺序一致
3)修改配置或添加资源后,要清理之前的状态信息;否则,若之前有错误的状态信息,会影响资源的启动
方法:右键单击 --> cleanup resource
4)master/slave,clone是在native基础上创建的
8 例子,此处添加fip,nfs,httpd资源,通过组将资源约束在一起
8.1 添加fip资源,添加到webservice组中,将fip绑定到eth0和设置了掩码
,
8.2 添加文件系统
8.3 添加httpd资源,此处使用lsb的httpd,不用添加任何参数
结果如下图
9 添加资源,使用资源约束,定义location,order,colocation
Resources右键 --> Add New Item
webip
webstorage
httpd
1)资源更倾向运行于node1
右键location --> Add New Item
定义了webip更倾向于运行在node1上
2)资源的start和stop顺序
右键Order --> Add New Item
定义启动顺序
Start:webip --> webstorage --> httpd
Stop:httpd--> webstorage --> webip
3)资源间的约束
右键colocation --> Add New Item
定义了哪些资源在一起
webstorage和webip在一起
httpd和webstorage在一起
本文出自 “hiyang” 博客,请务必保留此出处http://hiyang.blog.51cto.com/10728919/1792747
以上是关于高可用集群之heartbeat v2--基于CRM进行资源管理的主要内容,如果未能解决你的问题,请参考以下文章
Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群
Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置http+msyql+nfs高可用集群
Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs