linux corosync+pacemaker+drbd+mysql配置安装详解

2019-10-13 22:06:41王振洲

– 在两节点上分别启动Pacemaker:
[root@node1~]# /etc/init.d/pacemaker start
Starting Pacemaker Cluster Manager:                        [  OK  ]
[root@node2~]# /etc/init.d/pacemaker start
Starting Pacemaker Cluster Manager: 

资源配置

配置资源及约束                 
配置默认属性
查看已存在的配置:
[root@node1 ~]# crm configure show
node node1.hulala.com
node node2.hulala.com
property $id="cib-bootstrap-options" dc-version="1.1.8-7.el6-394e906" cluster-infrastructure="classic openais (with plugin)" expected-quorum-votes="2"
禁止STONITH错误:
[root@node1 ~]# crm configure property stonith-enabled=false
[root@node1 ~]# crm_verify -L
让集群忽略Quorum:
[root@node1~]# crm configure property no-quorum-policy=ignore
防止资源在恢复之后移动:
[root@node1~]# crm configure rsc_defaults resource-stickiness=100
设置操作的默认超时:
[root@node1~]# crm configure property default-action-timeout="180s"
设置默认的启动失败是否为致命的:
[root@node1~]# crm configure property start-failure-is-fatal="false"
配置DRBD资源
– 配置之前先停止DRBD:
[root@node1~]# /etc/init.d/drbd stop
[root@node1~]# /etc/init.d/drbd stop
– 配置DRBD资源:
[root@node1~]# crm configure
crm(live)configure# primitive p_drbd_mysql ocf:linbit:drbd params drbd_resource="dbcluster" op monitor interval="15s" op start timeout="240s" op stop timeout="100s"
– 配置DRBD资源主从关系(定义只有一个Master节点):
crm(live)configure# ms ms_drbd_mysql p_drbd_mysql meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
– 配置文件系统资源,定义挂载点(mount point):
crm(live)configure# primitive p_fs_mysql ocf:heartbeat:Filesystem params device="/dev/drbd0" directory="/var/lib/mysql_drbd/" fstype="ext4"
配置VIP资源
crm(live)configure# primitive p_ip_mysql ocf:heartbeat:IPaddr2 params ip="192.168.1.39" cidr_netmask="24" op monitor interval="30s"
配置MySQL资源
crm(live)configure# primitive p_mysql lsb:mysql op monitor interval="20s" timeout="30s" op start interval="0" timeout="180s" op stop interval="0" timeout="240s"
组资源和约束
通过”组”确保DRBD,MySQL和VIP是在同一个节点(Master)并且确定资源的启动/停止顺序.
启动: p_fs_mysql–>p_ip_mysql->p_mysql
停止: p_mysql–>p_ip_mysql–>p_fs_mysql
crm(live)configure# group g_mysql p_fs_mysql p_ip_mysql p_mysql
组group_mysql永远只在Master节点:
crm(live)configure# colocation c_mysql_on_drbd inf: g_mysql ms_drbd_mysql:Master
MySQL的启动永远是在DRBD Master之后: