#yasadm

yasadm是基于管理平台运行的工具,它提供的yasadm yasdb命令可以把已有的数据库托管到平台中进行管理和监控。

yasadm还提供了一些其他功能:平台端和主机端的进程启停,平台用户密码重置,平台的离线升级辅助、服务器和数据库的记录删除等。

# 限制说明

  • 应在安装管理平台的执行目录${管理平台安装路径}/scripts/yasadm下使用yasadm,在安装agent的执行目录下无效。(升级命令特殊,需在新包的解压目录下使用)
  • 管理已有的数据库前需手动添加数据库的各个主机到管理平台,并确保这些主机可以正常访问数据库。
  • 不支持托管数据库监听地址或OM监听地址为127.0.0.1本地监听

# 命令介绍

路径说明:{管理平台安装路径}/scripts/yasadm

命令 说明
yasadm yasdb 对已有的数据库进行添加,移除等操作
yasadm host 对已添加的主机进行相关操作
yasadm ssh 生成SSH配置文件(用于离线升级操作)
yasadm upgrade 离线升级
yasadm rollback 回退升级失败的管理平台
yasadm ycm 启停平台端的进程,重置配置文件中的后端数据库密码
yasadm ycm-agent 启停被托管服务器的进程
yasadm network 网段管理
yasadm user 用户管理
yasadm auth 认证管理

# yasadm yasdb

# yasadm yasdb demo

功能:生成配置文件模版。

参数 说明
-h,--help 查看帮助
-d,--dir 可选,生成配置文件的路径,不选则默认生成在当前路径
--file-name 可选,生成配置文件的名称,默认为join.toml
-w,--without-om 可选,生成非yasboot部署数据库添加到平台的配置文件

示例:

# 生成toml文件模版
$ ./yasadm yasdb demo

# yasadm yasdb check

功能:检查安装路径及数据库实例状态。

参数 说明
-h,--help 查看帮助
-c,--config 必传,托管所需配置文件,可使用yasadm yasdb demo命令生成
--om_db_name 可选,yasom所使用的sqlite数据库的文件的名称,默认为cod_domor.db。
默认无需填写此参数,若该命令执行失败,可去部署数据库的服务器上查看该文件

# yasadm yasdb add

功能:托管数据库。

参数 说明
-h,--help 查看帮助
-c,--config 必传,托管所需配置文件,可使用yasadm yasdb demo命令生成
--om_db_name 可选,yasom所使用的sqlite数据库的文件的名称,默认为cod_domor.db。
默认无需填写此参数,若该命令执行失败,可去部署数据库的服务器上查看该文件
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

示例:

# 添加数据库到平台进行管理
$ ./yasadm yasdb add -c join.toml

# yasadm yasdb remove

功能:移除托管。

参数 说明
-h,--help 查看帮助
-n,--name 必传,移除托管的数据库名称
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

# yasadm yasdb delete

功能:若无法走正常的移除托管流程,可使用该命令清除托管记录(仅不显示但并未移除托管,用来应对极端情况)。

参数 说明
-h,--help 查看帮助
-n,--name 必传,清除信息的数据库名称
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

# yasadm host

# yasadm host delete

功能:删除平台管理的主机。

参数 说明
-h,--help 查看帮助
--hostid 必传,删除主机的host_id
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

# yasadm host gen

功能:生成含各服务器信息的SSH配置文件(文件可配合upgrade,rollback,ycm-agent命令使用)。

参数 说明
-h,--help 查看帮助
-i,--install-dir 可选,管理平台安装路径,默认是当前安装包所在路径
-u,--username 可选,配置主机的SSH用户,默认为空
-p,--password 可选,配置主机的SSH密码,默认为空
--port 可选,配置主机的SSH端口,默认22
--rpc-port 可选,升级ycm-agent主机所需要的rpc端口,默认为9072

示例:

# 生成toml文件模版
$ ./yasadm host gen

# yasadm upgrade

功能:离线升级(需要使用升级新包中的yasadm执行)。

参数 说明
-h,--help 查看帮助
-i,--install-dir 必传,平台安装路径
-t,--toml 必传,主机信息的SSH配置文件,可以通过yasadm host gen命令生成
--skip-task 可选,是否跳过检查平台存在运行的任务,默认为false,检查平台运行任务(存在运行的任务,升级前检查不通过)
-f,--force 可选,升级检查完成后,是否不经过确认,直接升级,默认为false
--imp-exp-install-dir 管理平台服务器上安装的YashanDB客户端路径,平台后端数据库为yashandb时必填
-p,--plugin-package 可选,其它CPU架构的系统安装包,如果平台同时管理了x86_64和aarch64主机,该参数必填
--rpc 可选,是否通过rpc方式升级,默认为SSH方式

示例:

# 通过ssh方式升级
$ ./scripts/yasadm upgrade -i /data/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yashandb/23.1.1.1

# yasadm rollback

功能:回退离线升级失败的管理平台(需要使用升级新包中的yasadm执行)。

参数 说明
-h,--help 查看帮助
-i,--install-dir 可选,平台安装路径
-t,--toml 必传,主机信息的SSH配置文件,可以通过yasadm host gen命令生成
-f,--force 可选,回退检查完成后,是否不经过确认,直接回退,默认为false
--imp-exp-install-dir 可选,安装有imp和exp的数据库客户端路径,平台后端数据库为yashandb时必填

# yasadm ycm

# yasadm ycm start

功能:启动平台端的进程。

参数 说明
-h,--help 查看帮助
-p,--process 可选,指定启动的进程(如'ycm','monit'),不传则默认启动所有进程

# yasadm ycm stop

功能:停止平台端的进程。

参数 说明
-h,--help 查看帮助
-p,--process 可选,指定启动的进程(如'ycm','monit'),不传则默认停止所有进程

# yasadm ycm password reset

功能:修改配置文件ycm.yaml中后端数据库的加密密码,需要重启YCM进程生效。

参数 说明
-h,--help 查看帮助
-n,--new-password 必传,后端数据库的新密码

# yasadm ycm-agent

# yasadm ycm-agent start

功能:启动被托管服务器的进程。

参数 说明
-h,--help 查看帮助
-a,--addr 必传,主机的IP地址
-s,--toml 可选,根据ycm_host.toml文件连接主机,不传则默认免密连接,可使用yasadm host gen生成
-p,--process 可选,指定启动的进程(如'ycm-agent','monit'),不传则默认启动所有进程

# yasadm ycm-agent stop

功能:停止被托管服务器的进程。

参数 说明
-h,--help 查看帮助
-a,--addr 必传,主机的IP地址
-s,--toml 可选,根据ycm_host.toml文件连接主机,不传则默认免密连接,可使用yasadm host gen生成
-p,--process 可选,指定停止的进程(如'ycm-agent','monit'),不传则默认停止所有进程

# yasadm user

# yasadm user password reset

功能:重置管理平台用户密码。

参数 说明
-h,--help 查看帮助
-n,--name 必传,指定用户
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

# yasadm auth

# yasadm auth twofa close

功能:关闭双因子认证。

参数 说明
-h,--help 查看帮助
-y,--assumeyes 可选,跳过确认询问,所有询问默认为yes

# yasadm cloud

# yasadm cloud password reset

功能:修改配置文件ycm.yaml中云镜像默认加密的用户密码,需要重启YCM进程生效。

参数 说明
-n, --new-password 必传,跳过确认询问,所有询问默认为yes