Redis数据备份工具
操作场景
该任务指导MRS集群管理员将Redis集群内存储的业务数据备份到指定目录,以应对在重装集群、升级、扩容等重大操作中系统发生故障的情况。
前提条件
- Redis集群及实例运行正常。
- 如果Redis服务的安装模式为安全模式,Redis客户端需要登录认证并授权以后才能访问或操作Redis集群,因此需要做以下操作:
- 登录FusionInsight Manager,选择“系统 > 权限 > 角色”,创建具有管理指定Redis集群权限的角色,请参见创建Redis角色。
- 选择“系统 > 权限 > 用户”,创建一个“机机”用户,并赋予1创建的角色权限。
- 用户创建成功后,在用户列表中单击该用户名称后的“更多 > 下载认证凭据”,下载keytab文件,待文件自动生成后指定保存位置。
- 解压keytab文件,以omm用户将解压得到的文件上传到要操作的Redis节点的“软件安装路径/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/config ”目录下。
“xxx”表示版本号,具体以实际环境的版本号为准。
- 修改“软件安装路径/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/config/auth.conf”文件中的“userName”值为“用户名@集群域名”,修改“realmsName”为当前域名,修改“keyTabFile”配置值为上传的“user.keytab”文件的绝对路径,修改“krbConfPath”配置值为上传的“krb5.conf”文件的绝对路径。
操作步骤
- 以root用户登录集群内任意Redis节点。
- 执行以下命令打开Redis备份配置文件“aof-backup.properties”,根据表1中的说明,配置相关参数,并保存退出。
vi ${BIGDATA_HOME}/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/config/aof-backup.properties
表1 备份Redis集群数据所需修改的参数列表 参数名称
参数描述
参数样例
redis.server.mode
Redis运行模式。
- single
- cluster
说明:当前版本只支持Redis集群模式下的数据备份与恢复。
cluster
redis.server.address
Redis实例的IP地址(业务平面)及端口。
只需配置要备份的Redis集群中任意一个Redis实例的IP地址及端口即可(也可配置同一Redis集群内的多个Redis实例地址及端口备用,使用英文逗号隔开)。
192.168.0.1:22400
192.168.0.100:22400,192.168.0.101:22401
client.read.timeout
客户端读写超时时间(单位:毫秒),建议保持默认值。
10000
backup.path
备份文件存放目录,需提前创建好。
说明:如果目录内已有之前备份的Redis数据文件,请及时转移至其他存储路径下,避免执行备份操作后被覆盖。
/opt/arch/cluster1
redis_ssl_on
SSL通道加密启用开关,需与Manager界面上设置保持一致。
- true
- false
说明:登录FusionInsight Manager,选择“集群 > 服务 > Redis > 配置 > 全部配置”,搜索“redis_ssl_on”可查看此参数值。
false
- 在备份路径下执行如下命令以确保omm用户具有操作权限。
chmod 744 备份文件最外层路径 -R
chown omm:wheel 备份文件最外层路径 -R
- 执行su - omm命令切换到omm用户下。
- 进入“${BIGDATA_HOME}/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/sbin”目录,执行“redis-backup.sh”脚本。
cd ${BIGDATA_HOME}/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/sbin/
./redis-backup.sh
系统会将Redis集群内所有Redis实例的数据备份到目的路径下,备份成功后,界面显示:
Backup successful.
- 查看备份路径下的数据文件,并转移到可靠的存放位置便于后续恢复。