你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 mLogica LIBER*IRIS 将大型机数据层迁移到 Azure

Azure Database for MySQL
Azure Database for PostgreSQL
Azure Cosmos DB
Azure SQL 数据库
Azure 存储

大型机应用程序的大量事务会产生大量数据。 Azure 为大型机现代化和数据迁移提供了一个引人注目的目标。 Azure 关系数据库和 NoSQL 数据库的可伸缩性、高可用性和易维护性达到或超过大型机环境的要求。 如果要停用大型机工作负载并将数据保留在低成本存储中,Azure 提供了选项。

作为应用程序重新创建平台或重构的一部分,将工作负载从大型机迁移到 Azure 通常需要大规模迁移数据。 mLogica 的 LIBER*IRIS 为从大型机到 Azure 的批量数据迁移提供了一个经过验证的解决方案。 该解决方案可大规模运行,用于迁移企业工作负载。 本文介绍如何将高保真 IBM z/OS 大型机数据迁移到 Azure。

mLogica LIBER*IRIS 及其徽标是其公司的商标。 使用这些标志并不意味着认可。

体系结构

下图显示了 mLogica LIBER*IRIS 如何与 Azure 组件集成,以将大型机数据大规模迁移到 Azure。

体系结构示意图显示了 mLogica LIBER*IRIS 如何与 Azure 组件集成以迁移大型机数据的体系结构。

下载此体系结构的 Visio 文件

Workflow

将大型机数据迁移到 Azure 的步骤如下所示:

  1. 使用 FTPS 通过安全的 Azure 站点到站点虚拟专用网 (VPN) 或 Azure ExpressRoute 将数据定义语言 (DDL) 文件、数据库说明 (DBD) 文件、副本簿、数据布局和其他数据说明项目复制到配置了 mLogica 数据迁移服务工具的 Azure Linux 虚拟机。
  2. mLogica Liber*IRIS 数据迁移群集生成要在大型机上运行的数据提取脚本。
  3. 通过 VPN 使用 FTPS 将数据提取脚本传输到大型机。 FTPS 连接将 ASCII 转换为大型机 EBCDIC 格式。
  4. 提取的脚本在大型机上运行。 它们将数据从多个源导出到顺序文件中,其中所有打包的十进制数据都将解压缩。 它们生成用于将数据加载到目标数据库的 SQL 加载脚本。
  5. 使用二进制 SFTP 将顺序文件和加载脚本传输到 Azure Blob 存储。 此时,大型机数据仍采用 EBCDIC 格式。
  6. mLogica 数据迁移服务运行加载脚本,将 EBCDIC 转换为 ASCII。 脚本在加载到 Azure 存储期间写入错误。 为了降低成本,可以使用两个存储帐户:将数据文件存储在热访问层上,将日志文件存储在冷访问层上。
  7. 脚本将 ASCII 转换的数据从顺序文件加载到目标 Azure 关系数据库。 加载脚本包括用于创建表和其他对象的 DDL 命令,以及用于将数据加载到这些对象的 SQL 查询。 根据需要跨群集水平缩放加载过程,以最大程度地提高吞吐量。 执行日志和详细的异常日志存储在 Azure Blob 存储中,以供进一步分析。
  8. mLogica Liber*IRIS 数据迁移服务运行加载脚本,将数据从关系文件格式转换为 NoSQL 数据库格式。 可以使用 Azure Cosmos DB SQL API 将此 NoSQL 数据加载到 Azure Cosmos DB。

组件

此解决方案使用以下组件。

网络和标识

  • Azure VPN 网关 是一个虚拟网络网关,用于通过公共 Internet 在 Azure 虚拟网络和本地位置之间发送加密流量。 在此体系结构中,VPN 网关提供了 ExpressRoute 的替代方法,用于在大型机环境和 Azure 之间建立安全连接。

  • ExpressRoute 是一种连接服务,允许使用连接提供商通过专用连接将本地网络扩展到 Azure。 在此体系结构中,ExpressRoute 提供了一个安全的专用连接,用于在大型机和 Azure 之间传输数据定义文件和提取脚本。

  • Microsoft Entra ID 是一项标识和访问管理服务,可以与本地目录同步。 在此体系结构中,Microsoft Entra ID 为 mLogica 数据迁移群集和 Azure 资源提供身份验证和访问控制。

计算

  • Azure 虚拟机 是一项计算服务,提供按需、可缩放的计算资源。 在此体系结构中,mLogica 数据迁移群集在优化网络性能的 Azure Linux 虚拟机上运行。

数据库和存储

  • Azure SQLAzure Database for PostgreSQLAzure Database for MySQL 是 SQL Server、PostgreSQL 和 MySQL 的完全托管平台即服务(PaaS)服务。 在此体系结构中,它们为大型机关系数据提供高性能、高可用性选项、模拟非关系数据以及模拟虚拟存储访问方法(VSAM)数据。

  • Azure Cosmos DB 是一种完全托管的 NoSQL 数据库服务,可提供低延迟和弹性可伸缩性。 在此体系结构中,它用于迁移信息管理系统(IMS)、集成数据库管理系统(IDMS)和自适应数据库系统(ADABAS)等非关系大型机源。

  • Blob 存储 是一种云存储服务,提供高度可用、静态加密、经济高效、高容量的存储设施。 在此体系结构中,Blob 存储支持来自大型机的直接二进制 SFTP 流量,并且可以使用 NFS 3.0 在 Linux 虚拟机上装载容器,以存储顺序文件和加载脚本。

监视

  • Azure Monitor 是一项全面的监视服务,提供一种解决方案,用于从云和本地环境收集、分析和处理遥测数据。 在此体系结构中,Azure Monitor 用于监视 mLogica 数据迁移群集,并为主动管理设置警报。

    • Application Insights 是 Azure Monitor 的一项功能,它通过收集和分析应用程序遥测来提供应用程序性能监视。 在此体系结构中,Application Insights 监视 mLogica 数据迁移群集以获取性能见解和诊断。

    • Azure Monitor 日志是 Azure Monitor 的一项功能,用于从受监视的资源收集并整理日志和性能数据。 在此体系结构中,Azure Monitor 日志将数据从多个源合并到单个工作区,包括来自 Azure 服务的平台日志、虚拟机代理中的日志和性能数据,以及应用程序的使用情况和性能数据。

    • Log Analytics 是 Azure Monitor 的一项功能,它使日志查询能够帮助你使用 Azure Monitor 日志中收集的数据。 在此体系结构中,Log Analytics 可帮助分析存储在 Blob 存储中的 mLogica 加载脚本执行日志。 它使用功能强大的查询语言联接来自多个表的数据、聚合大量数据集和执行复杂作。

可能的用例

此示例工作负载有两个关键用例:

  • 工作负载重新创建平台或重构

    将与工作负载相关的所有大型机数据从大型机移动到 Azure。 此数据包括数据库(如 Db2、IMS 和 IDMS)以及文件。

  • 存档

    停用大型机工作负载,并将数据保留在低成本的 Azure 存储解决方案中。

建议

请遵循这些一般建议,除非有优先于这些建议的特定要求:

  • 要减少网络延迟,请在一个区域中创建此方案中提到的所有 Azure 资源。
  • 无需将单个大型文件从大型机发送到 Azure,而是将数据拆分为多个文件并行发送。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅 可靠性的设计评审清单。

复原能力

使用 Azure Monitor 和 Application Insights 监视 mLogica 数据迁移群集。 设置警报进行主动管理。

有关 Azure 中的复原能力的详细信息,请参阅设计可靠的 Azure 应用程序

可用性

此示例工作流介绍了大型机到 Azure 的数据迁移,以重新创建平台、重构或存档工作负载。 此任务是离散的,在为期一个月的项目中执行几次。 尽管此方案不需要高可用性,但可以将 mLogica 数据迁移群集设计为提供高可用性。

Azure 数据库服务支持区域冗余。 可以将其配置为在发生中断时或在维护时段内进行故障转移。

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅 安全的设计评审清单。 有关设计安全解决方案的一般性指导,请参阅 Azure 安全性文档

Azure 中的数据库服务支持各种安全选项:

可以使用 Microsoft Entra ID 控制 mLogica 数据迁移群集上的身份验证和访问控制。 可使用 Microsoft Entra ID 和基于角色的访问控制配置 Azure 资源来进行身份验证和授权。

在 mLogica 数据迁移群集和大型机之间传输的数据使用 TLS 在传输中进行加密。 TLS 证书可以存储在 Azure Key Vault 中,以增强安全性。 从大型机传输到 Azure Blob 存储的数据使用 SSH 在传输中进行加密。

大型机数据和加载脚本暂时存储在 Azure Blob 存储中。 它们是静态加密的。 迁移完成后,将从 Azure Blob 存储中删除数据。

此示例工作流使用 Azure ExpressRoute 或站点到站点 VPN 从本地环境与 Azure 建立专用且高效的连接。

成本优化

成本优化是研究减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅 成本优化的设计评审清单。

下面是一些成本优化的可能选项:

  • Azure SQL 数据库无服务器根据工作负载活动自动缩放、暂停和恢复计算资源,因此只需为使用的资源付费。

  • 使用生命周期策略在 Azure 存储中的访问层之间移动数据。

  • 在 Azure 存储中,如果一段时间没有访问,请将数据从较热的访问层移动到较冷的访问层。 还可以将数据从较冷的访问层移动到存档访问层。

  • 使用 Azure 顾问查找未充分利用的资源。 获取有关如何重新配置或合并资源以减少支出的建议。

使用 Azure 定价计算器估算为此解决方案使用 Azure 组件的成本。

卓越运营

卓越运营涵盖部署应用程序并使其在生产环境中运行的运营流程。 有关详细信息,请参阅 卓越运营的设计评审清单。

Azure DevOps 可用于在软件开发和团队协作的每个阶段在 Azure 上重新设计大型机应用程序。 Azure DevOps 提供以下服务:

  • Azure Boards。 敏捷计划、工作项跟踪、可视化和报告。
  • Azure Pipelines。 独立于语言、平台和云的持续集成/持续交付 (CI/CD) 平台,支持容器或 Kubernetes。
  • Azure Repos。 云托管的专用 Git 存储库。
  • Azure Artifacts。 集成的包管理,支持来自公共源或专用源的 Maven、npm、Python 和 NuGet 包源。
  • Azure Test Plans。 集成的计划内探索测试解决方案。

性能效率

性能效率是工作负荷的缩放能力,以满足用户以高效方式满足它的需求。 有关详细信息,请参阅 性能效率的设计评审清单。

如果要迁移多个大型独立数据集,请在多个虚拟机上部署 mLogica 数据迁移群集,以最大程度地提高数据加载速度。

可以将多个数据集从大型机并行上传到 Blob 存储。

Azure SQL DB 无服务器提供基于工作负载的自动缩放选项。 可以使用自动化来纵向扩展和缩减其他 Azure 数据库,从而满足工作负载需求。 有关详细信息,请参阅自动缩放

作者

本文由 Microsoft 维护, 最初由以下参与者撰写。

主要作者:

Sandip Khandelwal | 高级工程架构师

要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。

后续步骤

请参阅 Azure 数据库迁移指南

请联系 Azure 数据工程 - 大型机/中型机现代化了解详细信息。