Corosync+pacemaker实现基于drbd分散式存储的mysql高可用集群
2012-05-16 17:08:30 来源:WEB开发网
核心提示: 四、定义集群服务: 1、设置集群的工作属性 [root@HA1 corosync]# crm crm(live)configure# property stonith-enabled=false
四、定义集群服务:
1、设置集群的工作属性
[root@HA1 corosync]# crm
crm(live)configure# property stonith-enabled=false
#关闭stonith设备检测,如果具有stonith设备不必执行该项
crm(live)configure# property no-quorum-policy=ignore
#关闭法定投票人数策略,如果是多节点集群则不必关闭法定投票人数策略
crm(live)configure# rsc_defaults resource-stickiness=100
#定义全局资源粘性值
crm(live)configure# show
2、定义drbd资源,接受corosync的调度
crm(live)configure# primitive drbd0 ocf:linbit:drbd params drbd_resource=mysql op monitor role=Master interval=50s timeout=30s op monitor role=Slave interval=60s timeout=30s op start timeout=240s op stop timeout=100s
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# ms MS-drbd drbd0 meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"crm(live)configure# verify
crm(live)configure# commit
crm(live)# status
3、定义文件系统资源
crm(live)configure# primitive FS ocf:heartbeat:Filesystem params device=/dev/drbd0 directory=/mysql fstype=ext3 op start timeout=60s op stop timeout=60s
crm(live)configure# verify
crm(live)configure# commit
crm(live)# status
4、定义mysql为一个资源,接受corosync的调度
crm(live)configure# primitive Mysql-server lsb:mysqld
crm(live)configure# verify
crm(live)configure# commit
crm(live)# status
Mysql启动失败,因为drbd的Primary节点在HA1上挂载,mysql在节点HA2上启动自然启动不起来
5、设置资源约束,规定启动顺序
crm(live)configure# colocation drbd-fs-mysql INFINITY: MS-drbd FS Mysql-server
#定义资源约束,将所有资源捆绑在一起,使其只能处于一个节点上
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# order drbd-fs-mysql-after mandatory: MS-drbd FS Mysql-server
#定义启动顺序:IP资源,DRBD提升为主节点,挂载文件系统,web服务
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# show
crm(live)configure# status
6、测试资源流转
[root@HA1 corosync]# crm node standby
[root@HA2 ha]# crm status
|
赞助商链接