更新时间:2024-11-29 GMT+08:00

Redis数据备份工具

操作场景

该任务指导MRS集群管理员将Redis集群内存储的业务数据备份到指定目录,以应对在重装集群、升级、扩容等重大操作中系统发生故障的情况。

前提条件

  • Redis集群及实例运行正常。
  • 如果Redis服务的安装模式为安全模式,Redis客户端需要登录认证并授权以后才能访问或操作Redis集群,因此需要做以下操作:
    1. 登录FusionInsight Manager,选择“系统 > 权限 > 角色”,创建具有管理指定Redis集群权限的角色,请参见创建Redis角色
    2. 选择“系统 > 权限 > 用户”,创建一个“机机”用户,并赋予1创建的角色权限。
    3. 用户创建成功后,在用户列表中单击该用户名称后的“更多 > 下载认证凭据”,下载keytab文件,待文件自动生成后指定保存位置。
    4. 解压keytab文件,以omm用户将解压得到的文件上传到要操作的Redis节点的“软件安装路径/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/config ”目录下。

      xxx”表示版本号,具体以实际环境的版本号为准。

    5. 修改“软件安装路径/FusionInsight_HD_xxx/install/FusionInsight-redis-xxx/redis/config/auth.conf”文件中的“userName”值为“用户名@集群域名”,修改“realmsName”为当前域名,修改“keyTabFile”配置值为上传的“user.keytab”文件的绝对路径,修改“krbConfPath”配置值为上传的“krb5.conf”文件的绝对路径。

操作步骤

  1. root用户登录集群内任意Redis节点。
  2. 执行以下命令打开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实例地址及端口备用,使用英文逗号隔开)。

    • Redis实例的IP地址即为该Redis实例所在节点的IP地址。
    • Redis实例的端口计算方式为:22400+该实例的ID-1。

      实例ID可以通过在FusionInsight Manager中单击“集群 > 待操作集群的名称 > 服务 > Redis > Redis管理”,单击Redis集群名称查看。

      例如Redis集群内角色R1对应的Redis实例的端口为22400+1-1=22400。

    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

  3. 在备份路径下执行如下命令以确保omm用户具有操作权限。

    chmod 744 备份文件最外层路径 -R

    chown omm:wheel 备份文件最外层路径 -R

  4. 执行su - omm命令切换到omm用户下。
  5. 进入“${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.

  6. 查看备份路径下的数据文件,并转移到可靠的存放位置便于后续恢复。