五、corosync和drbd一起实现mysql高可用
1、将之前配置的基于nfs的mysqld高可用中的mysqld资源和mystore资源停止删除
# crm resource stop myserver
# crm resource stop mystore
# crm configure delete myserver
# crm configure delete mystore
# crm configure show
node
node
primitive webip ocf:heartbeat:IPaddr \
params ip="172.16.5.10"
primitive webserver lsb:httpd
location prefer-node webip 500:
colocation webip-with-webserver inf: webip webserver
order webip-before-webserver inf: webip webserver
property $id="cib-bootstrap-options" \
dc-version="1.1.8-7.el6-394e906" \
cluster-infrastructure="classic openais (with plugin)" \
expected-quorum-votes="2" \
stonith-enabled="false" \
no-quarum-policy="ignore" \
last-lrm-refresh="1379645241"
2、启动drbd,测试drbd能否正常工作。
# service drbd start 两个节点中都得启动
# drbdadm primary mysql 提升为主节点
# drbd-overview
0:mysql/0 StandAlone Primary/Unknown UpToDate/DUnknown r-----
# mount /dev/drbd0 /mydata
# service mysqld start
Starting MySQL.. 【OK】
启动mysqld,若可以正常启动,说明,drbd的设备文件可以正常提供服务。
3、停止服务,并让服务开机默认不能启动
# service mysqld stop
# chkconfig mysqld off
# service drbd stop
# chkconfig drbd off
注意,两个节点都得做。
4、定义资源。
Drbd实现的mysql高可用,与nfs实现的mysql的不同之处在于
1、nfs服务的mysql数据磁盘坏掉了,整个集群就挂了,而drbd相当于给数据做了一个备份,一个挂了,另一个还都能用。
2、drbd服务被定义成了一个资源,而nfs没有
3、drbd是服务启动了,文件系统才能挂载,而nfs恰好相反
相同之处在于
两个服务器节点挂了,另一个节点都可以正常工作,所谓高可用嘛。
定义drbd服务资源
# crm configure primitive mybdrbd ocf:linbit:drbd params drbd_resource=mysql op start
timeout=240 op stop timeout=100
定义drbd服务的主节点属性,或者说是主从资源
# crm configure master ms_mydrbd mydrbd meta master-max="1" master-node-max="1"
clone-max="2" clone-node-max="1" notify="true"
定义文件系统资源
# crm configure primitive myfs ocf:heartbeat:Filesystem params device="/dev/drbd0"
directory="/mydata" fstype="ext3"
关于drbd服务的约束
# crm configure colocation myfs-with-ms_mydrbd inf: myfs ms_mydrbd:Master
# crm configure order myfs_after-ms_mydrbd inf: ms_mydrbd:promote myfs:start
# crm configure location prefer-node1 myfs 500:
定义mysqld服务
# crm configure primitive myserver lsb:mysqld
关于mysqld服务的约束
#crm configure colocation myfs-with-myserver inf: myfs myserver
#crm configure order myfs-before-myserver inf: myfs myserver
#crm configure order webip-with-myserver inf: webip myserver
# crm status
Last updated: Fri Sep 20 12:34:32 2013
Last change: Fri Sep 20 12:33:40 2013 via cibadmin on
Stack: classic openais (with plugin)
Current DC: - partition with quorum
Version: 1.1.8-7.el6-394e906
2 Nodes configured, 2 expected votes
6 Resources configured.
Online: [ www.b.com ]
webip(ocf::heartbeat:IPaddr):Started
webserver(lsb:httpd):Started
Master/Slave Set: ms_mydrbd [mydrbd]
Masters: [ ]
Slaves: [ ]
myfs(ocf::heartbeat:Filesystem):Started
myserver(lsb:mysqld):Started
--------------------------------------------------------------------------------
配置mysql的主从复制
概念不要混淆
mysql的主从复制目的是实现读写分离,drbd是实现高可用,读写分离和高可用是不同的概念,不要混淆,它们可以同时配置,精彩内容请看