本文主要介绍使用网络专线的混合云数据迁移。
混合云数据迁移方案,适用于使用网络产品专线,以专线一端为用户侧IDC的实例或其他友商云数据库,另一端为百度智能云数据库实例的网络拓扑,将用户数据从用户侧IDC实例或其他友商云数据库迁移至百度智能云实例。
通过网络产品专线,在用户数据中心(IDC)或其他友商云数据库和百度智能云私有网络(VPC)间构建混合云,形成网络互通。使用数据传输服务(DTS)进行数据迁移。
如下图,以数据类型 MySQL 迁移为例,使用 DTS 在混合云场景的迁移数据时,由于 DTS 不能跨多跳路由直接访问源端数据库进而迁移数据到目标端数据库,需要借助端口转发或者 BLB IP 组映射等方式来访问源端数据库。
rinetd 工具是一款高效、实用的端口转发工具,可以解决 DTS 不能跨多跳路由的问题,将 DTS 访问云服务器 BCC 实例上指定端口的请求,转发到源端数据库实例,进而迁移源端数据库实例中的数据到目标端数据库实例。
百度智能云与用户侧 IDC 或其他友商之间专线网络已经打通。
确保用户百度智能云账号下存在已接入专线网络的私有网络和子网。
迁移的数据类型为百度智能云数据传输服务所支持的数据类型,如:MySQL。
确保用户百度智能云账号下存在可用作目标端的数据库实例,如:云数据库 RDS 实例。
在百度智能云主页选择产品->云基础->计算->云服务器 BCC即可购买
注意:
如下图购买云服务器 BCC 实例订单所示
云服务器 BCC 实例中安装 rinetd 工具,参照 https://pkgs.org/download/rinetd
例如选择 CentOS / 7.6 x86_64 (64bit)
点击rinetd-0.62-9.el7.nux.src.rpm链接,参考Install Howto章节进行安装
安装后文件默认路径:
修改改配置文件,命令:vim /etc/rinetd.conf。
按格式(ip1 port1 ip2 port)在配置文件末加上一行。
格式说明:ip1 可为 BCC 实例 ip,也可为 0.0.0.0。port1 可为云服务器 BCC 实例端口(与 DTS 任务配置中源端端口一致)。ip2 是源数据库地址。port2 是源数据库端口。
示例:0.0.0.0 3306 192.168.64.69 3306,即所有访问云服务器 BCC 实例3306端口的请求,都将转发到 192.168.64.69:3306 的实例上。
二进制默认目录为/usr/sbin/rinetd,在该目录下运行 rinetd 二进制文件即可。
如果修改了 rinetd.conf 文件,需要先 kill 掉 rinetd 进程,再重启 rinetd 进程,新的配置才会生效。
在DTS的管理控制台点击左侧【数据传输任务】TAB标签,点击【创建数据传输任务】按钮
如果是用户侧 IDC 迁移至百度智能云云的场景,则源端应选择自建数据存储,目标端选择百度智能云数据库。
同步地域、同步方向以及链路规格根据实际情况选择即可。
然后点击【下一步】,完成购买配置。页面会跳转到管理控制台任务列表页,列表页的最上方会新增一个未配置状态的 DTS 任务,就是用户创建的迁移任务,点击【配置任务】即可进行任务配置。如果页面跳转后未发现列表页出现新任务,建议等待一段时间(约一分钟)后重新刷新页面。
首先进入任务连接配置页,配置源端为 MySQL 自建数据存储实例,选择源端对应的自建接入类型为云服务器 BCC 自建 MySQL 存储。
源端接入类型选择云服务器 BCC,数据类型选择 MySQL。选择云服务器 BCC 实例ID,填入对应端口(与配置文件 rinet.conf 文件中的 port1 保持一致)。若源端MySQL数据库实例设置账户密码,则正确输入。 配置目标端为百度智能云数据库 RDS 实例,目标数据类型会根据源端数据类型自动匹配。在目标地域中,选择要迁入的云数据库 RDS 实例即可。
至此,已完成 DTS 借助 rinetd 工具在专线网络下的任务配置,接下来按照 DTS 常规步骤进行操作,即可完成数据迁移。
云服务器BCC:高性能、高可靠、安全稳定的弹性计算服务
云数据库 SCS:兼容 Redis、Memcached 协议的分布式缓存服务
云数据库 RDS:专业、高性能、高可靠的关系型数据库
云数据库 DocDB for MongoDB:兼容 MongoDB 协议的文档数据库服务