1. 数据备份与恢复
HENGSHI SENSE运行过程中,需要对数据进行备份,当数据出现问题时,可以使用备份数据进行恢复,避免数据丢失和损坏的情况发生,减少损失。
本文介绍如何对衡石内部业务数据库metadb、衡石内部加速引擎、衡石内部对象存储Minio服务的数据进行备份和恢复操作。
1.1. 数据备份命令
用户可以通过'bin/dbbackup.sh'对metadb、engine、minio的数据进行备份,备份文件可以存储在本地,也可以存储到远程机器上。
bin/dbbackup.sh -m [metadb|engine|minio]
-l local backup root, absolute path, default ${PWD}/backup
-k keep history backup number, default 3
-h remote ip
-r remote path root, default is ${backup_root}
参数说明:
- -m 参数必选,指数据备份类型,枚举类型,选项为 metadb 、engine 、minio。
- -l 参数可选,指本地备份时备份文件的绝对路径。
- -k 参数可选,保留备份文件的数量, 默认为3,指保留最近3次备份的数据。
- -h 参数可选,指远程备份时的ip地址。
- -r 参数可选,指远程备份时备份文件的绝对路径,默认与 -l 参数指定的本地路径相同。
1.2. 数据恢复命令
用户可以通过'bin/dbrestore.sh'对metadb、engine、minio进行数据恢复,可以用本地备份数据进行数据恢复,也可以用远程备份数据进行数据恢复。
bin/dbrestore.sh -m [metadb|engine|minio]
-l local backup root, absolute path, default ${PWD}/backup
-t backup tar only file name
-h remote ip
-r remote path root, default is ${backup_root}
参数说明:
- -m 参数必选,指数据备份类型,枚举类型,选项为 metadb 、engine 、minio。
- -l 参数可选,使用本地备份数据恢复时的绝对路径。
- -h 参数可选,使用远程备份数据恢复时的ip地址。
- -r 参数可选,使用远程备份数据恢复时的绝对路径, 默认与-l参数指定的本地绝对路径相同。
- -t 参数必选,指待恢复的数据包的文件名。
1.3. 数据库metadb的备份和恢复
数据库metadb是衡石业务数据库,建议用户每日定时备份,防止数据丢失和损坏。
1.3.1. 备份数据
备份数据根据备份文件存储位置分为本地备份和远程备份。
本地备份
首先设置变量PATH_TO_BACKUP_FOLDER存放备份数据的绝对路径,然后执行备份命令。此时在$PATH_TO_BACKUP_FOLDER下生成 metadb_backup.xx-xx-xx_xx-xx-xx.tar.gz 的备份文件,默认会保留最近3次备份的文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m metadb -l $PATH_TO_BACKUP_FOLDER
远程备份
远程备份需要设置REMOTE_IP和PATH_TO_BACKUP_FOLDER两个变量,其中REMOTE_IP用于存放远程设备的ip地址,PATH_TO_BACKUP_FOLDER存放备份数据的绝对路径。然后执行远程备份命令后,在远程设备REMOTE_IP的PATH_TO_BACKUP_FOLDER下生成备份文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m metadb -l $PATH_TO_BACKUP_FOLDER -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
说明
远程备份数据时需要对远程设备有ssh访问权限,备份时需要使用scp进行复制。
1.3.2. 恢复数据
根据备份文件存放的地址,分为本地数据恢复和远程数据恢复。
本地数据恢复
使用本地备份的数据进行数据恢复时,请按照如下步骤进行操作。
- 设置存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx
- 停止HENGSHI服务,并移除HENGSHI系统中旧的数据库。
bin/hengshi-sense-bin stop all mv pg_data pg_data.old
- 初始化并启动metadb。
bin/hengshi-sense-bin init metadb bin/hengshi-sense-bin start metadb
- 使用本地存储的备份文件,进行metadb的数据恢复。
bin/dbrestore.sh -m metadb -l $PATH_TO_BACKUP_FOLDER -t metadb_backup.xx-xx-xx_xx:xx:xx.tar.gz
- 停止metadb,启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin stop metadb bin/hengshi-sense-bin start all
远程数据恢复
当备份数据存在远程设备上时,请先确认是否对远程设备拥有SSH访问权限,如果没有请先获取SSH访问权限,然后按照下面指导进行数据恢复操作。
- 设置远程设备的ip地址变量REMOTE_IP 和存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx REMOTE_IP=/xxx
- 停止HENGSHI服务,并移除HENGSHI系统中旧的数据库。
bin/hengshi-sense-bin stop all mv pg_data pg_data.old
- 初始化并启动metadb。
bin/hengshi-sense-bin init metadb bin/hengshi-sense-bin start metadb
- 使用远程设备上存储的备份文件,进行metadb的数据恢复。
bin/dbrestore.sh -m metadb -l $PATH_TO_BACKUP_FOLDER -t metadb_backup.xx-xx-xx_xx:xx:xx.tar.gz -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
- 停止metadb,启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin stop metadb bin/hengshi-sense-bin start all
说明
远程数据恢复时需要对远程设备有 ssh 访问权限,需要通过 scp 进行复制。
1.4. 引擎的数据备份和恢复
引擎是衡石内部加速引擎,一般情况下不需要备份engine数据,当确定需要备份时可以按照下面的操作指导进行。
1.4.1. 备份engine
备份数据根据备份文件存储位置分为本地备份和远程备份。
本地备份engine
首先设置存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER,然后执行备份命令,此时在 $PATH_TO_BACKUP_FOLDER 下生成 engine_backup.xx-xx-xx_xx-xx-xx.tar.gz 的备份文件,默认会保留最近3次备份的文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m engine -l $PATH_TO_BACKUP_FOLDER
远程备份engine
远程备份需要设置REMOTE_IP和PATH_TO_BACKUP_FOLDER两个变量,其中REMOTE_IP用于存放远程设备的ip地址,PATH_TO_BACKUP_FOLDER存放备份数据的绝对路径。然后执行远程备份命令后,在远程设备REMOTE_IP的PATH_TO_BACKUP_FOLDER下生成备份文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m engine -l $PATH_TO_BACKUP_FOLDER -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
说明
远程备份数据时需要对远程设备有 ssh 访问权限,备份时需要使用 scp 进行复制。
1.4.2. 恢复engine
根据备份文件存放的地址,分为本地数据恢复和远程数据恢复。
本地数据恢复engine
使用本地备份的数据进行数据恢复时,请按照如下步骤进行操作。
- 设置存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx
- 停止HENGSHI服务,并移除HENGSHI系统中旧的数据库。
bin/hengshi-sense-bin stop all mv engine-cluster engine-cluster.old
- 初始化并启动engine。
bin/hengshi-sense-bin init engine bin/hengshi-sense-bin start engine
- 使用本地存储的备份文件,进行engine的数据恢复。
bin/dbrestore.sh -m engine -l $PATH_TO_BACKUP_FOLDER -t engine_backup.xx-xx-xx_xx:xx:xx.tar.gz
- 停止engine,启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin stop engine bin/hengshi-sense-bin start all
远程数据恢复engine
当备份数据存在远程设备上时,请先确认是否对远程设备拥有SSH访问权限,如果没有请先获取SSH访问权限,然后按照下面指导进行数据恢复操作。
- 设置远程设备的ip地址变量REMOTE_IP和存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx REMOTE_IP=/xxx
- 停止HENGSHI服务,并移动HENGSHI系统中旧的engine数据库。
bin/hengshi-sense-bin stop all mv engine-cluster engine-cluster.old
- 初始化并启动engine。
bin/hengshi-sense-bin init engine bin/hengshi-sense-bin start engine
- 使用远程设备上存储的备份文件,进行engine的数据恢复。
bin/dbrestore.sh -m engine -l $PATH_TO_BACKUP_FOLDER -t engine_backup.xx-xx-xx_xx:xx:xx.tar.gz -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
- 停止engine,启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin stop engineb bin/hengshi-sense-bin start all
说明
远程数据恢复时需要对远程设备有 ssh 访问权限,需要通过 scp 进行复制。
1.5. 数据库客户端环境变量配置
当您使用自己团队的metadb时,那么metadb的升级、备份和恢复过程中可能会发生客户端版本不一致问题,这种情况下请先配置 EXTERNAL_DB_PG_PATH环境变量指定客户端路径。请参考下面示例进行配置。每次版本升级、备份和数据恢复都需要配置。
## 临时生效 每次升级 备份 恢复 需执行一次
$ export EXTERNAL_DB_PG_PATH=/user/lib/pgsql-version/
1.6. 对象存储 Minio的备份和恢复
对象存储Minio服务是衡石内部图片存储服务。
1.6.1. 备份数据
备份数据根据备份文件存储位置分为本地备份和远程备份。
本地备份
首先设置变量PATH_TO_BACKUP_FOLDER存放备份数据的绝对路径,然后执行备份命令。此时在$PATH_TO_BACKUP_FOLDER下生成 minio_backup.xx-xx-xx_xx-xx-xx.tar.gz 的备份文件,默认会保留最近3次备份的文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m minio -l $PATH_TO_BACKUP_FOLDER
远程备份
远程备份需要设置REMOTE_IP和PATH_TO_BACKUP_FOLDER两个变量,其中REMOTE_IP用于存放远程设备的ip地址,PATH_TO_BACKUP_FOLDER存放备份数据的绝对路径。然后执行远程备份命令后,在远程设备REMOTE_IP的PATH_TO_BACKUP_FOLDER下生成备份文件。参考示例如下。
PATH_TO_BACKUP_FOLDER=/xxx
bin/dbbackup.sh -m minio -l $PATH_TO_BACKUP_FOLDER -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
说明
远程备份数据时需要对远程设备有ssh访问权限,备份时需要使用scp进行复制。
1.6.2. 恢复数据
根据备份文件存放的地址,分为本地数据恢复和远程数据恢复。
本地数据恢复
使用本地备份的数据进行数据恢复时,请按照如下步骤进行操作。
- 设置存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx
- 停止HENGSHI服务,并移除HENGSHI系统中旧的数据存储目录。
bin/hengshi-sense-bin stop all mv minio-data minio-data.old
- 使用本地存储的备份文件,进行metadb的数据恢复。
bin/dbrestore.sh -m minio -l $PATH_TO_BACKUP_FOLDER -t minio_backup.xx-xx-xx_xx:xx:xx.tar.gz
- 启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin start all
远程数据恢复
当备份数据存在远程设备上时,请先确认是否对远程设备拥有SSH访问权限,如果没有请先获取SSH访问权限,然后按照下面指导进行数据恢复操作。
- 设置远程设备的ip地址变量REMOTE_IP 和存放备份数据的绝对路径的变量PATH_TO_BACKUP_FOLDER。
PATH_TO_BACKUP_FOLDER=/xxx REMOTE_IP=/xxx
- 停止HENGSHI服务,并移除HENGSHI系统中旧的数据库。
bin/hengshi-sense-bin stop all mv minio-data minio-data.old
- 使用远程设备上存储的备份文件,进行metadb的数据恢复。
bin/dbrestore.sh -m minio -l $PATH_TO_BACKUP_FOLDER -t metadb_backup.xx-xx-xx_xx:xx:xx.tar.gz -h $REMOTE_IP -r $PATH_TO_BACKUP_FOLDER
- 启动HENGSHI服务,完成数据恢复操作。
bin/hengshi-sense-bin start all
说明
远程数据恢复时需要对远程设备有 ssh 访问权限,需要通过 scp 进行复制。
results matching ""
No results matching ""
衡石文档
- 产品功能一览
- 发布说明
- 新手上路
- 安装与启动
- 系统管理员手册
- 数据管理员手册
- 分析人员手册
- 数据查看员手册
- 数据服务
- 最佳实践
- 衡石分析平台 API 手册
- 附录