Replication-manager

来自Linux78|wiki

https://docs.signal18.io/

replication-manager简介

replication-manager是signal18开源的一款数据库高可用工具,采用go语言开发,源码托管在github上。

支持的MySQL的版本:

MariaDB 10.x

MySQL & Percona Server 5.7 GTID

功能特性:

复制关系监控与拓扑检测

在线切换(switchover)

故障切换(failover)

多集群管理

支持代理( ProxySQL, MaxScale, HAProxy, Spider)

大多数场景数据零丢失

安装

vi /etc/yum.repos.d/signal18.repo
[signal18]
name=Signal18 repositories
baseurl=http://repo.signal18.io/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

yum install replication-manager-osc

配置

vi /etc/replication-manager/config.toml
[db3306]
title = "db3306"
db-servers-hosts = "192.168.99.210:3508,192.168.99.211:3508,192.168.99.212:3508"
db-servers-prefered-master = "192.168.99.210:3508"
db-servers-credential = "wyz:****"
replication-credential = "repl:re****"
failover-mode = "manual"
proxysql=true
proxysql-server="192.168.99.210"
proxysql-port=6033
proxysql-admin-port=6032
proxysql-writer-hostgroup=10
proxysql-reader-hostgroup=11
proxysql-user="adfz"
proxysql-password="****"
proxysql-bootstrap=false
[Default]
monitoring-datadir = "/data/replication-manager"
monitoring-sharedir = "/data/share_replication-manager"
log-level=7
log-file = "/var/log/replication-manager.log"
replication-multi-master = false
replication-multi-tier-slave = false
failover-readonly-state = true
http-server = true
http-bind-address = "0.0.0.0"
http-port = "10001"

在浏览器中打开:http://IP:10001/

手动执行故障切换

先把主库关掉

执行./replication-manager-cli --config=./config.toml failover

自动执行故障切换:

只要在配置文件中,把failover-mode 由 "manual" 修改为 "automatic",重新监视集群即可。这样主库宕机的情况下,会自动执行故障切换。

宕机的旧主如果恢复后,会自动变成新主的一个从库,并且处于维护模式。

通过 replication-manager-cli 的 topology命令可以获取集群各个节点的id,再通过server命令,可以设置或者解除维护模式,如下:

./replication-manager-cli topology
./replication-manager-cli server --id=5789112859919251853 --maintenance

命令行模式:

./replication-manager-cli console