本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本章节介绍了一键升级RDS PostgreSQL至PolarDB PostgreSQL版的升级步骤。
前置检查:检查是否已创建PolarDB服务关联角色
在使用逻辑迁移(DTS数据同步)方式进行一键升级前,请先检查是否已创建PolarDB服务关联角色,以及是否已授予DTS访问云资源的权限。检查是否已创建PolarDB服务关联角色的具体步骤如下:
前往RAM控制台的角色列表。
检查角色列表中,是否已存在名为AliyunServiceRoleForPolarDB的服务关联角色,如下:
若已存在,则进行步骤一:从RDS同步;若不存在,则需创建相关角色。
单击左侧创建角色。
在弹出的创建角色对话框中,选择阿里云服务,并单击下一步。
选择角色类型为服务关联角色,并选择云服务为云数据库PolarDB。
单击完成,返回角色列表,确保已创建成功。
步骤一:从RDS同步
本操作将创建一个与源RDS实例数据相同的PolarDB集群,源RDS实例的增量数据会实时同步到该PolarDB集群。
完成基础配置。
基础配置包括购买集群的基础需求(计费类型、地域可用区)以及集群所需的基础资源(数据库引擎、集群计算规格、数据库代理、存储)。
选择计费类型为包年包月或按量付费。
说明关于包年包月和按量付费的详细对比,请参考计算节点计费方式对比并选择适用您业务场景的商品类型。
设置如下参数。
参数
说明
地域
选择源RDS PostgreSQL实例所在地域。
说明新建的PolarDB集群也在此地域。
创建方式
选择从RDS迁移。
说明在正式迁移切换前PolarDB的读写状态为只读,且
wal_level
参数默认为logical。迁移完成后,若原RDS为包年包月实例,可申请转单优惠退款。源RDS版本
源RDS实例的版本。您可以选择PostgreSQL 9、PostgreSQL 10、PostgreSQL 11、PostgreSQL 12、PostgreSQL 13、PostgreSQL 14、PostgreSQL 15或PostgreSQL 16。
源RDS实例
选择源RDS实例,不包括只读实例。
说明源RDS实例
wal_level
参数需为logical,参数配置请参考修改参数值。数据库引擎
目标PolarDB集群的数据库引擎版本。您可以选择与源RDS实例一致的版本,也可以选择跨版本。
说明如源RDS版本高于目标PolarDB集群的数据库引擎版本,请联系我们处理。
网络类型
配置VPC网络和交换机。
网络类型固定为VPC专有网络,无需选择。请确保PolarDB与需要连接的ECS创建于同一个VPC网络,否则它们无法通过内网互通,无法发挥最佳性能。
节点规格
按需选择,建议不低于源RDS实例规格。关于PolarDB节点规格,详情请参见企业版计算节点规格。
完成高级选项(选填)配置。
集群高级选项配置包括集群名称和资源组等配置。
设置如下参数。
参数
说明
集群名称
选择自动生成或自定义集群名称。
如果选择自动生成集群名称,集群创建成功后系统将自动生成一个集群名称,自动生成的集群名称用户还可以修改;
如果选择自定义集群名称,您还需要输入集群名称,集群名称需满足如下要求:
不能以
http://
或https://
开头。长度为2~256个字符。
以大写字母、小写字母或中文开头,可包含数字、“.”、“_”或“-”。
资源组
从已创建资源组中选择一个目标资源组。
说明资源组是在单个云账号下将一组相关资源进行统一管理的容器,一个资源只能归属于一个资源组,详情请参见资源分组和授权。
开启TDE
选择是否开启TDE加密。启用TDE加密后,PolarDB将对集群数据文件进行加密,对于业务访问透明,会有5%~10%的性能损失。
说明TDE功能开启后不可关闭。
配置购买数量并确认订单
确认集群的整体配置并配置购买时长和购买数量,确保各项配置符合您的要求。
在页面右侧检查所选配置。
配置集群的购买时长(仅针对包年包月集群)和购买数量,并选择是否启动自动续费。
阅读并选中服务协议。
在页面底部查看集群的总费用和费用明细,如无疑问,单击立即购买。
在支付页面,确认未支付订单信息,并选择支付方式,单击支付。
开通成功后,需要10~15分钟创建集群,之后您就可以在集群列表中看到新创建的集群。
说明当集群中的节点状态为创建中时,整个集群可能仍未创建完成,此时集群不可用。只有当集群状态为运行中时,集群才可以正常使用。
请确认已选中正确的地域,否则无法看到您创建的集群。
当您的数据量较大时,推荐您购买PolarDB存储包,相比按小时付费,预付费购买存储包有折扣,购买的容量越大,折扣力度就越大,详情请参见购买存储包。
集群创建成功后,登录PolarDB控制台,单击集群ID进入集群基本信息页。
在基本信息页的RDS迁移功能中,确认目标PolarDB集群的复制延迟小于60秒即可进行步骤二:迁移切换操作。
说明集群创建后开始从RDS实例同步数据,您需要在30天内进行步骤三:完成迁移操作,超过30天将自动关闭迁移功能。
在PolarDB集群创建完成后,若RDS迁移状态变为预检查失败,请根据错误信息中的提示进行处理。
例如,如果源RDS中创建了触发器,则预检查会失败并报错“RDS实例存在触发器”。请先删除源RDS的触发器,再点击继续迁移,或者点击放弃迁移后手动去DTS控制台页面创建迁移任务。具体可参见源库存在触发器时如何配置同步或迁移作业。
您可以在此步骤选择放弃迁移,相关影响请参见常见问题。
步骤二:迁移切换
当目标PolarDB集群的复制延迟小于60秒时,即可进行迁移切换操作。
RDS PostgreSQL到PolarDB PostgreSQL版的升级时,会创建N条RDS PostgreSQL到PolarDB PostgreSQL版的DTS双向链路,上述的复制延迟小于60秒,指的是N条双向同步链路中延迟最大的链路延迟小于60秒。
进入PolarDB控制台。
找到目标集群,单击集群的ID。
在基本信息页面的RDS迁移功能中,单击迁移切换。
说明切换过程一般小于5分钟。
本操作将交换源RDS实例和目标PolarDB集群的读写状态(即将源RDS实例修改为只读,将PolarDB集群修改为可读可写),同时会更换复制方向(即将PolarDB集群的新增数据同步到RDS实例)。
在开始切换对话框中,选择带地址切换(应用程序不用改连接配置)或不带地址切换(应用程序需要改为新的PolarDB连接配置)。
若您选择带地址切换(应用程序不用改连接配置),操作步骤如下:
选中带地址切换(应用程序不用改连接配置),系统会自动交换RDS和PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动连接到PolarDB。
重要使用带地址切换(应用程序不用改连接配置)前,请务必阅读带地址切换注意事项。
单击确定。
若您选择不带地址切换(应用程序需要改为新的PolarDB连接配置),操作步骤如下:
选中不带地址切换(应用程序需要改为新的PolarDB连接配置)。
重要在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址,避免造成长时间的连接中断。
单击确定。
刷新页面,当PolarDB读写状态显示为读写后,尽快修改应用里的数据库连接地址。
说明迁移切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态,操作步骤请参见迁移回滚(可选)。
若您选择的是带地址切换,在进行迁移切换的时候,由于RDS实例会被设置为只读,对应RDS可读可写节点的代理地址(原PolarDB实例集群地址或自定义地址,切换地址后断开重连会连RDS实例)将无法连接数据库。如果还需要通过该地址连接RDS实例,可以在RDS实例详情页的数据库代理页面将该代理地址的读写属性改为只读(如果后面进行了迁移回滚,需要在RDS实例详情页将与该地址切换后的地址的读写属性再改回读写)。
步骤三:完成迁移
在完成步骤一:从RDS同步后,您需要在30天内进行完成迁移操作。
请确保在进行完成迁移操作前,数据迁移已完成,并且后续不再使用数据同步。逻辑迁移方式下,将会删除数据同步任务。
由于本操作将中断PolarDB集群和RDS实例间的数据同步,不再提供迁移回滚(可选)功能,建议您使用一段时间PolarDB集群,确认正常后再执行本操作。
登录PolarDB控制台。
找到目标集群,单击集群的ID。
在基本信息页面的RDS迁移功能中,单击完成迁移,在弹出的对话框中单击确定。
说明单击确定后,系统将在约2分钟内中断同步关系,期间迁移状态将显示为关闭同步,请耐心等待迁移完成。
您可以在完成迁移对话框内选择是否将PolarDB集群的
wal_level
参数设置为默认值replica。wal_level
参数设置为replica会带来少量的写入性能提升,但重置wal_level
参数后PolarDB集群会自动重启使新配置生效。如果不再需要源RDS实例,可以释放实例。若实例为包年包月实例,可申请RDS转单优惠退款。详情请参见释放实例和包年包月RDS迁移至PolarDB后申请转单优惠退款。
查看数据同步任务详情(可选)
在使用逻辑迁移(DTS数据同步)方式进行一键升级的过程中,若遇到迁移报错(如预检查失败)或者其他异常状态(如复制延迟异常高)时,您可以前往对应的DTS数据同步任务的详情页,查看数据同步任务的具体信息。
进入PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的RDS迁移功能中,单击DTS数据同步任务的任务名称,进入DTS控制台数据同步列表。
找到对应的数据同步任务,您可查看预检查失败详情、查看同步任务详情、查看同步任务日志等。
迁移过程中,若需要调整同步任务的同步对象(如源RDS端有新增库时,需要将新增库也纳入同步对象),您可单击修改同步对象重新配置。
迁移回滚(可选)
在完成迁移前,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至迁移前的状态(RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群)。
登录PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的RDS迁移功能中,单击迁移回滚。
在开始回切对话框中,选择带地址回切(应用程序不用改连接配置)或不带地址回切(应用程序需要改为源实例连接配置)。
若您选择带地址回切(应用程序不用改连接配置),操作步骤如下:
选中带地址回切(应用程序不用改连接配置),系统会自动交换RDS和PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动回切到RDS。
单击确定。此时RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群。
若您选择不带地址回切(应用程序需要改为源实例连接配置),操作步骤如下:
选中不带地址回切(应用程序需要改为源实例连接配置),在迁移切换完成后,您需要尽快修改应用程序端的数据库连接地址。
单击确定。此时RDS实例为可读可写,PolarDB集群为只读,同时会将RDS实例的数据同步到PolarDB集群。
刷新页面,当源RDS读写状态显示为读写后,请尽快修改应用里的数据库连接地址为RDS连接地址。