在使用 YashanDB Cloud Manager(YCM)进行数据库托管时,有用户遇到以下问题:

“数据库不是用 yasboot 装的,YCM 就托管不上去?”

别急,这其实是 OM 组件缺失导致的兼容性问题。本文将详细解析问题背景、处理方法以及规范建议。

一、问题现象

尝试通过 YCM 托管数据库时,系统提示无法连接或托管失败,执行如下命令查看:

ps -ef | grep yas发现 没有 yasom 和 yasagent 进程,并且在 {数据库安装目录}/om/{数据库名称} 目录下 缺少 conf、data、log 等 OM 相关目录,说明该数据库并非使用 yasboot 安装,而是通过脚本方式部署的。
二、问题风险与影响

image.png

三、问题原因分析

YCM 的数据库托管流程依赖于 yasom/yasagent 模块,这些组件只有通过 yasboot 标准安装方式 才会自动部署和注册。

非 OM 安装的数据库缺乏这些管理组件,自然无法被 YCM 识别与纳管。

四、解决方案:先接入 OM,再接入 YCM

总体思路:

1.补装 yasom/yasagent,实现 OM 层纳管

2.通过 join-demo 模板补登记数据库信息

3.再由 YCM 正常纳管已注册的 OM 实例

五、详细处理步骤

Step 1:生成 yasom 配置文件

./bin/yasboot package config gen \
--cluster yasdb \
-u yashan -p Cod-2024 \
--ip 192.168.39.70 \
--install-path /home/yashan/yashandb/yasdb_yasom \
-t se

注意:install-path 不能与已有数据库路径冲突

Step 2:安装 yasom + yasagent


./bin/yasboot package install -i yashandb-22.2.3.0-linux-aarch64.tar.gz -t hosts.toml

安装完成后检查进程:


ps -ef | grep yas
# 应能看到 yasagent 和 yasom 正常运行
Step 3:生成 join-demo 模板文件

./bin/yasboot package config join-demo -t SE

编辑生成的 join_demo.toml 文件,手动补入数据库真实路径和 IP:


cluster = "yasdb"
sys_password = "yasdb_123"
yas_type = "SE"
[primary_config]
manage_ip = "192.168.39.70"
yasdb_home = "/home/yashan/yashandb/yasdb_home"
node_path = "/home/yashan/yashandb/yasdb_data"
node_id = "1-1:1"

Step 4:执行托管到 OM


./bin/yasboot cluster join -t SE --config join_demo.toml

出现 task completed, status: SUCCESS 即为托管成功。

Step 5:查看数据库状态
`
yasboot cluster status -c yasdb -d`
确认 database_status = normal,即可完成 YCM 纳管前提。

六、经验总结
image.png

七、结语

使用 yasboot 安装数据库不仅便捷高效,还能确保后续可顺利接入 YCM 等全生命周期运维工具。若初期部署时未使用标准流程,也无需担心,通过补装 OM 模块同样可实现纳管,只要配置到位、路径不冲突,一切都好解决!


数据库砖家
1 声望0 粉丝