迁移操作指导

最近更新时间:2024-11-01 15:40:33

我的收藏

操作场景

基于 DTS 的 Redis 数据迁移,支持全量 + 增量数据的迁移,即迁移前源库的历史数据,和迁移过程中源库新增的写入数据可一并进行迁移。
本文介绍使用 DTS 数据迁移功能从 Redis 迁移数据至腾讯云数据库 Redis® 的操作指导。

准备工作

1. 请根据您需要使用的接入类型,提前打通 DTS 与数据库之间的访问通道,具体请参考 网络准备工作
IDC 自建数据库/其他云厂商数据库:接入方式可选择“公网/专线接入/VPN 接入/云联网”。
外网实例迁移时,请确保源实例服务在外网环境下可访问,并且要保持外网连接的稳定性,当网络出现波动或者故障时会导致迁移失败,迁移一旦失败,就需要重新发起迁移任务。
CVM 上的自建数据库:接入方式选择“云主机自建”。
腾讯云数据库实例:接入方式选择“云数据库”。
2. 迁移前检查
如下检查需要用户在迁移前自行排查,否则可能会出现迁移失败。
2.1 检查源端是否存在大 Key
在迁移过程中,大 Key 可能引起缓冲区 client-output-buffer-limit 溢出,导致迁移失败。
腾讯云数据库,请使用数据库智能管家(TencentDB for DBbrain,DBbrain)的诊断优化功能快速分析大 Key。具体操作,请参见 内存分析
非腾讯云数据库,请使用 rdbtools 分析 Redis 大 Key。具体操作,请参见 如何使用 rdbtools 分析 Redis 大 Key
评估大 Key 进行拆分或清理,如果保留大 Key,请设置源端缓冲区的大小 client-output-buffer-limit 为无限大。
config set client-output-buffer-limit 'slave 0 0 0'
2.2 检查源端 Linux 内核 TCP 连接数的限制
如果业务并发请求比较大,迁移之前,请检查 Linux 内核对连接数的限制,如果业务请求连接数超出内核限制的连接数,Linux 服务器将会主动断开与 DTS 的连接。
echo "net.ipv4.tcp_max_syn_backlog=4096" >> /etc/sysctl.conf
echo "net.core.somaxconn=4096" >> /etc/sysctl.conf
echo "net.ipv4.tcp_abort_on_overflow=0" /etc/sysctl.conf
sysctl -p
2.3 检查源端 RDB 文件目录的访问权限
迁移之前,请务必检查源端存放 RDB 文件目录的访问权限是否为可读,否则将会因 RDB 文件不可读而引起迁移失败。
如果 RDB 文件所在目录不可读,请在源端执行如下命令,设置“无盘复制”,直接发送 RDB 文件给 DTS 落盘,而不需要保存在源端的磁盘再发送。
config set repl-diskless-sync yes
2.4 (可选)对于标准架构迁移到集群架构的场景,请检查命令兼容性问题。具体请参见 标准架构迁移集群架构检查 进行静态评估与动态评估。

操作步骤

步骤一:新建迁移任务

1. 登录 DTS 控制台,选择数据迁移页,然后在右侧单击新建迁移任务
2. 在新建迁移任务页面,选择任务创建参数,然后单击立即购买
配置参数
说明
服务类型
选择数据迁移
创建模式
新建任务:新建一个全新的任务。
创建类似任务:快速创建一个和历史任务相同配置的任务,新的任务中数据库类型、接入方式、计费模式、迁移类型等默认填充的选项都和历史任务保持一致,用户如果需要也可根据情况进行修改。
计费模式
仅支持按量计费
源实例类型
请根据您的源数据库类型选择,购买后不可修改。此处选择 Redis
源实例地域
选择源数据库所属地域。如果源库为自建数据库,选择离自建数据库最近的一个地域即可。
目标实例类型
请根据您的目标数据库类型选择,购买后不可修改。此处选择 Redis
目标实例地域
选择目标数据库所属地域。
版本
当前仅支持 NewDTS
规格
当前仅支持 Xlarge 规格。
标签
给迁移任务设置标签键与标签值,便于通过标签高效管理多个任务。
任务名
选择创建后命名,默认任务名称与任务 ID 一致。在迁移任务创建完成之后,可重新设置任务名称。
选择立即命名,在下面输入框,输入任务名称。
协议条款
请务必勾选 我已阅读并同意 《云数据库服务条款》
数量
单次最多支持购买10个迁移任务。
3. 购买完成后,页面自动跳转到数据迁移任务列表。

步骤二:设置源和目标数据库

1. 在数据迁移任务列表中,找到刚才创建的任务,单击操作列的配置



2. 进入设置源和目标数据库页签,填写源和目标数据库等信息,然后单击测试连通性,测试通过后,单击保存进入下一步。
说明:
源和目标库为腾讯云数据库 Redis® 的场景,输入的数据库账号需要为 root 账号/密码,其他账号在测试连通性时无法通过。

任务设置
配置参数
说明
任务名称
设置一个具有业务意义的名称,便于任务识别。
运行模式
立即执行:前置校验通过后会立即启动任务。
定时执行:设置一个任务开始执行的时间,前置校验通过后不启动任务,到设定的时间再启动。
自动重试
勾选后,迁移任务因网络异常等引起的任务中断,DTS 将在设置的时间范围内自动重试,不需要用户手动操作。 重试机制为,从头开始重新进行数据迁移,重新迁移时,之前已迁移到目标端的数据会被清空,或者会被覆盖。
源库设置
配置参数
说明
源库类型
购买时选择的源数据库类型,不可修改。
服务提供商
源库为 IDC 自建数据库、CVM 上的自建数据库、腾讯云数据库,请选择“普通”。
源库为阿里云、华为云等,请选择“普通”。
源库为 AWS,当前仅支持 AWS ElasticCache for Redis,其他 AWS 的 Redis 数据库暂不支持。根据 PSYNC 命令是否带前缀,选择不同。
PSYNC 命令带前缀,选择“AWS”。
PSYNC 命令不带前缀,选择“普通”。
所属地域
购买时选择的源数据库地域,不可修改。
接入类型
选择源库接入腾讯云的网络类型。不同的接入类型需要进行的网络打通操作不同,具体请参考 网络准备概述
源库为 IDC 自建数据库/其他云厂商数据库,接入方式可选择“公网/专线接入/VPN 接入/云联网”。
公网:源数据库可以通过公网 IP 访问。
专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。
VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。
云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。
源库为 CVM 上的自建数据库,接入方式选择“云主机自建”。
源库为腾讯云数据库实例,接入方式选择“云数据库”。
节点类型
接入类型选择除“云数据库”之外的其他参数时显示该参数。请根据实际情况选择。
单节点迁移:指一主多副本的集群架构。
集群迁移:指由若干个分片,而每个分片上又存在若干个副本节点的集群架构。勾选集群迁移后,需要填写节点信息
填写源库集群的所有分片节点地址和密码(IP:端口:密码 或 IP:端口),多个节点请换行处理。
源库为 AWS 时,需要填写 PSYNC 名称(IP:端口:PSYNC 名称:密码 或 IP:端口:PSYNC 名称),PSYNC 名称指 PSYNC 命令前缀,需要从 AWS 侧申请。如果 PSYNC 命令不带前缀,则需要将前面服务提供商参数选择为“普通”,按照普通集群迁移。
建议填写的地址为源库的副本节点(从节点),从副本节点迁移可以避免影响源库的业务访问。
公网
接入类型选择“公网”时,需要配置如下参数。
主机地址:源数据库 IP 地址或域名。
端口:源数据库使用的端口。
密码:源数据库迁移账号的密码。
云主机自建
接入类型选择“云主机自建”时,需要配置如下参数。
云主机实例:云服务器 CVM 的实例 ID。
端口:源数据库使用的端口。
密码:源数据库迁移账号的密码。
专线接入
接入类型选择“专线接入”时,需要配置如下参数。
私有网络专线网关:专线接入时只支持私有网络专线网关,请确认网关关联网络类型。
私有网络:选择私有网络和子网。
主机地址:源数据库 IP 地址。
端口:源数据库使用的端口。
密码:源数据库迁移账号的密码。
VPN 接入
接入类型选择“VPN 接入”时,需要配置如下参数。
VPN 网关:VPN 网关,请选择打通源库网络所对应的 VPN 网关实例。
私有网络:选择私有网络和子网。
主机地址:源数据库 IP 地址。
端口:源数据库使用的端口。
密码:源数据库迁移账号的密码。
云数据库
接入类型选择“云数据库”时,需要配置如下参数。
是否跨账号
本账号:源数据库实例和目标数据库实例所属的主账号为同一个腾讯云账号。
跨账号:源数据库实例和目标数据库实例所属的主账号为不同的腾讯云账号。详细的跨账号操作指导请参见 云数据库跨账号实例间迁移
云数据库实例:选择源数据库的实例 ID。
密码:源数据库迁移账号的密码。
云联网
接入类型选择“云联网”时,需要配置如下参数。
云联网接入时,支持同账号云联网和跨账号云联网,因网络打通配置较多,请参考 通过云联网方式迁移自建数据库至腾讯云数据库
主机所在网络环境:请根据实际情况选择。
源库为腾讯云数据库实例,选择“腾讯云”;源库为 IDC 自建数据库,选择“自建 IDC”;源库为其他云厂商数据库,则选择对应的网络。
主机地址:源数据库的主机 IP 地址。
端口:源数据库使用的端口。
密码:源数据库迁移账号的密码。
云联网实例所属账号
我的账号:云联网资源和 DTS 归属同一个腾讯云主账号。
其他账号:云联网资源和 DTS 归属不同的腾讯云主账号。
私有网络云联网:云联网实例名称。
接入 VPC:选择接入 VPC 及子网。接入 VPC 指的是云联网中接入 DTS 迁移链路的 VPC。请在云联网关联的所有 VPC 中,选择除了源数据库所属 VPC 外的其他 VPC。
接入 VPC 地域:购买任务时选择的源数据库地域与接入 VPC 地域需要保持一致,如果不一致,DTS 会将购买任务中选择的源数据库地域,改为接入 VPC 地域。
目标库设置
目标库参数设置与源库类似,如下仅对差异点进行描述。
配置参数
说明
接入类型
根据您的场景选择。不同接入类型的配置原则与源库类似。
支持下云迁移,当源数据库接入类型选择“云数据库”时,目标库可选择“公网/云主机自建/专线接入/VPN 接入/云联网”。
节点类型
接入类型选择除“云数据库”之外的其他参数时显示该参数。
请根据目标库的实际情况选择,支持选择“单节点迁移”、“Redis Cluster 迁移”、“代理集群迁移”。

步骤三:设置迁移选项和选择迁移对象

设置迁移选项及迁移对象页签,配置参数后,单击下一步。


基础选项
配置项
说明
迁移类型
默认选择全量 + 增量迁移,不可修改。全量+增量迁移表示迁移前源库的历史数据,和迁移过程中源库新增的写入数据都一起迁移。
迁移对象
默认选择整个实例,不可修改。
目标库写入模式
清空目标实例:源库数据同步到目标库时,目标库已有的数据会被清空,然后重新写入。
覆盖写:源库数据同步到目标库时,用源库的 Key 来覆盖目标库的 Key。
启用目标库读写
允许 DTS 或者其他服务向目标库写入数据。
过期 Key 自动淘汰
勾选后目标库上对过期的 Key 自动淘汰,可能会出现源库和目标库的数据结果不一致,请慎重操作。
高级选项
配置项
说明
限制数据传输速率
一般不需要设置,如果 DTS 的传输速率对目标库造成负载影响,则可设置限速。
目标库分片数:目标库为腾讯云数据库实例时,自动获取实例分片数,不支持修改。
目标库单分片流量限制:填写单分片流量限制,设置范围为0-100MB/s。
如果目标实例为集群架构,则单实例每秒传输的最大流量=分片数*单分片流量限制(MB/s)

步骤四:校验和启动任务

1. 在校验任务页面,系统自动进行前置校验,校验通过后,单击启动任务,会立即启动数据迁移(如果在配置任务时设置了定时执行时间,这里也可选择稍后启动,任务将在设置的时间点启动)。
说明:
如果出现校验结果失败, 请参考 前置校验项不通过处理
校验结果为失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
校验结果为警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。
2. 返回数据迁移任务列表,任务进入准备运行状态,运行1分钟 - 2分钟后,数据迁移任务开始正式启动。

步骤五:结束任务

1. 如果您需要进行查看任务进度详情、删除任务等操作,请在操作列单击对应的按钮,详情可参考 任务管理
2. 当任务状态为“准备完成”,表示增量同步已完成,用户可以结束任务。在操作列单击完成,结束迁移任务。
建议在目标与源库的数据差距为0KB、目标与源库时间差距为0秒时,再结束任务。
如果您需要在迁移完成后对业务进行割接,请参考 割接说明