使用备份文件离线迁移DCS Redis实例
DCS支持通过备份文件导入的方式离线迁移DCS实例间的数据。
- 如果您需要迁移的源Redis与目标Redis为DCS相同账号下相同Region的实例,且源Redis实例非单机实例时,离线迁移请参考通过Redis实例离线迁移。
- 如果您需要迁移的源Redis与目标Redis为DCS不同账号或不同Region的实例,或源Redis实例为单机实例时,离线迁移请参考通过OBS桶离线迁移。
前提条件
- 源Redis实例已执行数据备份并备份成功。
- 如果是通过Redis实例离线迁移,无需下载备份文件到本地,备份数据请参考手动备份DCS实例数据。
- 如果是通过OBS桶离线迁移,需要下载备份文件到本地,请参考下载DCS实例备份文件。
- 已准备目标Redis实例。如果您还没有目标Redis实例,请先创建Redis,参考购买Redis实例。
目前Redis高版本支持兼容低版本,因此,同版本或低版本可以迁移到高版本Redis,目标端创建的实例版本不要低于源端Redis版本。
- 请确保目标Redis有足够的存储空间,迁移实例前建议清空目标Redis中的数据,清空实例数据的操作请参考清空Redis实例数据。如果没有清空实例数据,数据迁移后,目标Redis与源Redis实例重复的数据会被覆盖,源Redis没有、目标Redis有的数据会保留。
通过Redis实例离线迁移
- 登录分布式缓存服务管理控制台。
- 在管理控制台左上角单击,选择源Redis和目标Redis所在的区域。
- 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
- 单击右上角的“创建备份导入任务”,进入创建备份导入任务页面。
- 设置迁移任务名称和描述。
任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。
- 源Redis“数据来源”选择“Redis实例”。
图1 选择数据来源(Redis实例)
- 在“源Redis实例”中选择需要迁移的源端实例。
- 根据需要选择“源DB”,您可以指定源Redis备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。
- 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。
- 在“备份记录”中选择需要迁移的备份文件。
- “目标Redis实例”请选择前提条件中准备的目标Redis。
- 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
- 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。
- 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。
- DCS Redis的DB数请参见Redis实例是否支持多DB方式?。
- 单击“立即创建”。
- 确认迁移信息,然后单击“提交”,开始创建迁移任务。
返回迁移任务列表,观察对应的迁移任务的状态,任务状态显示“成功”时,迁移成功。
通过OBS桶离线迁移
通过OBS桶离线迁移,您需要先将源Redis的数据备份下载到本地,然后将备份文件上传到与DCS目标Redis同一账号相同区域下的OBS桶中,再创建备份导入迁移任务,从OBS桶中读取数据并将数据迁移到目标Redis中。
- 上传OBS桶的备份文件支持.aof、.rdb、.zip、.tar.gz四种格式,您可以直接上传.aof和.rdb文件,也可以将.aof和.rdb文件压缩成.zip或.tar.gz文件,然后将压缩后的文件上传到OBS桶。
- 如果源端实例是集群Redis,每个备份文件对应集群中的一个分片,需要下载所有的备份文件,然后逐个上传到OBS桶。在迁移时,需要把所有分片的备份文件选中。
- 在目标Redis实例所在的账号和区域下创建OBS桶。如果已有符合条件的OBS桶,无需重新创建。
在创建过程中,以下两个参数请按要求设置,其他详细的创建步骤,请参考创建桶章节。
- 上传备份文件到OBS桶。如果上传的备份文件小于5GB,请按照以下步骤通过OBS控制台上传备份文件。如果上传的备份文件大于5GB,请按照OBS服务提供的超过5GB如何上传操作指导执行。
- 在OBS管理控制台的桶列表中,单击创建的桶名称,进入“概览”页面。
- 在左侧导航栏,单击“对象”。
- 在“对象”页签下,单击“上传对象”,系统弹出“上传对象”窗口。
- 指定对象的存储类别。
- 上传对象。
您可以拖拽本地文件或文件夹至“上传对象”区域框内添加待上传的文件,也可以通过单击“上传对象”区域框内的“添加文件”,选择本地文件添加。
单次最多支持100个文件同时上传,总大小不超过5GB。
图2 上传对象
- 选择服务端加密方式,支持选择“SSE-KMS”、“SSE-OBS”或“不开启加密”,详情请参见服务端加密。
- 单击“上传”。
- 单击控制台左上角服务列表,选择“应用中间件 > 分布式缓存服务 Redis版”,进入分布式缓存服务。
- 单击左侧菜单栏的“数据迁移”进入数据迁移页面。
- 单击右上角的“创建备份导入任务”。
- 设置迁移任务名称和描述。
任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。
- 在“源Redis”区域,“数据来源”选择“OBS桶”,在“OBS桶名”中选择已上传备份文件的OBS桶。
图3 选择数据来源(OBS桶)
- 根据需要选择“源DB”,您可以指定源端备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。
- 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。
- 单击“添加备份文件”,选择需要迁移的备份文件。
- 在“目标Redis”区域,选择前提条件中准备的“目标Redis实例”。
- 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
- 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。
- 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。
- DCS Redis的DB数请参见Redis实例是否支持多DB方式?。
- 单击“立即创建”。
- 确认迁移信息,然后单击“提交”,开始创建迁移任务。
可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。