如何进行集群数据迁移
功能概述
在线迁移服务可以将远端 Redis Standalone 集群的数据平滑迁移到当前 Redis Standalone 集群中。在线迁移过程不影响远端数据库正常业务。迁移完成后,业务切换请在业务低峰期执行。
Redis Standalone 通过从 RDB 文件恢复数据的功能,实现数据的在线迁移。本小节主要介绍如何使用 RDB 文件在线迁移数据。
约束限制
-
从 RDB 文件恢复数据,仅适用于单节点目标集群,多节点集群不适用。
-
目标集群的内存配置需要跟源集群一致或者更高,否则容易造成数据丢失。
-
当恢复的数据量较大时,恢复的时间可能会较长,请耐心等待。数据恢复期间禁止一切操作,防止干扰数据加载。
前提条件
客户端服务器需与待操作的 Redis Standalone 集群之间保持网络通畅。
操作步骤
步骤一:准备目标集群
-
从 RDB 文件恢复数据,会导致目标集群的所有数据被清空,且不可恢复。因此,在操作前,企业云平台建议用户先备份目标集群数据,详情可参考集群备份。
-
开启目标集群的 WebConsole 服务,便于用户导入源集群的 RDB 文件,详情可参考开启集群的 WebConsole 服务。
步骤二:准备源集群
开启源集群的 WebConsole 服务,便于用户导出源集群的 RDB 文件,详情可参考开启集群的 WebConsole 服务。
步骤三:源集群导出 RDB 文件
步骤四:目标集群导入 RDB 文件
-
方式一:通过浏览器上传 RDB 文件。
-
在客户端所在服务器的浏览器中,输入以下访问地址。其中,
<redis-node-ip>为目标 Redis Standalone 集群的节点 IP 地址,查询步骤可参考获取目标集群连接地址。http://<redis-node-ip>:80/templates/upload-template.html -
在页面中,点击浏览,可开启文件查看器,选择前文下载至本地的 RDB 文件。
注意 RDB 文件大小不能超过 500MB。
-
点击上传即可上传文件。
-
-
方式二:通过
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 文件恢复数据
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 数据库与缓存 > 键值数据库 Redis Standalone,进入 Redis Standalone 管理页面。
-
在 Redis Standalone 管理页面,点击目标集群 ID,进入集群详情页面。
-
在左侧基本属性区域,点击右上角图标,在展开的快捷菜单栏中,点击从 RDB 文件恢复数据。
-
弹出确认对话框,用户确认操作无误后,修改确认操作为
是后,点击提交,数据开始恢复。待集群状态更新为活跃即数据恢复完成。 -
访问目标集群的 Redis,执行
info命令,确认数据成功导入。