你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
大型机应用程序生成大量事务数据。 Azure是一个合适的平台,用于现代化这些工作负载并迁移其数据。 Azure关系数据库和NoSQL数据库提供可伸缩性、高可用性和易于维护,以满足或超过大型机环境。 如果计划停用大型机工作负荷并将数据保留在低成本存储中,Azure提供了多个存储选项。
将工作负荷从大型机迁移到Azure作为应用程序重新缩放或重构的一部分通常需要大规模数据迁移。 mLogica LIBER*IRIS提供了一个经过验证的解决方案,用于从大型机到Azure批量迁移数据。 该解决方案可大规模运行,用于迁移企业工作负载。 本文介绍如何以高保真度将 IBM z/OS 大型机数据迁移到 Azure。
体系结构
下图显示了 mLogica LIBER*IRIS 如何与Azure组件集成,以大规模将大型机数据迁移到Azure。
mLogica LIBER*IRIS 及其徽标是其公司的商标。 使用这些标志并不意味着认可。
下载该架构的 Visio 文件。
数据流
以下数据流对应于上图:
将数据定义语言(DDL)文件、数据库描述(DBD)文件、copybook、数据布局和其他数据描述项目复制到运行 mLogica 数据迁移服务工具的 Azure Linux 虚拟机(VM)。 通过安全的Azure站点到站点虚拟专用网络(VPN)或Azure ExpressRoute使用安全文件传输协议(FTPS)。
mLogica LIBER*IRIS 数据迁移群集生成在大型机上运行的数据提取脚本。
通过 VPN 使用 FTPS 将数据提取脚本传输到大型机。 FTPS 连接将 ASCII 转换为大型机 EBCDIC 格式。
提取的脚本在大型机上运行。 它们将数据从多个源导出到顺序文件,其中所有打包的十进制数据都已解压缩。 生成用于将数据加载到目标数据库的 SQL 加载脚本。
系统使用二进制安全文件传输协议(SFTP)将顺序文件和加载脚本传输到Azure Blob 存储。 此步骤中大型机数据仍采用 EBCDIC 格式。
mLogica 数据迁移服务运行加载脚本,将 EBCDIC 转换为 ASCII。 脚本在加载到 Azure 存储 过程中记录错误。 若要降低成本,可以使用两个存储帐户。 将数据文件存储在热访问层上,并将日志文件存储在冷访问层上。
脚本将 ASCII 转换的数据从顺序文件加载到目标Azure关系数据库。 加载脚本包括用于创建表和其他对象的 DDL 命令,以及用于将数据加载到这些对象的 SQL 查询。 跨群集水平缩放负载过程,以根据需要最大化吞吐量。 执行日志和详细的异常日志存储在Blob 存储中,以便进一步分析。
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 VM 上运行,这些 VM 针对网络性能进行了优化。
数据库和存储
Azure SQL、Azure Database for PostgreSQL 和 Azure Database for MySQL 分别是适用于 SQL Server、PostgreSQL 和 MySQL 的完全托管平台即服务(PaaS)服务。 在此体系结构中,这些服务为大型机关系数据提供高性能、高可用性选项、模拟非关系数据以及模拟虚拟存储访问方法(VSAM)数据。
Azure Cosmos DB是一种完全托管NoSQL数据库服务,可提供低延迟和弹性可伸缩性。 在此体系结构中,它将迁移信息管理系统(IMS)、集成数据库管理系统(IDMS)和自适应数据库系统(ADABAS)等非关系大型机源。
Blob 存储是一种云存储服务,提供高可用性、静态加密、经济高效、高容量存储。 在此体系结构中,Blob 存储支持来自大型机的直接二进制 SFTP 流量,并且可以使用 NFS 3.0 在 Linux VM 上装载容器来存储顺序文件和加载脚本。
监控
Azure Monitor是一个监视平台,用于收集、分析和处理来自云和本地环境的遥测数据。 在此体系结构中,Azure Monitor监视 mLogica 数据迁移群集,并为主动管理设置警报。
Application Insights 是一项Azure Monitor功能,它通过收集和分析遥测来监视应用程序性能。 在此体系结构中,Application Insights 监视 mLogica 数据迁移群集以获取性能见解和诊断。
Azure Monitor Logs是一项Azure Monitor功能,它从受监视的资源收集和组织日志和性能数据。 在此体系结构中,Azure Monitor日志将数据从多个源合并到单个工作区,包括来自Azure服务的平台日志、VM 代理中的日志和性能数据,以及应用程序的使用情况和性能数据。
Log Analytics是运行日志查询的Azure Monitor功能,可帮助你使用Azure Monitor日志中收集的数据。 在此体系结构中,Log Analytics分析Blob 存储存储的 mLogica 加载脚本执行日志。 它使用查询语言联接来自多个表的数据、聚合大量数据集和执行复杂操作。
方案详细信息
本文介绍如何使用 mLogica 产品执行从大型机系统到Azure的批量数据迁移。
可能的用例
此示例工作负荷支持两个关键用例:
工作负载的重平台化或重构:将所有与工作负载相关的大型机数据从大型机迁移到 Azure。 此数据包括数据库(如 Db2、IMS 和 IDMS)以及文件。
Archival: 停用大型机工作负荷,并将数据保留在低成本Azure存储解决方案中。
注意事项
这些注意事项实现 Azure Well-Architected 框架的支柱,这是一组指导原则,可用于提高工作负荷的质量。 有关详细信息,请参阅 Well-Architected Framework。
可靠性
可靠性有助于确保应用程序能够履行对客户的承诺。 有关详细信息,请参阅 可靠性的设计评审清单。
请遵循这些一般建议,除非有优先于这些建议的特定要求:
在单个区域中为此方案创建所有Azure资源,以减少网络延迟。
将数据拆分为多个文件,并将其并行发送到Azure,而不是从大型机发送单个大型文件。
使用 Azure Monitor 和 Application Insights 监视 mLogica 数据迁移群集。 设置警报进行主动管理。
可用性
此示例工作流介绍大型机到Azure数据迁移,以重新构建、重构或存档工作负荷。 通常,在为期一个月的项目中,你会运行此离散任务几次。 此方案不需要高可用性,但可以设计 mLogica 数据迁移群集以提供高可用性。
Azure数据库服务支持区域冗余。 可以为中断和维护时段设置故障转移机制。
安全性
安全性保障您重要的数据和系统免受故意攻击和滥用。 有关详细信息,请参阅 安全的设计评审清单。 有关设计安全解决方案的一般指南,请参阅 Azure 安全文档。
Azure 中的数据库服务支持各种安全选项:
使用 透明数据加密 (TDE) 对静止状态的数据进行加密
使用传输层安全性进行传输中的数据加密 (TLS)
在处理过程中,使用“Always Encrypted with Secure Enclaves”进行数据加密
可以使用 Microsoft Entra ID来控制 mLogica 数据迁移群集上的身份验证和访问控制。 可以使用Microsoft Entra ID和基于角色的访问控制(RBAC)为身份验证和授权设置Azure资源。
TLS 对 mLogica 数据迁移群集与大型机之间的传输数据进行加密。 可以将 TLS 证书存储在 Azure 密钥保管库 中,以提高安全性。 SSH加密从大型机到“Blob 存储”过程中传输的数据。
大型机数据和加载脚本临时存储在Blob 存储中,并在静止状态下加密。 迁移完成后,数据将从Blob 存储中删除。
此示例工作流使用 ExpressRoute 或 站点到站点 VPN从本地环境与Azure建立专用且高效的连接。
成本优化
成本优化侧重于减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅 成本优化的设计评审清单。
使用 Azure SQL 数据库 无服务器缩放、暂停和恢复计算资源。 它根据工作负荷活动自动调整计算,以便仅为使用的资源付费。
使用生命周期管理策略在Azure Blob 存储的访问层之间移动数据。
在一段时间内没有人访问数据时,将数据从较热的访问层移到较冷的访问层。 还可以将数据从较冷的访问层移动到存档访问层。
使用 Azure 顾问 查找未充分利用的资源。 获取有关如何重新配置或合并资源以减少支出的建议。
使用 Azure 定价计算器估算此解决方案的Azure组件成本。
卓越运营
卓越运营涵盖部署应用程序并使其在生产环境中运行的运营流程。 有关详细信息,请参阅 卓越运营的设计评审清单。
可以使用Azure DevOps在软件开发和团队协作的每个阶段在Azure上重新创建大型机应用程序。 Azure DevOps提供以下服务:
Azure Boards:敏捷规划、工作项跟踪、可视化和报告。
Azure Pipelines:支持容器或 Kubernetes 的语言、平台和独立于云的持续集成和持续交付(CI/CD)平台。
Azure Repos:云托管的专用 Git 存储库。
Azure Artifacts:支持来自公共或专用源的 Maven、npm、Python 和 NuGet 包源的集成包管理。
Azure Test Plans:集成的计划和探索性测试解决方案。
性能效率
性能效率是指工作负荷能够高效地缩放以满足用户需求。 有关详细信息,请参阅 性能效率的设计评审清单。
使用以下建议来提高性能效率:
如果迁移多个大型独立数据集以最大化数据加载速度,请在多个 VM 上部署 mLogica 数据迁移群集。 可以将多个数据集并行从大型机上传到Blob 存储。
考虑 SQL 数据库 serverless 进行基于工作负荷的自动缩放。 可以使用自动化来纵向扩展和缩减其他Azure数据库以满足工作负荷需求。 有关详细信息,请参阅自动缩放。
贡献者
Microsoft维护本文。 以下参与者撰写了本文。
主要作者:
- Sandip Khandelwal |首席工程架构师
若要查看非公共领英个人资料,请登录领英.
后续步骤
查看 Azure 数据库迁移指南。
有关详细信息,请联系 Azure 数据工程 - 大型机和中端现代化。
- Azure Monitor概述
- Blob 存储 介绍
- mLogica LIBER*IRIS
- Quickstart:在 Azure 门户中创建 Linux VM
- Azure 中的虚拟机
- Azure Cosmos DB概述
相关资源
- 使用 Microsoft Fabric 实现 Analytics 的端到端
- 实现大型机和中型机数据现代化
- 在 Azure 中重新托管 ADABAS 和 Natural 应用程序。