1.1. 备份/恢复 数据

备份与恢复数据需要使用 数据备份与恢复 中的介绍的脚本,区别是metadb备份与恢复在 metadb-0 的容器中执行,engine 备份与恢复在 master-0,minio 备份与恢复在 minio-0 容器中执行。

注意
在k8s环境中,只使用本地备份方式,默认备份到/opt/hsdata/backup 目录下。

1.1.1. 数据恢复前准备工作

metadb与engine数据恢复前需要停止hengshi-sense服务,避免服务对数据恢复结果造成影响,minio数据恢复可忽略此步

  • hengshi-sense 服务停止示例。
    kubectl -n hengshi scale --replicas=0 deployment hengshi-sense
    

1.1.2. 备份恢复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 single
    sudo mv ${HSDATA}/pg_data ${HSDATA}/pg_data.old
    /opt/hengshi/bin/hengshi-sense-bin init metadb single
    /opt/hengshi/bin/hengshi-sense-bin start metadb single
    /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 ${HSDATA}/pg_data.old
    

1.1.3. 备份恢复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 容器中,执行下列操作
    /entrypoint.sh -m stopsystem
    for host in ${MASTER} ${SEGMENTS};do ssh $host "sudo mv ${HSDATA}/engine-cluster ${HSDATA}/engine-cluster.old";done
    /entrypoint.sh -m initsystem
    /entrypoint.sh -m startsystem
    /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 ${HSDATA}/engine-cluster.old";done
    

1.1.4. 备份恢复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 single
    sudo mv ${HSDATA}/minio-data ${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
    /opt/hengshi/bin/hengshi-sense-bin start minio single
    
  • 数据恢复成功后,确认数据正确性,然后删除历史旧数据。
    kubectl -n hengshi exec -it minio-0 -- sudo rm -rf ${HSDATA}/minio-data.old
    

1.1.5. 数据恢复完成后操作

metadb与engine数据恢复完成后,继续恢复hengshi-sense服务,minio数据恢复可忽略此步

  • hengshi-sense 服务恢复示例。
    hs_pods_num=  #hengshi-sense服务数量,根据自身停止前数量填写
    kubectl -n hengshi scale --replicas=${hs_pods_num} deployment hengshi-sense
    

results matching ""

    No results matching ""

    容器环境备份与恢复