基于corosync软件,制作mysql高可用共享存储

                基于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
}

 


接着生成authkey文件,使用命令:
corosync-keygen
然后再将生成的authkey文件复制到另一台服务器上即可
之后再在两个节点上建立日志文件的目录,
mkdir /var/log/cluster,以便和配置文件相对应,
这样就可以在两个节点上分别启动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
最后就可以测试查看这个高可用集群了!

你可能感兴趣的:(corosync,MySQL高可用)