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和设置了掩码

360截图20160624201009975.jpg


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

Stophttpd--> webstorage --> webip



3)资源间的约束

右键colocation --> Add New Item

定义了哪些资源在一起

webstorage和webip在一起



httpd和webstorage在一起







来自为知笔记(Wiz)