分布式缓存服务数据迁移概述

分布式缓存服务数据迁移

分布式缓存服务DCS缓存实例当前支持Redis 3.0、Redis 4.0、Redis 5.0和企业版Redis 6.0版本,在迁移时需要分析业务系统使用到的缓存相关命令(附:分布式缓存服务DCS命令兼容性说明参考),在演练阶段对命令逐一验证。如需技术支持,可联系人工客服,获取专家指导。

须知

1、当前数据迁移功能为公测免费,开始收费时间会另行通知。

2、数据迁移是一项重要且严肃的工作,准确性与时效性要求非常高,且与具体业务和操作环境相关。

3、本文提供的案例仅供参考,实际迁移应考虑具体的业务场景和需求,请勿直接套用。

4、提供的迁移操作,部分命令中包含了实例密码,这会导致密码记录到操作系统中,请注意保护密码不被泄露,并及时清除历史操作记录。

5、分布式缓存服务DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

分布式缓存服务迁移流程

评估

获取当前待迁移的缓存数据信息(可参考缓存数据信息记录以下信息),包括:

实例数量、各实例配置的数据库数量、各数据库的key数量、业务用到的数据库、各实例数据占用空间、Redis版本、Redis实例配置(单机/主备/集群)、业务与各实例的连接关系。

根据获取到的信息规划分布式缓存服务DCS缓存实例,包括:

申请缓存实例数量、各缓存实例的规格、类型(单机/主备/集群)、缓存实例与业务所属网络规划(VPC/子网/安全组)。

准备

当完成迁移评估后,需要准备以下内容:

移动存储介质:用于在网络不通(自建数据中心场景)的情况下以复制方式传输数据。

网络资源:为弹性云服务器申请弹性IP、按照业务规划创建虚拟私有云与子网,设置安全组规则。建议为弹性IP申请临时性高规格带宽,提升传输效率。

服务器资源:申请弹性云服务器,承载Redis客户端。用于导出或导入缓存数据。弹性云服务器的规格建议不低于8C16G。

分布式缓存服务DCS缓存实例:按照迁移规划申请缓存实例,如果实例数量超过用户默认配额,请提工单或者联系客服支持。

相关工具安装:包括SSH工具、FTP工具、Redis迁移工具等。

信息收集:信息收集包括参与人员联系方式,服务器地址、登录信息,缓存实例信息与数据库信息等。

分布式缓存服务整体迁移方案:制定总体迁移计划,包括人员安排、演练方案、迁移方案、验证方案、业务切换方案、回退方案。

每一份方案需要有细化到可执行的操作步骤,以及可标记任务结束的里程碑。

演练

演练的目的主要有以下:

验证迁移工具与过程的可行。

发掘迁移过程中遇到的问题,并作出有效的改进。

评估迁移耗时。

优化迁移步骤,验证部分工作并行的可行性,提高迁移效率。

备份

在迁移前,需要先行备份,包括但不限于缓存数据、Redis配置文件,用于应急。

迁移

在完成一到两轮的迁移演练,并根据演练过程中发现的问题进行优化后,正式开始数据迁移。

迁移过程应该细化到每一步可执行的步骤,有明确的开始与结束确认动作。

数据验证

缓存数据的验证可以包括以下几方面:各数据库的key分布是否与原来或者迁移预期一致、关键key的检查、key的过期时间检查、实例是否能够正常备份和恢复。

业务切换

当缓存数据完成迁移,且验证无误后,业务可以正式切换缓存数据的连接,恢复对外。

如果涉及到缓存数据库编号的变化,业务还需修改编号的选择配置。

如果业务整体由数据中心或其他云厂商迁移到华为云,业务和缓存数据的迁移可并行。

业务验证

业务切换后建议验证内容包含以下:

业务应用与分布式缓存服务DCS缓存实例的连通。

通过业务操作对缓存数据的增删改查。

如果条件满足,进行压测,确认性能满足业务峰值压力。

回退

当遇到演练中没有及时发现的问题,导致数据迁移后无法供业务使用,且短期无法解决,则涉及到业务回退。

由于源Redis数据仍然存在,因此只需业务完成回退,重新接入源Redis实例即可。

在完成回退后,可继续从演练甚至准备阶段重新开始,解决问题。

迁移信息收集表

评估和准备阶段收集的信息填写参考下表:

迁移源
信息项
说明

源Redis(列出所有待迁移的实例)

源Redis实例的IP地址

Redis访问密码(如有)

源Redis(列出所有待迁移的实例)

总数据量大小

info memory命令查询得到,参考used_memory_human的值。

用于评估迁移方案、分布式缓存服务DCS缓存实例规格、ECS可用磁盘空间等是否满足,以及预估迁移耗时(业务中断时间)。

源Redis(列出所有待迁移的实例)

不为空的数据库编号

info keyspace命令查询得到。

用于确认迁移是否涉及多数据库,非AOF文件方式迁移,部分开源工具可能须逐库处理导出和导入。

分布式缓存服务DCS缓存实例中,单机和主备实例支持0-255共256个数据库,集群默认只提供一个数据库。

源Redis(列出所有待迁移的实例)

各数据库的key数量

用于迁移后进行数据完整性验证。

源Redis(列出所有待迁移的实例)

数据类型

CDM迁移服务当前支持Hash和String两种数据格式,如果源数据含有list、set之类数据,请采用第三方迁移工具。

华为云ECS(弹性云服务器)

如果待迁移实例较多,可准备多台ECS并行迁移

弹性IP地址

选择与分布式缓存服务DCS缓存实例网络互通的弹性云服务器进行数据导入,确保导入过程网络稳定。

带宽建议选取高配,提升数据传输效率。

华为云ECS(弹性云服务器)

如果待迁移实例较多,可准备多台ECS并行迁移

系统登录用户/密码

华为云ECS(弹性云服务器)

如果待迁移实例较多,可准备多台ECS并行迁移

CPU/内存

部分迁移工具支持多线程并行导入,使用高规格ECS,能提升导入速度。

华为云ECS(弹性云服务器)

如果待迁移实例较多,可准备多台ECS并行迁移

可用磁盘空间

ECS需要预留足够的可用磁盘空间,存储压缩文件以及解压后的缓存数据文件。

注:为提高数据传输效率,对于较大的数据文件,建议压缩后再传输到弹性云服务器。

分布式缓存服务DCS缓存实例

(根据源Redis实例数与数据量情况选择合适的规格与实例数)

实例连接地址

分布式缓存服务DCS缓存实例

(根据源Redis实例数与数据量情况选择合适的规格与实例数)

实例连接端口

分布式缓存服务DCS缓存实例

(根据源Redis实例数与数据量情况选择合适的规格与实例数)

实例访问密码

分布式缓存服务DCS缓存实例

(根据源Redis实例数与数据量情况选择合适的规格与实例数)

实例类型

分布式缓存服务DCS缓存实例

(根据源Redis实例数与数据量情况选择合适的规格与实例数)

实例规格/可用内存

网络配置

VPC

提前规划VPC,确保应用服务、分布式缓存服务DCS缓存实例等处于相同VPC中。

网络配置

子网

网络配置

安全组或白名单

由于Redis 3.0和Redis 4.0/5.0/企业版Redis 6.0实例部署模式不一样,控制访问方式也不一样,需要制定相应的安全组或白名单规则,确保网络连通。具体请根据目标Redis实例参考配置安全组或者配置白名单

分布式缓存服务迁移方案

自建Redis,指的是在华为云、其他云厂商、本地数据中心自行搭建的Redis。

自建Redis迁移至分布式缓存服务DCS

分布式缓存服务DCS控制台界面一键式迁移:

1、如果自建Redis和分布式缓存服务DCS Redis实例网络连通,推荐使用在线迁移自建Redis

2、如果自建Redis和分布式缓存服务DCS Redis实例网络不通,推荐使用备份文件迁移自建Redis

Redis-cli:

1、使用Redis-cli迁移自建Redis(AOF文件)

2、使用Redis-cli迁移自建Redis(RDB文件)

Redis-Shake:

使用Redis-Shake工具迁移自建Redis Cluster集群

分布式缓存服务DCS实例间迁移

分布式缓存服务DCS控制台界面一键式迁移:

1、低版本Redis实例迁移到高版本Redis实例,例如Redis 3.0迁移至Redis 4.0/5.0:

如果源Redis实例和目标Redis实例的网络连通,推荐使用在线迁移Redis实例

如果网络不连通,推荐使用备份文件迁移不同Redis版本的实例

2、不同Region的Redis实例迁移,推荐使用备份文件迁移不同Region的实例

3、不同帐号的Redis实例迁移,例如从华为云帐号A迁移到帐号B:

推荐使用备份文件迁移不同Redis版本的实例

如果可以打通网络,也可以使用在线迁移Redis实例

其他云厂商Redis服务迁移至分布式缓存服务DCS

分布式缓存服务DCS控制台界面一键式迁移:

1、如果其他云厂商Redis服务,没有禁用SYNC和PSYNC命令,推荐使用在线迁移其他云厂商Redis

2、如果其他云厂商Redis服务,禁用了SYNC和PSYNC命令,推荐使用备份文件迁移其他云厂商Redis

Rump:

使用Rump在线迁移

Redis-Shake:

1、使用Redis-Shake工具离线迁移其他云厂商Redis Cluster集群

2、使用Redis-shake工具在线全量迁移其他云厂商Redis

分布式缓存服务教程视频

分布式缓存服务DCS

04:53

分布式缓存服务DCS

分布式缓存服务DCS

03:40

分布式缓存服务DCS

分布式缓存服务DCS

04:16

分布式缓存服务DCS