备份数据
备份与恢复数据需要使用 数据备份与恢复 中的介绍的脚本,区别是以下操作均在容器内执行。
metadb备份是在 hengshi-metadb 的容器中执行
engine备份与恢复在 hengshi-engine 的容器中执行
minio备份与恢复在 hengshi-minio 的容器中执行
请注意
在 docker 环境中,只使用本地备份方式,且备份到.env 中配置的 HSHOME 下的 backup 目录下,默认路径为 docker-compose-x.x/hsdata/backup。 数据恢复后请确认数据的正确性才能删除旧数据!
备份恢复 metadb
按照示例中的操作步骤进行备份 metadb 和恢复 metadb。
- 备份 metadb 示例。
# 进入metadb容器内建立备份目录
docker exec -it hengshi-metadb mkdir -p /opt/hsdata/backup
# 开始备份
docker exec -it hengshi-metadb /opt/hengshi/bin/dbbackup.sh -m metadb -l /opt/hsdata/backup
- 恢复 metadb 示例。
停止所有服务(也可只停止hengshi服务)
cd docker-compose-x.x
docker-compose down
重命名旧数据目录
sudo mv ${HSHOME}/hsdata/pg_data ${HSHOME}/hsdata/pg_data.old
请注意
${HSHOME} 是示例变量不能直接复制粘贴! 请替换成你的实际部署目录。
例如:
hengshi部署在/data/docker-compose-5.1, 实际路径则为sudo mv /data/docker-compose-5.1/hsdata/pg_data /data/docker-compose-5.1/hsdata/pg_data.old。
重新初始化新的metadb数据进行备份导入
docker-compose run --rm metadb init metadb
docker-compose up -d metadb
docker exec -it hengshi-metadb /opt/hengshi/bin/dbrestore.sh -m metadb -l /opt/hsdata/backup -t metadb_backup.xx-xx-xx_xx:xx:xx.tar.gz
docker-compose down
- 当 metadb 恢复成功后重新启动系统。
docker-compose up -d
备份恢复 engine 数据
按照示例中的操作步骤进行备份和恢复引擎数据。
- 备份引擎数据示例。
docker exec -it hengshi-engine mkdir -p /opt/hsdata/backup
docker exec -it hengshi-engine /opt/hengshi/bin/dbbackup.sh -m engine -l /opt/hsdata/backup
- 恢复 engine 数据示例。
停止所有服务(也可只停止hengshi服务)
cd docker-compose-x.x
docker-compose down
重命名旧数据目录
sudo mv ${HSHOME}/hsdata/engine-cluster ${HSHOME}/hsdata/engine-cluster.old
请注意
${HSHOME} 是示例变量不能直接复制粘贴! 请替换成你的实际部署目录。
例如:
hengshi部署在/data/docker-compose-5.1, 实际路径则为sudo mv /data/docker-compose-5.1/hsdata/engine-cluster /data/docker-compose-5.1/hsdata/engine-cluster.old。
3.重新初始化新的engine数据进行备份导入
docker-compose run --rm engine init engine
docker-compose up -d engine
docker exec -it hengshi-engine /opt/hengshi/bin/dbrestore.sh -m engine -l /opt/hsdata/backup -t engine_backup.xx-xx-xx_xx:xx:xx.tar.gz
docker-compose down
- 当 engine 恢复成功后重新启动系统。
docker-compose up -d
备份恢复 minio
按照示例中的操作步骤进行备份 minio 和恢复 minio。
- 备份 minio 示例。
docker exec -it hengshi-minio mkdir -p /opt/hsdata/backup
docker exec -it hengshi-minio /opt/hengshi/bin/dbbackup.sh -m minio -l /opt/hsdata/backup
- 恢复 minio 示例。
停止所有服务(也可只停止hengshi服务)
cd docker-compose-x.x
docker-compose down
重命名旧数据目录
sudo mv ${HSHOME}/hsdata/minio-data ${HSHOME}/hsdata/minio-data.old
请注意
${HSHOME} 是示例变量不能直接复制粘贴! 请替换成你的实际部署目录。
例如:
hengshi部署在/data/docker-compose-5.1, 实际路径则为sudo mv /data/docker-compose-5.1/hsdata/minio-data /data/docker-compose-5.1/hsdata/minio-data.old。
minio无需初始化,启动后可以直接进行备份导入
docker-compose up -d minio
docker exec -it hengshi-minio /opt/hengshi/bin/dbrestore.sh -m minio -l /opt/hsdata/backup -t minio_backup.xx-xx-xx_xx:xx:xx.tar.gz
docker-compose down
- 当 minio 恢复成功后重新启动系统。
docker-compose up -d