灾备和恢复
生产环境建议定期备份 Zadig 系统数据。当数据库故障、Kubernetes 集群故障等极端情况发生时,可参考本手册快速恢复或迁移 Zadig。
# 数据备份
# 数据库
# MongoDB 数据
备份数据库:zadig、plutus_zadig。
若安装时指定了数据库名称,以安装参数中的数据库名为准。
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d zadig -o 文件存储路径
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d plutus_zadig -o 文件存储路径
1
2
2
# MySQL 数据
备份数据库 user、dex。
mysqldump -h <HOST> -P <PORT> -u root -p user > user.sql
mysqldump -h <HOST> -P <PORT> -u root -p dex > dex.sql
1
2
2
# 内置 MinIO 对象存储
- 安装 MinIO 客户端工具 mc(opens new window)
- 执行备份命令:
export NAMESPACE=<Zadig Namespace>
kubectl port-forward svc/kr-minio -n <Zadig Namespace> 9000:9000
mc alias set zadig-minio http://localhost:9000 AKIAIOSFODNN72019EXAMPLE wJalrXUtnFEMI2019K7MDENGbPxRfiCYEXAMPLEKEY
mc mirror zadig-minio/bucket/ ./bucket/
1
2
3
4
2
3
4
# 安装参数
helm get values <Zadig Release Name> -n <Zadig Namespace> > zadig.yaml
1
# 数据恢复
# 数据导入
# MongoDB 数据
若安装时指定了数据库名称,以安装参数中的数据库名为准。
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d zadig --drop 文件存储路径
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d plutus_zadig --drop 文件存储路径
1
2
2
# MySQL 数据
# 在 MySQL 中执行如下操作:
mysql> drop database user;
mysql> create database user;
mysql> drop database dex;
mysql> create database dex;
# 命令行执行如下数据恢复操作:
mysql -h <HOST> -P <PORT> -u root -p user < user.sql
mysql -h <HOST> -P <PORT> -u root -p dex < dex.sql
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# MinIO 数据
kubectl port-forward svc/kr-minio -n <Zadig 所在 namespace> 9000:9000
mc alias set zadig-minio http://localhost:9000 AKIAIOSFODNN72019EXAMPLE wJalrXUtnFEMI2019K7MDENGbPxRfiCYEXAMPLEKEY
mc mirror ./bucket/ zadig-minio/bucket/
1
2
3
2
3
# 重新安装 Zadig
为保证许可证可用,重新安装时请勿更换集群和 Namespace。
参考 安装 Zadig。


