在部署 YashanDB 一主一备集群的实际运维过程中,若遇到仲裁节点(OM)故障或需重新部署 yasom 服务,运维人员需手动完成主备切换或重新纳管数据库集群。本文提供完整的操作指引与注意事项。

场景一:OM 仲裁节点异常,如何手动切换主备?

当仲裁服务所在节点发生故障,导致自动切换机制失效时,可通过命令行完成主备切换:
image.png

操作步骤:

① 构造 yasom 故障场景(测试用):
`
ps -ef | grep yasom
kill -9`
image.png
② 关闭自动切换开关(若已开启):

确认配置中 OM_ELECTION_ENABLE 为关闭状态,防止后台自动切换干扰。
image.png

③ 登录备库执行主备切换:

进入数据库命令行后执行:

ALTER DATABASE SWITCH;
④ 观察角色切换是否成功:

使用以下命令检查当前节点角色:

SELECT role FROM v$instance;
场景二:yasom 重装后如何重新纳管已有集群?

如果仲裁服务因异常需要重新部署,重新启动 yasom 服务后,可手动将数据库集群重新纳入 OM 管理。

① 操作步骤:

重新部署 yasom 服务

解压数据库软件包,以 /home/shuiwu/install 为例:

cd /home/shuiwu/install
tar -zxf yashandb-22.2.2.0-linux-x86_64.tar.gz

② 生成配置文件

使用 yasboot 工具生成部署参数:


./bin/yasboot package config gen \
--cluster yashandb \
-u shuiwu -p shuiwu \
--ip 192.168.24.48,192.168.24.49 \
--port 22 \
--install-path /home/shuiwu/yasdb_home \
--data-path /home/shuiwu/yasdb_data \
--begin-port 5688 \
--yas-type SE \
--db 2

③ 执行安装与部署


./bin/yasboot package install -t hosts.toml -i yashandb-22.2.2.0-linux-x86_64.tar.gz
./bin/yasboot cluster deploy -t yashandb.toml

④ 设置环境变量

在主备节点执行以下命令:


cat /home/shuiwu/yasdb_home/yashandb/22.2.16.100/conf/yashandb.bashrc >> ~/.bashrc
source ~/.bashrc

⑤ 验证集群状态

登录数据库并执行如下语句查看当前集群状态:

SELECT * FROM v$instance;
建议补充

对于核心生产环境,建议配置 yasom 自动启动;

建议将 OM_ELECTION_ENABLE 配置动态可控,便于手动切换干预;

日常可通过 crontab 定期检测 yasom 状态,并自动重启;


数据库砖家
1 声望0 粉丝