功能概述

在线迁移服务可以将远端 Redis Standalone 集群的数据平滑迁移到当前 Redis Standalone 集群中。在线迁移过程不影响远端数据库正常业务。迁移完成后,业务切换请在业务低峰期执行。

Redis Standalone 通过从 RDB 文件恢复数据的功能,实现数据的在线迁移。本小节主要介绍如何使用 RDB 文件在线迁移数据。

约束限制

  • 从 RDB 文件恢复数据,仅适用于单节点目标集群,多节点集群不适用。

  • 目标集群的内存配置需要跟源集群一致或者更高,否则容易造成数据丢失。

  • 当恢复的数据量较大时,恢复的时间可能会较长,请耐心等待。数据恢复期间禁止一切操作,防止干扰数据加载。

前提条件

客户端服务器需与待操作的 Redis Standalone 集群之间保持网络通畅。

操作步骤

步骤一:准备目标集群

  1. 从 RDB 文件恢复数据,会导致目标集群的所有数据被清空,且不可恢复。因此,在操作前,企业云平台建议用户先备份目标集群数据,详情可参考集群备份

  2. 开启目标集群的 WebConsole 服务,便于用户导入源集群的 RDB 文件,详情可参考开启集群的 WebConsole 服务

步骤二:准备源集群

开启源集群的 WebConsole 服务,便于用户导出源集群的 RDB 文件,详情可参考开启集群的 WebConsole 服务

步骤三:源集群导出 RDB 文件

用户可以使用源集群的 WebConsole 服务,导出 RDB 文件,详情可参考下载文件;也可使用 redis-port 工具导出 RDB 文件,详情可参考下载文件

步骤四:目标集群导入 RDB 文件

  • 方式一:通过浏览器上传 RDB 文件。

    1. 在客户端所在服务器的浏览器中,输入以下访问地址。其中,<redis-node-ip> 为目标 Redis Standalone 集群的节点 IP 地址,查询步骤可参考获取目标集群连接地址

      http://<redis-node-ip>:80/templates/upload-template.html
    2. 在页面中,点击浏览,可开启文件查看器,选择前文下载至本地的 RDB 文件。

      注意

      RDB 文件大小不能超过 500MB。

    3. 点击上传即可上传文件。

  • 方式二:通过 curl 命令上传 RDB 文件。

    在客户端所在服务器中,执行以下命令行,上传 RDB 文件。其中,<redis-node-ip> 为目标 Redis Standalone 集群的节点 IP 地址,查询步骤可参考获取目标集群连接地址

    curl -u <user_name>:<password> --form myFile=@dump.rdb http://<redis-node-ip>/templates/upload-template.html

    <user_name><password> 为 WebConsole 服务登录用户名与密码。若 WebConsole 服务未配置用户名与密码,则使用以下命令行。

    curl --form myFile=@dump.rdb http://<redis-node-ip>/templates/upload-template.html

    命令行示例一:

    rdb migrate 1

    命令行示例二:

    rdb migrate 2

步骤五:目标集群从 RDB 文件恢复数据

  1. 通过 Web 浏览器登录企业云平台的 Console。

  2. 在顶部菜单栏中选择产品与服务 > 数据库与缓存 > 键值数据库 Redis Standalone,进入 Redis Standalone 管理页面。

  3. 在 Redis Standalone 管理页面,点击目标集群 ID,进入集群详情页面。

    redis_cluster_info
  4. 在左侧基本属性区域,点击右上角图标,在展开的快捷菜单栏中,点击从 RDB 文件恢复数据

  5. 弹出确认对话框,用户确认操作无误后,修改确认操作 后,点击提交,数据开始恢复。待集群状态更新为 活跃 即数据恢复完成。

  6. 访问目标集群的 Redis,执行 info 命令,确认数据成功导入。