数据备份与恢复
ONES 系统的数据备份机制针对业务容器 volume 进行全量备份,同步整个容器卷的数据,类似于快照模式。
操作步骤:
创建备份
登陆 ONES 服务器,进入当前运行中实例的安装目录
cd /data/ones/pkg/ones-example-3.14.xxxxx
使用onesconfigure backup
备份
该命令会让 ONES 服务暂时不可用,并会在当前目录生成一个备份包,包名为
ones-example-3.14.xxxxx-2023xxxx.tar
./onesconfigure backup
使用rsync
备份volume
该命令会在指定路径(默认备份路径为/data/backup)生成整个 volume 的备份
volumeName=$(./json-util -config config.json -operator select -key deploy_name)
chmod 755 /usr/local/bin/rsync.sh
rsync.sh -s /var/lib/docker/volumes/$volumeName/ -d /data/backup -z false
cd /usr/local/bin
开启本地实时备份同步volume
-c 参数为 1 时表示每秒进行同步
nohup ./rsync.sh -s /var/lib/docker/volumes/$volumeName/ -d /data/backup -c 1 -z true > local-rsync.log &
恢复备份(容器被误删)
登陆 ONES 服务器,进入当前运行中实例的安装目录
cd /data/ones/pkg/ones-example-3.14.xxxxx
使用onesconfigure backup
生成的 tar 恢复备份
外置数据库场景下需要添加
--is_rollback_indepence_mysql=true --is_use_independence_mysql=true
参数
screen -S ones
./onesconfigure regain --t tar --p ones-data_3.14.xxx-2023xxxxxxxx.tar
使用 volume 恢复备份
./onesconfigure regain --t volume --p /data/backup
配置定时备份
登陆 ONES 服务器,进入当前运行中实例的安装目录
cd /data/ones/pkg/ones-example-3.14.xxxxx
本地定时备份,执行脚本进入交互页面,输入local
screen -S ones
bash backup/rsync.sh
异地定时备份,执行脚本进入交互页面,输入remote
bash backup/rsync.sh