为计算实例规划高可用性

Oracle Cloud Infrastructure Compute 提供了裸金属和虚拟机 (virtual machine,VM) 实例,允许您将所需的任何大小服务器从具有单个核心的小 VM 部署到具有许多核心和更大 RAM 大量的大型 VM 或裸金属服务器。这些选项确保了运行高要求的云端应用和负载的性能、灵活性和可控性。

要规划计算实例的高可用性,您应考虑的主要设计策略包括:
  • 通过恰当利用容错域和可用性域,消除单点故障。
  • 使用监视、实例池和负载平衡器。
  • 确保您的设计同时保护计算实例的数据可用性和完整性。
本文介绍了这些策略。

跨故障域分配实例

设计高可用性解决方案的主要原则之一是避免单点故障。然后,主要设计原则是在多个容错域之间分配实例。

在单可用性域部署中,通过正确利用容错域,您可以提高在 Oracle Cloud Infrastructure 上运行的应用的可用性。应用程序的体系结构确定是使用容错域来分隔实例还是对实例分组。
  • 方案 1:高可用性应用架构

    在此方案中,您有一个高可用性应用程序,例如两个 Web 服务器和一个群集数据库。在此处,您将一个 Web 服务器和一个数据库节点归在一容错域中,将另一容错域中每对的另一半分组。此体系结构可确保任何一个容错域发生故障不会导致应用出现中断。

  • 方案 2:单个 Web 服务器和数据库实例体系结构

    在此方案中,您的应用程序体系结构没有高可用性,例如,您有一个 Web 服务器和一个数据库实例。在此处,Web 服务器和数据库实例必须放在同一容错域中。此体系结构可确保您的应用仅受到单个容错域故障的影响。

跨可用性域分配实例

要实现高可用性,另一种方法是在多个可用性域中部署执行相同任务的计算实例。此设计通过跨数据中心引入冗余来消除单点故障。

在包含多个可用性域的部署中,您可以按可用性域划分多个实例组。这可以保护您的应用免受数据中心级别的故障的影响,例如停电、物理基础结构故障或计划内维护事件。

实例分布在可用性域或容错域中时,负载平衡器通常用于改善资源使用情况、促进扩展并确保高可用性。它支持将传入请求路由到各种后端集或计算实例组,从而平衡它们之间的网络流量。

下图说明了部署在两个可用性域中的 Web 服务器 VM,以实现冗余以及负载平衡器:



注:

该体系结构显示多个可用性域 (Availability Domain,AD)。对于具有单个 AD 的区域,请调整体系结构以在 AD 中的容错域中分配资源。
根据您的系统或应用程序要求,您可以在备用或活动模式下实现此架构冗余:
  • 在备用模式下,主组件发生故障时,备用组件将接管。备用模式通常用于需要维护其状态的应用程序。
  • 在活动模式下,未将任何组件指定为主组件或备用组件;所有组件都积极参与执行相同的任务。当其中一个组件出现故障时,相关任务仅分配给另一个组件。活动模式通常用于无状态应用程序。

确保数据的高可用性和完整性

为了实现高可用性架构,请务必确保您的设计同时保护计算实例的数据可用性和完整性。为了保护计算实例的数据可用性,您可以将数据复制或备份到其他位置。

  • 块存储卷概要

    通过 Oracle Cloud Infrastructure Block Volume 服务,您可以动态预配和管理块存储卷。您可以根据需要创建、附加、连接和移动卷,以及更改卷性能,从而满足您的存储、性能和应用要求。将卷连接到实例后,您可以像常规硬盘驱动器那样使用该卷。您还可以断开卷的连接并将其连接到另一个实例而不会丢失数据。

  • 卷持久性

    与标准连接的驱动器相比,Oracle Cloud Infrastructure Block Volume 服务提供高水平的数据持久性。系统会自动为您复制所有卷,从而帮助您防范数据丢失。数据的多个副本冗余存储在多台具有内置修复机制的存储服务器上。为了实现服务级别目标,块存储卷服务设计为块存储卷和引导卷提供 99.99% 的年持久性。不过,我们也建议您定期备份,以防可用性域失败。

  • 卷复制

    块存储卷服务提供了将块存储卷和引导卷自动异步复制到同一区域中的其他区域或可用性域的功能。同一区域内的跨可用性域复制仅支持具有多个可用性域的区域。要确定哪些区域包含多个可用性域,请参阅表中的“可用性域”字段,其中列出了“关于区域和可用性域”中的区域。此功能支持灾难恢复、迁移和业务扩展方案,无需备份卷。有关更多信息,请参阅本手册中其他位置的“复制卷”,您可以从“浏览更多”主题访问该主题。

关于块存储卷备份

使用 Oracle Cloud Infrastructure Block Volume 服务的备份功能,您可以获取块存储卷上数据的时间点快照。在卷连接到实例或分离卷时,您可以备份卷。然后,这些备份可以在备份后立即恢复到新卷,也可以在以后选择备份时恢复。

备份加密存储在 OCI 对象存储中,并可作为新卷还原到存储的同一区域中的任何可用性域。此功能为您提供卷的备用副本,并支持您在同一区域中成功完成灾难恢复。

可以通过以下两种方式之一启动备份:手动启动备份或分配用于定义设置备份调度的策略。有关 bloack 卷的更多信息,请参阅块存储卷备份概述,您可以从本手册中其他位置的“浏览更多”主题中访问该主题。https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/blockvolumebackups.htm

使用同步或异步复制

如果计算实例发生故障,您可以使用同步或异步复制来保护数据:

  • 区域中的可用性域由支持同步复制的高性能网络互连。如果您的应用需要即时故障转移并且无法承受数据丢失,请采用同步复制。由于其网络性能要求,通常在一个区域中使用同步复制。
  • 对于需要保护跨区域的数据可用性的应用程序,采用异步复制。

传统备份是保护数据的另一种方式。为了提高数据持久性,请勿将备份存储在与原始计算实例相同的可用性域中。应使用 Oracle Cloud Infrastructure Object Storage 备份计算实例的数据。对于具有本地 NVMe 驱动器的计算实例,受保护的 RAID 阵列是防止 NVMe 设备故障的最佳方式。

有关详细信息,请参阅“保护 NVMe 设备上的数据”,您可以从本手册其他位置的“浏览更多”主题中访问这些内容。