Skip to main content
Version: v3&v6

数据备份与恢复

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