灾备和恢复
投入生产使用后,建议定时对 Zadig 系统的数据做备份,当数据库故障、Kubernetes 集群故障等极端情况发生时,可参考本手册快速恢复,对 Zadig 进行迁移。
数据备份
数据库
MongoDB 数据
备份数据库:zadig、zadig_policy、plutus_zadig。
若安装时指定了数据库名称,以安装参数中的数据库名为准。
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d zadig -o 文件存储路径
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d zadig_policy -o 文件存储路径
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d plutus_zadig -o 文件存储路径
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
内置 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/
安装参数
helm get values <Zadig Release Name> -n <Zadig Namespace> > zadig.yaml
恢复
数据导入
MongoDB 数据
若安装时指定了数据库名称,以安装参数中的数据库名为准。
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d zadig --drop 文件存储路径
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d zadig_policy --drop 文件存储路径
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d plutus-zadig --drop 文件存储路径
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
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/
安装 Zadig
为保证许可证可用,再次安装时请勿更换集群和 Namespace。
参考文档:安装 Zadig。