Skip to content

4. 如何启动 mha_manager 服务

arstercz edited this page Jan 28, 2023 · 3 revisions

如果想通过 masterha_manager 工具来对指定实例进行自动的监控和切换, 可以启动 systemd 服务.

masterha_manager 更多选项见: wiki_masterha_manager, systemd 服务参考:systemd-mha_manager.

比如 /etc/masterha 目录中包含以下配置文件:

/etc/masterha
├── app_sample1.cnf
├── app_sample2.cnf
├── default.cnf
└── switch.cnf

通过以下命令开启对应实例的 systemd 服务, 以便系统重启后可以自动重启:

systemctl enable mha_manager@app_sample1
systemctl enable mha_manager@app_sample2

通过以下命令启动/关闭服务:

systemctl start mha_manager@app_sample1
systemctl stop mha_manager@app_sample1

systemctl start mha_manager@app_sample2
systemctl stop mha_manager@app_sample2

备注: 上述的 app_sample1 和 app_sample2 对应 /etc/masterha 中的配置文件, 所有配置文件以 .cnf 结尾. 见 systemd 配置中的 /etc/masterha/%i.cnf.

其它注意事项

自动 failover 时间限制

刚自动切换完的实例, 默认超过 8 小时才能再进行切换. 在网络抖动较多的情况下, 需要调整该值, 建议调整为 3 小时. 对应选项:

--last_failover_minute=180

systemd 服务能否自动重启

masterha_manager 在进行完一次切换后, 无论成功与否, 进程都会退出. 鉴于这个原因, systemd 中增加以下两个选项, 每 5 分钟做一次进程重启检查操作, 如果退出, 最多 5 分钟后会再拉起进程:

Restart=always
RestartSec=300