分别基于NFS服务和DRBD服务利用Corosync配置高可用(6)

五、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是实现高可用,读写分离和高可用是不同的概念,不要混淆,它们可以同时配置,精彩内容请看

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/00293034d1571c518add125b2f610a76.html