2.12 故障切换

版本2.20.04.0起对切换功能进行了重定义,废除原有的切换功能,请知悉。
新的MySQL高可用切换分为两类:
一个是单实例部署的dble会内置一个自带的高可用切换的python3脚本,跟随dble启动和停止,需要设置bootstrap.cnf中system的useOuterHa 参数为false。
另一个是支持第三方的高可用切换接口功能,支持集群部署。当然,单实例dble也可以采用这种方式,需要设置system的useOuterHa 参数为true.
这种方式情况下,如果没有真的配置第三方高可用切换组件,则什么也不会发生。 具体请参考高可用切换接口

2.12.1 前提条件

  • 单实例部署的dble,设置bootstrap.cnf中system的useOuterHa 参数为false。
  • 安装好相应的python3环境,详情参考本章"自定义python脚本"部分

2.12.2 工作方式

dble启动时跟随dble启动python3脚本进程,脚本会读取db.xml内部的配置,检查后端数据库结点的状态,发生异常后会执行切换命令来通知dble

dble提供以下运维命令:

show @@custom_mysql_ha

用于查看或者监控当前进程是否存活

当python脚本意外终止时, 可以手工运行命令来启动:

enable @@custom_mysql_ha

当然,也可以手动关闭该脚本

disable @@custom_mysql_ha

2.12.2 注意事项

2.12.2.1 此功能目前只支持在linux环境下使用。

2.12.2.2 reload注意事项

做reload @@config 之前需要修改配置文件,这时候如果不停止python脚本,可能会读到中间状态的文件,所以我们建议的标准流程如下:
1.disable @@custom_mysql_ha 关闭切换功能
2.修改配置文件
3.reload @@config 重新加载配置
4.enable @@custom_mysql_ha 开启切换功能

2.12.2.3 自定义python脚本

custom_mysql_ha.py 脚本在dble安装目录的bin目录下,使用python3编写,您可以根据实际情况自行修改。
为了使它能正常工作,需要做以下的准备工作:

1、安装Python3,确认python3是否已安装可通过如下命令
/usr/local/bin/python3 --version
/usr/local/bin/pip3 --version
2、安装mysqlclient及依赖

CentOS 依赖

yum install mysql-devel

or Ubuntu 依赖

apt-get install libmysqlclient-dev

然后

pip3 install mysqlclient
3、six
pip3 install six

or

pip3 install six -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
4、coloredlogs
pip3 install coloredlogs

or

pip3 install coloredlogs -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
5、rsa
pip3 install rsa

or

pip3 install rsa -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

results matching ""

    No results matching ""