本文档介绍如何通过备份文件导入的方式,将其他云厂商Redis离线迁移至DCS。
您需要先将源Redis的数据备份下载到本地,然后将备份数据文件上传到与DCS目标Redis实例同一账号下相同Region下的OBS桶中,最后在DCS控制台创建备份迁移任务,DCS从OBS桶中读取数据,将数据迁移到DCS的Redis中。
前提条件
在迁移之前,请先阅读迁移方案概览,选择正确的迁移方案,了解当前DCS支持的在线迁移能力,选择适当的目标实例。
如果是单机/主备等多DB的源端实例迁移到Proxy集群实例,Proxy集群默认不开启多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请先参考开启多DB操作开启Proxy集群多DB设置。
如果是单机/主备等多DB的源端实例迁移到Cluster集群实例,Cluster集群不支持多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请将数据转存到DB0,否则会出现迁移失败,将数据转存到DB0的操作请参考使用Rump在线迁移。
准备源Redis的备份文件,备份文件的格式必须为.aof、.rdb、.zip或.tar.gz。
如果您还没有DCS Redis,请先创建,创建操作,请参考创建实例。
如果您已有DCS Redis,则不需要重复创建,但在迁移之前,您需要清空实例数据,清空操作,请参考清空实例数据。
创建OBS桶并上传备份文件
步骤 1 创建OBS桶。
登录OBS管理控制台,单击右上角的“创建桶”。
在显示的“创建桶”页面,选择“区域”。
OBS桶所在区域必须跟Redis目标实例所在区域相同。
设置“桶名称”。
桶名称的命名规则,请满足界面的要求。
设置“存储类别”,当前支持“标准存储”、“温存储”和“冷存储”。
设置“桶策略”,您可以为桶配置私有、公共读、或公共读写策略。
设置“默认加密”。
设置完成后,单击“立即创建”,等待OBS桶创建完成。
步骤 2 通过OBS Browser客户端,上传备份数据文件到OBS桶。
如果上传的备份文件较小,且不超过5GB,请执行步骤3,通过OBS控制台上传即可;
如果上传的备份文件大于5GB,请执行以下操作,需下载OBS Browser客户端,安装并登录,创建OBS桶,然后上传备份文件。
设置用户权限。
下载OBS Browser客户端。
创建访问密钥(AK和SK)。
登录OBS Browser客户端。
添加桶。
上传备份数据。
步骤 3 通过OBS控制台,上传备份数据文件到OBS桶。
如果上传的备份文件较小,且小于50MB,请执行如下步骤:
在OBS管理控制台的桶列表中,单击桶名称,进入“概览”页面。
在左侧导航栏,单击“对象”。
在“对象”页签下,单击“上传对象”,系统弹出“上传对象”对话框。
“上传方式”选择“批量”,单次最多支持100个文件同时上传,总大小不超过5GB。
您可以拖拽本地文件或文件夹至“上传对象”区域框内添加待上传的文件,也可以通过单击“上传对象”区域框内的“添加文件”,选择本地文件添加。
“上传方式”选择“单个”,上传单个文件,单个文件最大不超过50MB。
单击
按钮打开本地文件浏览器对话框,选择待上传的文件后,单击“打开”。
指定对象的存储类别。
请不要选择“归档模式”,否则会导致备份文件迁移失败。
可选:勾选“KMS加密”,用于加密上传文件。
本地备份文件上传到OBS桶,暂不支持KMS加密方式,您可不选。
单击“上传”。
创建迁移任务
步骤 1 登录分布式缓存服务控制台。
步骤 2 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
步骤 3 单击右上角的“创建备份导入任务”。
步骤 4 设置迁移任务名称和描述。任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。
步骤 5 “源Redis”区域中,“数据来源”选择“OBS桶”,在“OBS桶名”中选择已上传备份文件的OBS桶。
步骤 6 单击“添加备份文件”,选择需要迁移的备份文件。
步骤 7 在“目标Redis”区域,选择步骤1:准备目标Redis实例中准备的“目标Redis实例”。
步骤 8 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
步骤 9 单击“立即创建”。
步骤 10 确认迁移信息,然后单击“提交”,开始创建迁移任务。
可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。
----结束
迁移后验证
数据迁移前如果目标Redis中数据为空,迁移完成后,可以通过以下方式确认数据的完整性:
1. 连接源Redis和目标Redis。连接Redis的方法请参考使用redis-cli连接Redis实例。
2. 输入info keyspace,查看keys参数和expires参数的值。
3. 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示数据完整,迁移正常。