高可用集群之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和设置了掩码
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/5ba9b92f06a90ff0de55fefec75deadc.jpg)
8.2 添加文件系统
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/2c76aa82298482ec994dcf1e465d8cc5.png)
8.3 添加httpd资源,此处使用lsb的httpd,不用添加任何参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/d29eaea359af51abc94c4d1cd10c915d.png)
结果如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/ce83b49361cd8b94992e0a16465dfc93.png)
9 添加资源,使用资源约束,定义location,order,colocation
Resources右键 --> Add New Item
webip
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/3e1eb12e5b204a56e7f72669df6764d8.png)
webstorage
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/e02b3dd3f2b37e362460457276bad1b0.png)
httpd
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/514ee2afbb4414fe03b3024ab0531f77.png)
1)资源更倾向运行于node1
右键location --> Add New Item
定义了webip更倾向于运行在node1上
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/a7104e7600b813ebf246123716d79614.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/6a65f832bdf38ae455762cb5b8c158c0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/05264621a5716aecf5083b26e98dc5db.png)
2)资源的start和stop顺序
右键Order --> Add New Item
定义启动顺序
Start:webip --> webstorage --> httpd
Stop:httpd--> webstorage --> webip
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/915101c66e4a6132a1daabeaeb6afcab.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/b200e249551cebafc6753f8a8804e11c.png)
3)资源间的约束
右键colocation --> Add New Item
定义了哪些资源在一起
webstorage和webip在一起
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/e826f801dd6635697a42a765f4d6866a.png)
httpd和webstorage在一起
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/4d0430b8fba52230e8e8ee55d808706b.png)
来自为知笔记(Wiz)
本文出自 “hiyang” 博客,请务必保留此出处http://hiyang.blog.51cto.com/10728919/1792747
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和设置了掩码
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/5ba9b92f06a90ff0de55fefec75deadc.jpg)
8.2 添加文件系统
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/2c76aa82298482ec994dcf1e465d8cc5.png)
8.3 添加httpd资源,此处使用lsb的httpd,不用添加任何参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/d29eaea359af51abc94c4d1cd10c915d.png)
结果如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/ce83b49361cd8b94992e0a16465dfc93.png)
9 添加资源,使用资源约束,定义location,order,colocation
Resources右键 --> Add New Item
webip
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/3e1eb12e5b204a56e7f72669df6764d8.png)
webstorage
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/e02b3dd3f2b37e362460457276bad1b0.png)
httpd
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/514ee2afbb4414fe03b3024ab0531f77.png)
1)资源更倾向运行于node1
右键location --> Add New Item
定义了webip更倾向于运行在node1上
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/a7104e7600b813ebf246123716d79614.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/6a65f832bdf38ae455762cb5b8c158c0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/05264621a5716aecf5083b26e98dc5db.png)
2)资源的start和stop顺序
右键Order --> Add New Item
定义启动顺序
Start:webip --> webstorage --> httpd
Stop:httpd--> webstorage --> webip
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/915101c66e4a6132a1daabeaeb6afcab.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/b200e249551cebafc6753f8a8804e11c.png)
3)资源间的约束
右键colocation --> Add New Item
定义了哪些资源在一起
webstorage和webip在一起
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/e826f801dd6635697a42a765f4d6866a.png)
httpd和webstorage在一起
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/4d0430b8fba52230e8e8ee55d808706b.png)
来自为知笔记(Wiz)
本文出自 “hiyang” 博客,请务必保留此出处http://hiyang.blog.51cto.com/10728919/1792747
相关文章推荐
- 大型网站架构不得不考虑的10个问题
- 大型网站架构不得不考虑的10个问题
- Ext.Net学习网站
- Ext.Net学习网站
- 高性能网站开发
- 商城架构演变
- WebRTC音视频引擎研究(1)--整体架构分析
- 分层架构中的服务层
- 一些颜色工具网站
- 高性能网站开发
- 对三层架构的理解
- DedeCMS访问网站首页会自动在域名后面多出index.html的解决方法
- ReactJS学习系列课程附加(Flux应用架构)
- vs2015将网站发布到mircosoft azure上
- 好的网站运营,就该给用户想要的!关键是怎么给
- codesmith 三层架构代码生成
- 一些IT技术网站收藏
- ZooKeeper架构学习(一)
- 国外较好的IT网站
- 目的性越强 你的网站数据分析越有价值!