基于corosync软件,制作mysql高可用共享存储
首先,我们来了解一下这款软件,它是从openAIS里脱下来的新产品,与pacemaker结合后,成为十分强大的高可用集群管理器。要安装的时候,还要有pacemaker,安装后,还要对其进行配置!我们以两个节点为例来讨论:
首先,准备两台已经安装好数据库的服务器,且mysql服务不能开机自动启动,如果测试可以正常启动了,将其关闭就可以了,其ip地址以172.16.20.11,172.16.20.12为例,配置双机互信,节点名与hostname一致,并写进配置文件内。 在另一台172.26.20.1上建立起nfs服务 首先创建一个逻辑卷,将其挂载载至/mydata目录下(一般mysql挂在这个目录),那把这个目录给共享出去,命令如下: #vim /etc/exports #/mydata 172.16.20.0/16(rw) 然后,安装corosync软件,此软件有许多所依赖的文件包,所以要提前下载,用yum来安装比较妥当,安装完成后,还需要做一下配置:- vim /etc/corosync/corosync.conf
- compatibility: whitetank
- totem {
- version: 2
- secauth: on
- threads: 0
- interface {
- ringnumber: 0
- bindnetaddr: 172.16.0.0
- mcastaddr: 226.94.20.1
- mcastport: 5405
- }
- }
- logging {
- fileline: off
- to_stderr: no
- to_logfile: yes
- to_syslog: no
- logfile: /var/log/cluster/corosync.log
- debug: off
- timestamp: on
- logger_subsys {
- subsys: AMF
- debug: off
- }
- }
- amf {
- mode: disabled
- }
- service {
- ver: 0
- name: pacemaker
- use_mgmtd: yes
- }
- aisexec {
- user: root
- group: root
- }
这样就可以在两个节点上分别启动corosync
稍等片刻之后就可以试着查看节点是否在线了。查看命令: crm_mon 或者 crm-overview都可以啦! 在线后,就可以用crm 进入配置集群服务了 为了可以正常工作,首先需要配置一些属性信息: #property stonith-enabled=false #property no-quorum-policy=ignore #verity #commit 还可以配置其有关粘性值: rsc_defaults resource-stickiness=88(只要大于零,就表示愿意在此节点停留) 配置后可: 以使用命令shou进行查看 下面要配置资源信息: 在配置模式下,用primitive 来实现,具体如下:primitive IP ocf:heartbeat:IPaddr params ip=172.16.20.17(此地址为vip)
primitive mynfs ocf:heartbeat:Filesystem params device="172.16.20.1:/mmydata" directory "/mydata" fstype="nfs" op start timeout=60s op stop timeout=60s(配置文件系统资源,并且还有时间参数,且不能小于60,否则将出错) primitive mysql lsb:mysqld (添加mysql资源) 由于mysql要挂载在nfs文件系统上,所以,要定义排列选项: colocation mysql_and_mydfs inf: mynfs mysql 还有要让mysql最后启动,所以,定义order: order mysql_after_mynfs mandatory: mynfs mysql order mysql_after_IP mandatory: mysql IP verity commit 最后就可以测试查看这个高可用集群了!