1. HENGSHI SENSE 回滚操作说明

HENGSHI SENSE进行版本升级时,如果发现问题,可以回滚到升级前的版本。

回滚时请注意:

  1. 回滚操作会保留当前运行版本的临时备份,如果连续操作两次则当前版本的备份会被删除。

1.1. 单机模式

单机模式下进行回滚操作请按照下面指导进行。

  1. 关闭HENGSHI SENSE。

     $ cd /opt/hengshi
     $ bin/hengshi-sense-bin stop all
    
  2. 备份当前HENGSHI SENSE内容。

     $ cd /opt/hengshi
     $ rm backup/current -rf
     $ mkdir -p backup/current/
     $ cp -r bin conf lib pg_data local_data temp_data backup/current/
     $ rm -rf bin conf lib pg_data local_data temp_data
    
  3. 解压回滚backup目录下面最近一个备份压缩包,具体操作如下。
    首先进入backup目录,选择最近的压缩包进行解压,这里一定要确认压缩包的时间。 示例中选择hengshi-20210819163228目录下的压缩包进行解压,该压缩包的时间为2021-08-19_16:32:28。

     $ cd /opt/hengshi
     $ ls backup
       hengshi-20210819163228
     $ ls backup/hengshi-20210819163228
       bin_conf_lib.tar.gz  metadb_backup.2021-08-19_16-33-14.tar.gz
     $ cd backup/hengshi-20210819163228
     $ tar -xf bin_conf_lib.tar.gz  
     $ cd ../..
    

    其次,回滚备份压缩包的内容。

     $ mv backup/hengshi-20210819163228/{bin,conf,lib} .
     $ bin/hengshi-sense-bin init metadb  
     $ bin/hengshi-sense-bin start metadb  
     $ bin/dbrestore.sh -m metadb -l ${PWD}/backup/hengshi-20210819163228 -t metadb_backup.2021-08-19_16-33-14.tar.gz  
     $ bin/hengshi-sense-bin stop metadb
    

    最后查看当前目录内容,确认当前目录中存在binconflibpg_data四个目录。

     $ ls ..
       bin  conf  lib  pg_data #需要包含这几个目录
    
  4. 启动HENGSHI SENSE。
     $ cd /opt/hengshi  
     $ bin/hengshi-sense-bin start all
    

1.2. 集群模式

集群模式进行回滚操作请按照下面指导进行。

  1. 集群回滚前请确认metadb服务、hengshi服务所处设备的位置。 这里hengshi服务指具体部署在节点的服务。

     $ cd /opt/hengshi
     $ cat ansible/hosts
       [metadb]
       Node-A
       [hengshi]
       Node-B
       Node-C
    

    参数说明:
    [metadb] : metadb 服务部署的设备。
    [hengshi]: hengshi 服务部署的设备。请注意这里的hengshi服务是专指部署到Node-B、Node-C上的服务。

  2. 关闭HENGSHI SENSE。

     $ cd /opt/hengshi
     $ bin/hengshi-sense-bin stop all
    
  3. 在hengshi服务集群中每台上进行备份,可在集群中某一节点执行示例代码,完成集群所有节点备份工作。示例中在Node-A、Node-B、Node-C上进行备份。
     nodes=(Node-A Node-B Node-C)
     for host in ${nodes[@]}; do
       ssh ${host}
       cd /opt/hengshi
       rm backup/current -rf
       mkdir -p backup/current/
       cp -r bin conf lib local_data temp_data backup/current/
       rm -rf bin conf lib local_data temp_data   
     done
    
  4. 在metadb服务设备上,备份metadb数据文件。
     $ ssh Node-A  #Node-A 为/opt/hengshi/ansible/host [metadb] 参数
     $ cd /opt/hengshi
     $ rm backup/current/pg_data -rf
     $ mkdir -p backup/current/
     $ cp -r pg_data backup/current/
     $ rm -rf pg_data
    
  5. 前往数据备份文件存储设备,将backup目录下最近一个备份压缩包,复制到hengshi服务集群中的每台设备和metadb设备上。 请核对备份压缩包的时间。示例中最近一个压缩包为hengshi-20210819163228.tgz,压缩包的时间为2021-08-19_16:32:28。
     nodes=(Node-B Node-C) #Node-B Node-C
     for host in ${nodes[@]}; do
       cd /opt/hengshi/bakcup
       rsync -avP hengshi-20210819163228 ${host}:/opt/hengshi/bakcup    
       #cluster_node 集群中设备ip地址
     done
    
  6. 在hengshi服务集群中每台设备上解压备份压缩包,并进行回滚。 可以在集群中某一节点执行示例代码,完成集群所有节点回滚工作。这里解压的备份压缩包是步骤四中获取的压缩包,示例中在hengshi服务的Node-B、Node-C节点上进行回滚,示例代码可以在Node-B、Node-C上其中一台设备上执行。

     nodes=(Node-A Node-B Node-C) #Node-A Node-B Node-C
     for host in ${nodes[@]}; do
       ssh ${host}
       cd /opt/hengshi/backup
       cd hengshi-20210819163228
       tar -xf bin_conf_lib.tar.gz
       mv {bin,conf,lib} /opt/hengshi/   
     done
    
  7. 在metadb设备上恢复数据信息。这里的数据信息是步骤4中的压缩包。

     $ ssh Node-A #Node-A 为/opt/hengshi/ansible/host [metadb] 参数
     $ cd backup/hengshi-20210819163228
     $ bin/hengshi-sense-bin init metadb
     $ bin/hengshi-sense-bin start metadb
     $ bin/dbrestore.sh -m metadb -l ${PWD}/backup/hengshi-20210819163228 -t metadb_backup.2021-08-19_16-33-14.tar.gz
     $ bin/hengshi-sense-bin stop metadb 
     ls ..
       pg_data  #确认包含该目录。
    
  8. 修改zookeeper配置信息
    $ # 在 Node-b、Node-c 上修改配置文件中的ZOOKEEPER_ID 属性信息
    $ ssh Node-b
    $ cd /opt/hengshi/conf/
    $ vim hengshi-sense-env.sh 
    $ # Node-b 替换 export ZOOKEEPER_ID=1 为 export ZOOKEEPER_ID=2
    $ ssh Node-c
    $ cd /opt/hengshi/conf/
    $ vim hengshi-sense-env.sh 
    $ # Node-c 替换 export ZOOKEEPER_ID=1 为 export ZOOKEEPER_ID=3
    
  9. 启动HENGSHI SENSE。
     $ cd /opt/hengshi  
     $ bin/hengshi-sense-bin start all
    

1.3. Helm回滚

回滚前请进行数据的备份, 如果降级到低于4.0版本时,需要注意metadb的低版本数据的回滚. 参考下方连接操作:

  1. k8s环境备份与恢复
  2. 升级操作
helm list -n [namespace] # 获取已部署应用的版本号
helm rollback Hengshi-Sense 1 -n [namespace]

results matching ""

    No results matching ""

    k8s部署升级 常用命令说明