#平台备份与恢复
通过backup.sh和restore.sh工具可以对管理平台以及托管资源上管理平台相关的信息(ycm-agent)进行数据和配置的备份与恢复,具体命令介绍请查阅backup和restore。
备份与恢复操作不能保证数据的强一致性,请合理规划备份与恢复操作。例如新增托管资源后备份管理平台,然后移除该资源再恢复管理平台,并不能达到恢复该资源的效果且还会产生脏数据。
Note:
本文中的安装路径、备份文件存放地址、备份文件名、后端数据库相关信息等均为示例,请以实际为准。
# 备份与恢复管理平台
# 备份
# 注意事项
备份的目标地址空闲空间需大于2G,若不指定默认为
{管理平台安装路径(本文以/data/install为例)}/backup
。为尽可能提高数据一致性,请勿在任务执行期间进行备份。
备份操作的步骤取决于管理平台的后端数据库配置,操作前需先获取具体的后端数据库信息(可通过查看etc/deploy.toml文件中dbconfig相关配置获取)。
当后端数据库为远端YashanDB时,执行备份操作前需要先配置免密登录,允许管理平台执行恢复操作的服务器可SSH免密登录远端YashanDB所在服务器。具体操作以各操作系统为准,本文不做赘述。
# 操作步骤
场景一 后端数据库为SQLite
以安装用户登录管理平台所在服务器。
执行如下命令,备份管理平台。
$ /data/install/ycm/scripts/backup.sh -n ycm -i /data/install/ycm
场景二 后端数据库为本地YashanDB
以安装用户登录管理平台所在服务器。
执行如下命令,备份管理平台。
第1次备份
# 配置环境变量 $ source /data/ycm_db/yashandb/23.2.1.100/conf/YCM_YASDB.bashrc $ /data/install/ycm/scripts/backup.sh -n ycm -i /data/install/ycm -c ycm_db -y /data/ycm_db/yashandb/23.2.1.100 --cata-log /data/ycm_db/yashandb/23.2.1.100/catalog --addr 192.168.1.2:1675 -k d30c03533cef25d1 -u sys -p password
第n+1次备份
$ /data/install/ycm/scripts/backup.sh -n ycm -i /data/install/ycm -c ycm_db -y /data/ycm_db/yashandb/23.2.1.100
场景三 后端数据库为远端YashanDB
以安装用户登录管理平台所在服务器。
配置免密登录:允许执行备份脚本的服务器可SSH免密登录远端YashanDB所在服务器。
执行如下命令,备份管理平台。
第1次备份
$ /data/install/ycm/scripts/backup.sh -n ycm -i /data/install/ycm -c ycm_db -y /data/ycm_db/yashandb/23.2.1.100 --cata-log /data/ycm_db/yashandb/23.2.1.100/catalog --addr 192.168.18.177:1675 -k d30c03533cef25d1 -u sys -p password --user yashan --ip 192.168.18.177
第n+1次备份
$ /data/install/ycm/scripts/backup.sh -n ycm -i /data/install/ycm -c ycm_db -y /data/ycm_db/yashandb/23.2.1.100 --user yashan --ip 192.168.18.177
# 恢复
# 注意事项
恢复前,需先获取备份文件的存放路径。
恢复操作的步骤取决于管理平台的后端数据库配置,操作前需先确认具体的后端数据库信息(可通过查看etc/deploy.toml文件中dbconfig相关配置)。
当后端数据库为远端YashanDB时,执行恢复操作前需要先配置免密登录,允许管理平台执行恢复操作的服务器可SSH免密登录远端YashanDB所在服务器。具体操作以各操作系统为准,本文不做赘述。
恢复完成后会自动重启相关服务进程,期间管理平台不可用,请合理安排操作时间。
为尽可能提高数据一致性,请勿在任务执行期间进行恢复。
# 操作步骤
场景一 后端数据库为SQLite
以安装用户登录管理平台所在服务器。
执行如下命令,恢复管理平台。
$ /data/install/ycm/scripts/restore.sh -n ycm -i /data/install/ycm -p /data/install/ycm/backup/ycm-20231221-144408.tar.gz
场景二 后端数据库为本地YashanDB
以安装用户登录管理平台及后端YashanDB数据库的yasom进程所在服务器。
进入数据库安装目录,执行备份查询命令确认YashanDB的备份文件是否存在。
# tag的具体值可以在备份文件名中获取 $ ./bin/yasrman sys/password@192.168.1.2:1688 -c "LIST BACKUP TAG '20231221-151101'"
执行如下命令,准备环境。
$ ./bin/yasboot cluster clean -c ycm_db --restore
执行如下命令,恢复管理平台。
$ /data/install/ycm/scripts/restore.sh -n ycm -i /data/install/ycm -p /data/install/ycm/backup/ycm-20231221-151101.tar.gz -y /data/ycm_db/yashandb/23.2.1.100 -c ycm_db
场景三 后端数据库为远端YashanDB
登录后端YashanDB数据库的yasom进程所在服务器。
进入数据库安装目录,执行备份查询命令确认YashanDB的备份文件是否存在。
# tag的具体值可以在备份文件名中获取 $ ./bin/yasrman sys/password@192.168.18.177:1688 -c "LIST BACKUP TAG '20231221-151101'"
执行如下命令,清理对应数据库数据,将数据库以nomout模式启动,提供恢复数据库环境。
$ ./bin/yasboot cluster clean -c ycm_db --restore
以安装用户登录管理平台所在服务器。
执行如下命令,恢复管理平台。
$ /data/install/ycm/scripts/restore.sh -n ycm -i /data/install/ycm -p /data/install/ycm/backup/ycm-20231221-151101.tar.gz -y /data/ycm_db/yashandb/23.2.1.100 -c ycm_db --user yashan --ip 192.168.18.177
# 备份与恢复ycm-agent
# 备份
# 注意事项
备份的目标地址空闲空间需大于1G,若不指定默认为{ycm-agent安装路径(本文以/opt/ycm为例)}/backup
。
# 操作步骤
以安装用户登录被托管服务器,执行如下命令备份管理平台相关的信息(ycm-agent)。
$ /opt/ycm/ycm-agent/scripts/backup.sh -n ycm-agent -i /opt/ycm/ycm-agent
# 恢复
# 注意事项
恢复前,需先获取备份文件的存放路径。
恢复完成后会自动重启相关服务进程,期间ycm-agent不可用,请合理安排操作时间。
# 操作步骤
以安装用户登录被托管服务器,执行如下命令恢复管理平台相关的信息(ycm-agent)。
$ /opt/ycm/ycm-agent/scripts/restore.sh -n ycm-agent -i /opt/ycm/ycm-agent -p /opt/ycm/ycm-agent/backup/ycm-agent-20231221-152809.tar.gz