场景描述
在源Redis和目标Redis网络互通的前提下,使用在线迁移功能,可将源Redis中的数据以全量同步或者全量同步+增量同步的方式迁移至目标Redis中。
对业务影响
在线迁移,相当于在源Redis增加一个slave节点进行数据同步,建议在业务低峰期进行迁移操作。
迁移双方实例均是天翼云实例时,迁移任务将部署在源端节点并占用一定的服务器资源(占用的服务器资源与迁移数据量相关)。
前提条件
- 在迁移之前,请先阅读迁移方案概览,了解当前场景的各类方案,并选择适合于自身场景的方案。
- 如果目标集群为Cluster原生集群,则源Redis的所有DB(0-255)数据将自动合并至DB(0)中,发生key冲突时按照迁移勾选的<key冲突处理模式>进行处理。
准备工作
- 获取源Redis的实例名称与实例ID、连接地址(IP:PORT)。
- 获取目标Redis的实例名称与实例ID、连接地址(IP:PORT)。
发起在线迁移操作
1.填写迁移信息
页面参数介绍:
参数 | 说明 |
---|---|
实例名称 | DCS中的实例名称,下拉列表选择(源Redis、目标Redis必须有一个是DCS实例)。 |
Cluster集群 | 当前集群是否是Cluster原生集群(不填写实例名称时填写)。 |
实例连接地址 | IP:PORT(不填写实例名称时填写)。 |
实例账号/密码 | Redis连接账号/密码,需有DBA管理权限。 |
key冲突模式 | 跳过目标key,继续执行/覆盖目标key,继续执行/中断迁移。 |
同步模式 | 全量同步+增量同步/全量同步(源Redis未放通PSYNC命令时,不支持增量同步)。 |
2. 连接检查
如果源Redis和目标Redis不在同一Region,建议使用云间高速打通网络。
如果源Redis和目标Redis在同一Reigon,但是不在同一VPC,建议使用对等网络打通网络。
3. 创建迁移任务,同时启动数据迁移
迁移进度
数据迁移页面,可查询迁移进度
说明如果是增量迁移,会一直保持迁移中状态,需要手动停止迁移。
如需停止迁中的任务,点击记录右侧的”结束“,即可停止迁移。
如需重试中断的任务,点击记录右侧的”重试“,即可重试迁移操作。
迁移后验证
迁移完成后,请使用Redis-cli连接源Redis和目标Redis,验证数据的完整性。
# 查看非cluster原生集群版 数据情况
./redis-cli -h $host -p $port -a $psw dbsize
# 查看cluster原生集群版 数据情况
./redis-cli -a $psw --cluster call $host:$port dbsize
说明如果无增量同步,则迁移过程中源Redis写操作不会同步到目标Redis。