1.1. 备份数据
备份与恢复数据需要使用 数据备份与恢复 中的介绍的脚本,区别是metadb备份与恢复在 metadb-0 的容器中执行,engine 备份与恢复在 master-0,minio 备份与恢复在 minio-0 容器中执行。
注意
在k8s环境中,只使用本地备份方式,默认备份到/opt/hsdata/backup 目录下。
1.1.1. 备份恢复metadb
按照示例中的操作步骤进行备份metadb和恢复metadb。
备份metadb示例。
kubectl -n hengshi exec -it metadb-0 -- mkdir -p /opt/hsdata/backup kubectl -n hengshi exec -it metadb-0 -- /opt/hengshi/bin/dbbackup.sh -m metadb -l /opt/hsdata/backup
恢复metadb示例。
kubectl -n hengshi exec -it metadb-0 -- /bin/bash ## 进入metadb-0 容器中,执行下列操作 /opt/hengshi/bin/hengshi-sense-bin stop metadb sudo mv ${HSHOME}/hsdata/pg_data ${HSHOME}/hsdata/pg_data.old /opt/hengshi/bin/hengshi-sense-bin init metadb /opt/hengshi/bin/hengshi-sense-bin start metadb /opt/hengshi/bin/dbrestore.sh -m metadb -l /opt/hsdata/backup -t metadb_backup.xx-xx-xx_xx:xx:xx.tar.gz
- 数据恢复成功后,确认数据正确性,然后删除历史旧数据。
kubectl -n hengshi exec -it metadb-0 -- sudo rm -rf ${HSHOME}/hsdata/pg_data.old
1.1.2. 备份恢复engine数据
按照示例中的操作步骤进行备份和恢复引擎数据。
备份引擎数据示例。
kubectl -n hengshi exec -it master-0 -- mkdir -p /opt/hsdata/backup kubectl -n hengshi exec -it master-0 -- /opt/hengshi/bin/dbbackup.sh -m engine -l /opt/hsdata/backup
恢复引擎数据示例。
kubectl -n hengshi exec -it master-0 -- /bin/bash ## 进入master-0 容器中,执行下列操作 /opt/hengshi/bin/hengshi-sense-bin stop engine for host in ${MASTER} ${SEGMENTS};do ssh $host "sudo mv ${HSHOME}/hsdata/engine-cluster ${HSHOME}/hsdata/engine-cluster.old";done /opt/hengshi/bin/hengshi-sense-bin init engine /opt/hengshi/bin/hengshi-sense-bin start engine /opt/hengshi/bin/dbrestore.sh -m engine -l /opt/hsdata/backup -t engine_backup.xx-xx-xx_xx:xx:xx.tar.gz
数据恢复成功后,确认数据正确性,然后删除历史旧数据。
kubectl -n hengshi exec -it master-0 -- for host in ${MASTER} ${SEGMENTS};do ssh $host "sudo rm -rf ${HSHOME}/hsdata/engine-cluster.old";done
1.1.3. 备份恢复minio
按照示例中的操作步骤进行备份minio和恢复minio。
备份minio示例。
kubectl -n hengshi exec -it inio-0 -- mkdir -p /opt/hsdata/backup kubectl -n hengshi exec -it inio-0 -- /opt/hengshi/bin/dbbackup.sh -m inio -l /opt/hsdata/backup
恢复minio示例。
kubectl -n hengshi exec -it minio-0 -- /bin/bash ## 进入metadb-0 容器中,执行下列操作 /opt/hengshi/bin/hengshi-sense-bin stop minio sudo mv ${HSHOME}/hsdata/minio_data ${HSHOME}/hsdata/minio_data.old /opt/hengshi/bin/dbrestore.sh -m minio -l /opt/hsdata/backup -t minio_backup.xx-xx-xx_xx:xx:xx.tar.gz
- 数据恢复成功后,确认数据正确性,然后删除历史旧数据。
kubectl -n hengshi exec -it minio-0 -- sudo rm -rf ${HSHOME}/hsdata/minio_data.old