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