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