#yasadm

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

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

# 限制说明

  • 应在安装管理平台的执行目录${管理平台安装路径}/scripts/yasadm下使用yasadm,在安装agent的执行目录下无效。(升级命令特殊,需在新包的解压目录下使用)。
  • 如果是高可用,必须要保证yasadm在主节点下执行。
  • 管理已有的数据库前需手动添加数据库的各个主机到管理平台,并确保这些主机可以正常访问数据库。
  • 不支持托管数据库监听地址或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 instance 对高可用部署节点进行的相关操作
yasadm password 对配置文件中的密码进行管理

# yasadm yasdb

# yasadm yasdb demo

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

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

示例:

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

# 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
Copied!

# 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
Copied!

# 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 /opt/ycm -t ycm_host.toml --imp-exp-install-dir /home/yashan/yashandb/23.1.1.1
Copied!

# 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 remote gen

功能:生成关联异地YCM的配置文件add_remote_ycm.toml

参数 说明
-h,--help 查看帮助
-a,--remote-addr 必传,异地YCM的通信地址,格式为ip:port
-i,--local-ip 必传,本地YCM的通信ip
-o,--out 生成的配置文件保存路径,默认为当前路径
-lu,--local-user 必传,本地YCM的登录用户
-lp,--local-password 必传,本地YCM的用户密码
-ru,--remote-user 必传,异地YCM的登录用户
-rp,--remote-password 必传,异地YCM的用户密码

# yasadm ycm remote add

功能:关联异地YCM。

参数 说明
-h,--help 查看帮助
-t,--toml 必传,关联配置文件
-lu,--local-user 必传,本地YCM的登录用户
-lp,--local-password 必传,本地YCM的用户密码
-ru,--remote-user 必传,异地YCM的登录用户
-rp,--remote-password 必传,异地YCM的用户密码

# yasadm ycm remote get

功能:查看异地YCM的信息。

参数 说明
-h,--help 查看帮助
-lu,--local-user 必传,本地YCM的登录用户
-lp,--local-password 必传,本地YCM的用户密码

# yasadm ycm remote update

功能:更新异地YCM的信息。

参数 说明
-h,--help 查看帮助
-t,--toml 必传,关联配置文件
-lu,--local-user 必传,本地YCM的登录用户
-lp,--local-password 必传,本地YCM的用户密码
-ru,--remote-user 必传,异地YCM的登录用户
-rp,--remote-password 必传,异地YCM的用户密码

# yasadm ycm remote remove

功能:移除关联的异地YCM。

参数 说明
-h,--help 查看帮助
-lu,--local-user 必传,本地YCM的登录用户
-lp,--local-password 必传,本地YCM的用户密码
-ru,--remote-user 必传,异地YCM的登录用户
-rp,--remote-password 必传,异地YCM的用户密码
-f,--force 是否强制本地移除,忽略异地移除的报错

# 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 instance

# yasadm instance status

功能:查看高可用部署节点的基本信息。

参数 说明
-h,--help 查看帮助
--db-timeout 连接后端数据库查询节点信息的超时时间,默认为3s
--api-timeout 通过接口api/appconfig查询节点角色信息的超时时间,默认为3s

示例:

$ ./scripts/yasadm instance status
Copied!

# yasadm instance delete

功能:删除部署失败的实例元数据。

参数 说明
-h,--help 查看帮助
-i,--inst-id 示例id
-y,--assumeyes 确认删除

# yasadm password reset

功能:修改配置文件中的加密密码,需要重启YCM进程生效。

参数 说明
-h,--help 查看帮助
-n,--new-password 必传,设置的密码
-t,--type 必传,设置的密码类型

其中,参数--type支持的可选参数有:

  • backend: 修改配置文件ycm.yaml中后端数据库用户的加密密码,需要重启YCM进程生效。
  • yasom: 修改配置文件config.ini中默认的yasom用户的加密密码,需要重启YCM和yashandb_exporter进程生效。