许多企业使用 Azure Database for PostgreSQL Single Server 部署应用程序,这是一种完全托管的 Postgres 数据库服务,最适合对数据库进行最少的自定义。 2021 年 11 月,我们宣布下一代 Azure Database for PostgreSQL 灵活服务器全面上市。 从那时起,客户一直在使用转储/还原、Azure 数据库迁移服务 (DMS) 和自定义脚本等方法将其数据库从单一服务器迁移到灵活服务器。
如果您是 Azure Database for PostgreSQL Single Server 的用户,并希望迁移到 Postgres 灵活服务器,那么在 Microsoft,我们的使命是让地球上的每个人和组织都能实现更多目标。 正是这一使命促使我们坚定地致力于协作并为 Postgres 社区做出贡献,并投资于为我们所有的 Postgres 用户带来最佳的迁移体验。
为什么要迁移到 Azure Database for PostgreSQL 灵活服务器?
如果您不熟悉灵活服务器,它可以为您提供托管数据库服务的简单性、数据库的最大灵活性以及内置的成本优化控制。 Azure Database for PostgreSQL 灵活服务器是 Azure 中的下一代 Postgres 服务,提供强大的价值主张和优势,包括:
- 基础架构:基于 Linux 的虚拟机、高级托管磁盘、区域冗余备份
- 成本优化/开发友好:突发 SKU、启动/停止功能、默认部署选择
- 对单服务器的其他改进:区域冗余高可用性 (HA)、对更新 PG 版本的支持、自定义维护窗口、使用 PgBouncer 的连接池等。
详细了解为什么灵活服务器是 Azure Database for PostgreSQL 的首选目标
- 选择灵活服务器的 10 大理由
- 灵活服务器有什么令人兴奋的
- 使用灵活服务器使您的应用程序现代化
为什么需要单服务器到灵活服务器 PostgreSQL 迁移工具?
现在,让我们回顾一下将数据从单一服务器迁移到灵活服务器的一些细微差别。
单服务器和灵活服务器在不同的操作系统平台(Windows 与 Linux)上运行,具有不同的物理布局(基本/4TB/16TB 存储与托管磁盘)和不同的排序规则。灵活服务器支持 PostgreSQL DB 版本 11 及更高版本。如果您在 Single Server 上使用 PG 10 及以下版本(顺便说一句,这些已停用),您必须确保您的应用程序与更高版本兼容。这些挑战使我们无法制作数据的简单物理副本。只能执行逻辑数据复制,例如转储/恢复(离线模式)或逻辑解码(在线模式)。
虽然离线迁移模式很简单,但许多客户更喜欢在线迁移体验,让您的源 PostgreSQL 服务器在转换之前保持正常运行,但是,在此过程中需要注意的事项清单很长。这些步骤包括
- 将源的 WAL_LEVEL 设置为 LOGICAL
- 架构副本
- 在目标创建数据库,
- 在目标上禁用外键和触发器。
- 在迁移后启用它们,等等。
这里是 Single to Flexible 迁移工具的用武之地,可帮助您简化迁移体验。
什么是单服务器到灵活服务器 PostgreSQL 迁移工具?
此迁移工具专为减轻将 PostgreSQL 模式和数据从单一服务器迁移到灵活服务器的痛苦而量身定制。该工具提供了无缝的迁移体验,同时在底层抽象了迁移的复杂性。此工具适用于小于 1 TiB 的数据库大小。此迁移工具可自动执行大部分迁移步骤,让您可以专注于次要管理和先决任务。
您可以使用 Azure 门户或 Azure CLI 执行联机或脱机迁移。
- 离线模式:这提供了简单的数据库转储和数据和模式的恢复,最适合可以承受停机时间的小型数据库。
- 在线模式:这种迁移模式执行数据转储和恢复,并使用 Postgres 逻辑解码启动更改数据捕获,最适合无法承受停机时间的场景。
有关详细比较,请参阅此文档。
图 1:显示迁移功能步骤和过程的框图
- 创建灵活的 PostgreSQL 服务器(公共或 VNET)
- 从 Azure 门户或 Azure CLI 调用迁移并选择要迁移的数据库。
- 代表您预置迁移基础架构 (DMS)
- 启动迁移
- (4a) 初始转储/恢复(在线和离线)
- (4b) 使用逻辑解码流式传输更改 - CDC(仅限在线)
- 如果您正在进行在线迁移,则可以切换。如果您使用脱机模式,然后恢复后,将自动执行转换。
成功迁移涉及哪些步骤?
1. 规划单一到灵活的 PostgreSQL 服务器迁移
这是非常关键的一步。规划阶段的一些步骤包括:
- 获取源单服务器、SKU、存储、公共/私人访问(发现)的列表
- 单服务器提供基本、通用和内存优化的 SKU。灵活服务器提供突发 SKU、通用和内存优化 SKU。虽然通用和内存优化 SKU 可以迁移到等效的 SKU,但对于您的基本 SKU,您可以根据工作负载考虑 Burstable SKU 或通用 SKU。有关详细信息,请参阅灵活的服务器计算和存储文档。
- 获取服务器中每个数据库的列表、大小和扩展使用情况。如果您的数据库大小大于 1TiB,我们建议您联系您的客户团队或通过 AskAzureDBforPostgreSQL@service.microsoft.com 联系我们,以帮助您满足迁移要求。
- 确定迁移方式。这可能需要为每个服务器批处理数据库。
- 与 Single Server 相比,您还可以选择执行不同的 Database:Server 布局。例如,您可以选择在 Flexible 上整合数据库(或)您希望将数据库分布在多个 Flexible 服务器上。
- 计划迁移数据的日期/时间,以确保减少源服务器上的活动。
2. 迁移先决条件
制定计划后,请注意一些先决条件。例如
- 在公共/VNET 中使用所需的计算层配置灵活服务器。
- 将源 Single Server WAL 级别设置为 LOGICAL。
- 创建 Azure AD 应用程序并向源服务器、目标服务器和 Azure 资源组注册。
3. 将数据库从单服务器迁移到灵活服务器 PostgreSQL
现在您已处理好先决条件,您可以使用 Azure 门户或 Azure CLI 调用迁移。使用 Azure 门户或 Azure CLI 创建一个或多个迁移任务。高级步骤包括
- 选择源服务器
- 每个迁移任务最多选择 8 个数据库
- 选择在线或离线迁移模式
- 选择网络以部署迁移基础架构(如果使用专用网络)。
- 创建迁移
调用迁移后,在使用 Azure DMS 启动迁移基础结构、复制架构、执行转储/还原步骤之前验证源和目标服务器和详细信息,如果在线执行,则继续使用 CDC。 - 验证目标数据
- 如果进行在线迁移,准备就绪后,执行切换。
4. 迁移后任务
一旦数据在目标灵活 PostgreSQL 服务器中可用,执行迁移后任务,包括复制角色、重新创建大型对象以及将服务器参数、防火墙规则、监控警报和标签等设置复制到目标灵活服务器。
有什么限制?
您可以在本文档中找到限制列表。
我们的早期采用者客户如何评价他们的体验?
我们感谢我们的许多客户评估了托管迁移工具并信任我们将他们的业务关键应用程序迁移到 Azure Database for PostgreSQL 灵活服务器。客户赞赏迁移工具的易用性、特性和功能,可从不同的单服务器配置进行迁移。以下是一些使用迁移工具迁移到灵活服务器的客户的评论。
Allego 是欧洲领先的公共电动汽车充电网络,继续不间断地为电动汽车、电机、公共汽车和卡车提供智能充电解决方案。电动汽车提高了我们城市的空气质量并减少了噪音污染。为了加快向可持续移动性的过渡,Allego 认为,任何拥有电动汽车的人都应该能够随时随地充电。这就是我们与 Allego 合作并致力于提供简单、可靠和负担得起的充电解决方案的原因。在此处阅读有关 Allego 故事的更多信息。
Digitate 是领先的软件提供商,为 IT 和业务运营带来敏捷性、保证和弹性。
为什么不尝试将 Single 服务器迁移到 Flexible PostgreSQL 服务器?
- 如果您还没有探索过灵活服务器,您可能想从灵活服务器文档开始,它提供了一个卷起袖子的好地方。 另请访问我们的网站,详细了解我们的 Azure Database for PostgreSQL 托管服务。
- 查看 Azure Database for PostgreSQL 按需迁移网络研讨会中的单服务器到灵活服务器迁移工具演示。
- 我们期待使用迁移功能帮助您获得到灵活服务器的愉快迁移体验。 如果您想就迁移体验或迁移到 PostgreSQL 的一般情况与我们联系,您可以随时通过 Ask Azure DB for PostgreSQL 的电子邮件与我们的产品团队联系。
原文标题:Single to Flexible server PostgreSQL migration tool is now in Preview!
原文作者:Sridhar Ranganathan
原文地址:https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/single-to-flexible-server-postgresql-migration-tool-is-now-in/ba-p/3446822