您的位置:首页 > 运维架构 > 网站架构

高可用集群之heartbeat v2--基于CRM进行资源管理

2016-06-24 22:31 603 查看
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在一起



来自为知笔记(Wiz)

本文出自 “hiyang” 博客,请务必保留此出处http://hiyang.blog.51cto.com/10728919/1792747
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: