Maxscale-高可用配置(5)

前言

其实在GitHub上面Maxscale很清楚的告诉了我们是如何搭建的。但是那种安装是多年前的安装情况了。一般不适合在 Centos7 上面照猫画虎的安装。

这篇文章演示的是相同的软件配置 Maxscale 的 HA, 但是由于软件和操作系统比较新. 还是在一定程度上和官网给的有差别的。

安装配置 maxscale systemctl

在 192.168.137.11, 192.168.137.12 都安装 maxscale, 两台(多台)机器上都用同一个/u01/maxscale/data/.secrets文件,这样生成的加密密码才会一样。

并且配置上 systemctl 的方式启动 maxscale(如果是yum或者rpm安装的就不用设了默认直接就可以使用 systemctl 管理 maxscale)。

安装 corosync pacemaker pcs crmsh

pcsd 基本使用配置

启动 pcsd 集群资源管理服务

这边使用了ansible来实现同时在多台服务器上都启用 pcsd 服务, 有兴趣的可以了解一下如何使用, 个人比较喜欢使用这个来对多台机器同时管理。

命令介绍

ansible: ansible命令。

maxscale: /etc/ansible/hosts 文件下的 maxscale 模块, 指定了需要同时执行命令的IP。

-m service: 指定执行命令的是操作系统的一个服务

-a "...": 指定我们要对什么服务进行操作

创建 hacluster 用户并设置密码

这边使用hacluster用户的原因是在使用yum安装的时候就帮你创建好了这个用户

检查 pcs 集群的 maxscale 用户是否通

创建 maxscalecluster 集群资源

查看corosync配置文件

启动集群 maxscalecluster

查看启动节点状态

查看集群信息

CRM 查看集群状态

上面是 corosync pacemaker pcs crmsh 的基本安装, 就没做过多的演示

配置 maxscale HA

这边我们指定的 VIP 是: 192.168.137.111

normal11 -> 192.168.137.11 ip别名对应关系

normal12 -> 192.168.137.12 ip别名对应关系

  1. 任何东西都没配置的情况

  1. 配置VIP和监控的服务

  1. 查看启动的资源

  1. 服务转跳测试

这边主要是演示宕机的情况下,看看 maxscale 服务 和 VIP 是否是会漂移到 normal12(192.168.137.12) 上。

我这边不演示 使用 systemctl stop maxscale.service 服务的原因是,这样关闭服务它不会马上发生VIP漂移而是会先在 本机(normal11:192.168.137.11)上尝试启动 maxscale服务, 经过多次尝试不行才发生 VIP 和 服务的转移。这边我要夸一下这样的资源管理其实是很符合常理的很好的。这比我们的MHA符合常理的多,其实在压力比较大的数据库中,也是不应该如果一宕机就马上转移的,应该先在原先的服务器上再次启动一下服务,起步来在转跳的。因为如果压力大导致的奔溃,启动服务应该需要先把热数据加载到数据库中的。

这样就完成了高可用了,其实用传统的 heartbeat + 脚本也是可以很好的完成的,我这边选择的是官网推荐的。

昵称: HH

QQ: 275258836

ttlsa群交流沟通(QQ群②: 6690706 QQ群③: 168085569 QQ群④: 415230207(新) 微信公众号: ttlsacom)

感觉本文内容不错,读后有收获?

逛逛衣服店,鼓励作者写出更好文章。

HH

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: