欢迎访问深圳敏捷云计算科技有限公司!

使用Apache Airflow轻松导入虚拟磁盘映像至甲骨文云OCI基础设施块卷:云计算的创新之举

2024-01-15 原创文章

在数字化时代,企业迁移到云平台成为了一种不可逆转的趋势。无论是为了业务迁移、灾难恢复策略,还是优化云基础设施,轻松导入虚拟磁盘显得尤为重要。Oracle云基础设施(OCI)功能、OCI对象存储、Apache Airflow、qemu-img以及事件驱动架构的完美结合,为用户自动导入虚拟磁盘映像文件到Oracle云基础设施块卷提供了可能。

架构概述

典型的虚拟磁盘映像导入工作流程如下:

  1. 用户将新的虚拟磁盘映像上传至OCI对象存储桶。
  2. 虚拟磁盘映像文件上传完成后,触发OCI功能的执行。
  3. 该功能将获取虚拟磁盘对象元数据,并调用Apache Airflow API以启动DAG(有向无环图)执行。
  4. Apache Airflow DAG将负责将虚拟磁盘映像导入OCI块卷,此过程包括14个步骤。其中一些重要步骤包括:

创建一个新的工作计算实例来处理虚拟磁盘映像的导入。

在新实例上设置所需工具:qemu-img, oci-cli。

从桶中下载虚拟磁盘映像到工作实例。

使用qemu-img确定虚拟磁盘映像的实际大小,并提供一个新的OCI块卷(以虚拟磁盘映像命名)。

将OCI块卷附加到工作计算实例。将虚拟磁盘映像内容写入OCI块卷。

在OCI块卷上运行fsck。

分离OCI块卷。终止工作实例。

(可选)更新OCI块卷的备份策略。

5.用户可以通过连接到Apache Airflow来监控DAG的执行。

6.以下图表展示了这一参考架构。

云端架构:企业数字化转型的基石

Oracle云基础设施(OCI)的架构由以下几个关键组成部分构成:

区域(Region)

一个Oracle云基础设施区域是包含一个或多个数据中心的地理区域,这些数据中心被称为可用性域。不同的区域彼此独立,它们之间可能相隔很远(跨越国家甚至大洲)。

可用性域(Availability Domains)

每个可用性域都是区域内独立的、自主的数据中心。每个域中的物理资源与其他可用性域中的资源相互隔离,从而提供容错能力。不同的可用性域不共享基础设施,比如电力或冷却系统,或内部的可用性域网络。因此,一个可用性域的故障不太可能影响到该区域内的其他可用性域。

虚拟云网络(VCN)和子网

VCN是你在Oracle云基础设施区域中设置的可定制、软件定义的网络。像传统数据中心网络一样,VCN为你提供对网络环境的完全控制。VCN可以拥有多个不重叠的CIDR块,你可以在创建VCN后更改它们。你可以将VCN分割成子网,这些子网可以局限于一个区域或一个可用性域。每个子网由不与VCN中其他子网重叠的连续地址范围组成。你可以在创建后更改子网的大小。子网可以是公共的或私有的。

对象存储(Object Storage)

对象存储提供快速访问大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。你可以安全可靠地存储数据,并直接从互联网或云平台内检索数据。你可以无缝地扩展存储,而不会经历性能下降或服务可靠性降低。对于需要快速、即时且频繁访问的“热”存储,请使用标准存储。对于长期保留且很少或几乎不访问的“冷”存储,请使用归档存储。

事件(Events)

Oracle云基础设施服务发出的事件是描述资源变化的结构化消息。这些事件包括创建、读取、更新或删除(CRUD)操作、资源生命周期状态变化,以及影响云资源的系统事件。

函数(Functions)

Oracle云基础设施函数是一个完全托管的、多租户的、高度可扩展的、按需的函数即服务(FaaS)平台。它由Fn Project开源引擎提供动力。函数使你能够部署你的代码,并直接调用它或响应事件触发它。Oracle函数使用托管在Oracle云基础设施注册表中的Docker容器。

DevOps

DevOps服务是一个端到端的、持续集成和持续交付(CI/CD)平台,方便开发人员构建工件并部署到OCI计算服务(函数、Oracle容器引擎(OKE)或计算实例)。

策略(Policy)

Oracle云基础设施身份和访问管理策略指定了谁可以访问哪些资源,以及如何访问。访问权限是在组和部门级别授予的,这意味着你可以编写一项策略,赋予一个组在特定部门或整个租户内特定类型的访问权限。

块存储卷(Block Volume)

使用块存储卷,你可以创建、附加、连接和移动存储卷,并根据你的存储、性能和应用需求更改卷性能。在将卷附加并连接到实例后,你可以像使用常规硬盘一样使用该卷。你还可以断开卷并将其附加到另一个实例,而不会丢失数据。

虚拟机(Virtual Machines)

Oracle云基础设施(OCI)计算虚拟机(VMs)在云中为从小型开发项目到大型全球应用(如实时通信平台)的工作负载提供安全且弹性的计算能力。灵活的形状使用户能够优化虚拟机资源,自定义处理器和内存值,以改善价格性能。

云端转型的智慧选择:如何优化云架构设计

在实施Oracle云基础设施(OCI)架构时,以下建议可以作为一个起点。根据你的具体需求,可能会有所不同。

虚拟云网络(VCN)策略

  • 创建VCN时,根据计划连接到VCN子网的资源数量确定所需的CIDR块数量及每个块的大小。使用标准私有IP地址空间内的CIDR块。
  • 选择不与任何其他网络(在Oracle云基础设施、本地数据中心或其他云提供商)重叠的CIDR块,以便建立私有连接。
  • 创建VCN后,你可以更改、添加或移除其CIDR块。
  • 设计子网时,考虑你的流量流向和安全需求。将特定层或角色内的所有资源附加到同一子网,可作为安全边界。

安全性


强烈建议部署堆栈的用户是管理员组的成员。如果用户使用allowed_source_cidr变量将Apache Airflow暴露给互联网,强烈建议填写特定的IP或子网CIDR块。

部署考虑因素

在部署此参考架构时,请考虑以下几点:

  • 安全:运行Apache Airflow和临时工作实例的实例使用动态组进行授权,以管理实例、块卷和读取它们所属部门的对象。函数被授权对部门中的对象资源进行读取操作。
  • 可用性:只有在创建新的VCN、实例拥有公共IP地址且allowed_source_cidr变量包括尝试连接的源IP时,Apache Airflow实例上8080端口的Apache Airflow API才可从互联网访问。
  • 成本:为处理每个虚拟磁盘导入操作到Oracle云基础设施块卷,将创建一个临时计算实例。工作流程成功完成后,该实例将被终止。
  • 放置:可以使用上传至OCI对象存储的虚拟磁盘映像文件上的"ad_number": 1/2/3元数据来自定义块卷的放置。

部署

配置和部署此参考架构资源的Terraform代码可在GitHub上找到。

  1. 访问GitHub。
  2. 克隆或下载仓库到你的本地计算机。
  3. 按照README文档中的说明进行操作。



开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。

如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: