基于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来安装比较妥当,安装完成后,还需要做一下配置:
   
   
  
1. vim /etc/corosync/corosync.conf  
2. compatibility: whitetank  
3.  
4. totem {  
5.         version: 2  
6.         secauth: on  
7.         threads: 0  
8.         interface {  
9.                 ringnumber: 0  
10.                 bindnetaddr: 172.16.0.0  
11.                 mcastaddr: 226.94.20.1  
12.                 mcastport: 5405  
13.         }  
14. }  
15.  
16. logging {  
17.         fileline: off  
18.         to_stderr: no  
19.         to_logfile: yes  
20.         to_syslog: no  
21.         logfile: /var/log/cluster/corosync.log  
22.         debug: off  
23.         timestamp: on  
24.         logger_subsys {  
25.                 subsys: AMF  
26.                 debug: off  
27.         }  
28. }  
29.  
30. amf {  
31.         mode: disabled  
32. }  
33.  
34. service {  
35.          ver: 0  
36.          name: pacemaker  
37.          use_mgmtd: yes  
38. }  
39.  
40. aisexec {  
41.         user:  root  
42.         group: root  
43. }  
44.  
 接着生成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


最后就可以测试查看这个高可用集群了!
 

https://blog.51cto.com/string/838415