了解 IBM Cloud VPC 的高可用性和灾难恢复
高可用性服务或工作负载根据预先定义的服务级别承受故障并继续提供处理能力的能力。 对于服务,可用性在服务水平协议中进行了定义。 可用性包括计划内和计划外事件,例如维护、故障和灾难。 (HA)是指服务在出现意外故障时仍能保持运行和访问的能力。 灾难恢复服务或工作负载从罕见重大事故和大规模故障(如服务中断)中恢复的能力。 这包括影响整个地区的自然灾害、数据库损坏或导致工作负荷增加的服务中断。 这种影响超出了高可用性设计所能承受的范围。是将服务实例恢复到工作状态的过程。
IBM Cloud® Virtual Private Cloud 是一种高度可用的服务,旨在实现 服务级别目标(SLO)。 它由地区服务和区域服务组成。
有关可用区域和数据中心位置的更多信息,请参阅 按位置划分的服务和基础设施可用性。
高可用性架构
VPC 资源分为控制平面和数据平面服务,使客户能够在 VPC 上构建高可用性应用程序。 控制平面用于配置和管理 VPC 资源(创建、更新、删除)并提供控制功能。 数据平面是虚拟服务器实例、浮动 IP 地址、安全组、块存储等已配置 VPC 资源的集合。
控制平面托管在跨区的冗余硬件上,从而为硬件和分区故障提供恢复能力。 控制平面和数据平面位于不同的故障域。 例如,控制平面中断不会影响数据平面的可用性。 所有现有客户资源继续运行,不受任何影响。 为了提高弹性,用户可以利用冗余数据平面资源构建应用程序。
虚拟PC 资源根据其范围分为区域资源和地区资源。 有些资源(如 VPC)跨越多个区域,被视为区域资源。 大多数资源都有区域范围,可在特定区域使用。 例如,子网、访问控制列表、安全组、路由表、公共网关和虚拟专用端点网关都存在于创建它们的区域中。
有关免受控制平面故障影响的数据平面保护、分区服务独立性和区域服务冗余的更多信息,请参阅 IBM Cloud 高可用性和弹性服务架构。
区域故障
如果整个区域发生故障,该区域的控制平面和数据平面都会受到影响。 受影响区域的控制功能无法使用,所有区域资源均处于瘫痪状态。 例如,受影响区域中的虚拟服务器实例不可用,也不会转移到另一个健康区域。 对区域资源所做的任何更改在故障区域恢复之前不会在该区域生效。
其他区域的数据平面不受影响,未受影响区域内的所有分区资源继续运行,不会出现任何中断。 VPC 等区域资源将继续在健康区域运行。 控制平面具有高可用性,使服务能够管理其他未受影响区域的资源。
客户应制定机制,通过将资源分散到不同区域(故障域)来管理其应用程序的高可用性,并制定灾难恢复计划。
地区性失败
在不寻常的区域性灾难事件中,任何潜在的问题都会得到解决,VPC 控制平面也会得到恢复,重点是减少资源的数据丢失。 数据平面的恢复还包括从存储中恢复客户数据的状态,以达到恢复点目标(RPO)和恢复时间目标(RTO)。
在单校区多分区区域(SC-MZR)中,数据中心灾难可能会影响整个区域,因为分区之间的关系更为紧密。 服务应采用备份和恢复策略,以避免数据丢失。
硬件故障
资源由可靠且通常是冗余的硬件提供,但不可预见的硬件故障可能会导致这些资源瘫痪。 例如,当底层硬件发生故障时,虚拟服务器实例可能会失效。 在这种情况下,主机故障恢复策略 决定了虚拟服务器的恢复方式。 如果发生故障且主机故障恢复策略设置为默认设置 restart,控制平面会检测到硬件故障,并将虚拟服务器迁移到同一区域的可用硬件上,然后重新启动虚拟服务器。
短暂磁盘存储不会恢复到启动卷。 数据卷是可用的,但可能缺少故障时未保存的应用程序或操作系统缓存写入。
块卷由冗余硬件支持,采用先进的复制技术,以提高弹性。 但是,分区灾难或多硬件故障可能会导致块卷故障。 备份和恢复是减少数据丢失或损坏的合适方法。 这种方法还可以通过将数据复制到其他 IBM Cloud 区域来减轻区域性灾难的影响。 快照功能可用于支持备份和还原。 客户还可以将其应用程序分布到其他区域,以避免任何中断并提高 RPO/RTO。
卷存储和相关服务器应用程序故障之间可能存在很强的故障相关性。 请务必检查和测试工作负载,以确定存储设备发生故障时的应用程序行为。
有关裸机服务器及其相关存储的信息,请参阅 Bare Metal Servers for VPC 的存储概述。 裸机服务器上的本地磁盘无法使用快照。 客户必须管理这些设备的高可用性和灾难恢复。
构建 HA 应用程序
您可以使用 VPC 负载均衡器将传入请求分配给多个虚拟服务器和裸机服务器。 不可用的虚拟服务器和裸机服务器将停止响应健康检查;负载平衡器将平衡可用资源的负载。 您可以使用应用程序负载平衡器 (ALB) 将工作负载的流量分配到多个区域中的虚拟服务器,并创建即使整个区域不可用也可用的工作负载。
当 ALB 本身配置在跨区的子网上时,它可以抵御单区故障。 网络负载平衡器是一种分区服务,分布在多个底层虚拟服务器上,可抵御单个虚拟服务器故障。
提高由 VPC 资源构建的工作负载可用性的基本策略是将工作负载分布到多个资源上。 可以在一个区内、多区区域 (MZR) 中的多个区之间或多个区域之间分配资源。 如需了解更多信息,请参阅 跨多个地点和区域部署隔离的工作负载;此策略使用 IBM Cloud Internet Services (CIS) 和全局负载平衡器。
高可用性功能
IBM Cloud VPC 支持以下高可用性功能
| 功能 | 描述 | 对价 |
|---|---|---|
| 应用程序负载均衡器 | ALB 将负载跨区分配到 IP 地址。 | 工作负载必须是可扩展的。 |
| 网络负载均衡器 | NLB 将负载分配到区域内的 IP 地址。 | 工作负载必须是可扩展的。 |
| 针对 VPC 的自动缩放 | 动态创建虚拟服务器实例,满足环境需求,从而提高性能,降低成本。 | 工作负载必须是可扩展的。 |
| 负载平衡器和实例组 | 由负载平衡器前置的可扩展工作负载会将负载分配给跨区的多个实例。 | 工作负载必须是可扩展的。 |
作为客户,您可以创建并支持 HA:
| 功能 | 描述 | 对价 |
|---|---|---|
| 可扩展的工作量 | 创建基于虚拟服务器或裸机服务器的工作负载,可通过更多服务器进行横向扩展。 | 并非所有工作负载都可以横向扩展。 |
可扩展的工作量
可扩展的工作负载可以通过增加运行相同镜像的服务器来处理增加的需求。 可扩展的工作负载可通过使用负载平衡器和 VPC 的自动扩展功能来实现。
灾后恢复架构
灾难恢复的策略是提供脚本自动化,以便在恢复位置恢复 VPC 工作负载。 例如,当一个区域不可用时,客户有责任将工作负载和相关数据迁移到可用区域。 IBM 支持 Terraform 基础设施即代码系统,可用于定义具有参数化位置和性能的工作负载。 客户可使用 VPC API、SDK 和 CLI 创建脚本,以便在灾难期间在可用位置恢复资源。 有关详细信息,请参阅 规划灾难恢复。
有关使用 IBM Cloud Object Storage、提供 Terraform 即服务的 IBM Cloud Schematics 和可部署架构的更多信息,请参阅《 在灾难恢复中使用 IBM Cloud 服务 》。
灾难恢复功能
IBM Cloud VPC 支持以下灾难恢复功能:
| 功能 | 描述 | 对价 |
|---|---|---|
| 单卷快照 | 快照是启动卷或数据卷的时间点副本。 Block Storage 快照存储在区域 实例中。Cloud Object Storage | 快照独立于源卷。 如果源卷所在区域不可用,则可使用快照在该区域的不同区域创建新卷。 快照可在控制台、CLI、API 或 Terraform 中按需创建。 也可以使用 Backup for VPC 服务对它们进行计划。 |
| 跨区域快照副本 | 您可以使用独立于源快照的跨区域快照副本来创建新卷。 | 快照可通过控制台、CLI 或 API 或 Terraform 以编程方式手动复制到另一个区域。 您还可以在备份策略中加入在其他区域创建副本的功能。 |
| 一致性组快照 | 快照一致性组包含连接到同一虚拟服务器实例的多个 Block Storage 卷的快照。 | 请求一致性组快照时,系统会生成同时附加到虚拟服务器实例的所有标记 Block Storage 卷的快照。 您可以包含或排除启动卷。 不包括实例存储。 |
| 快速恢复快照 | 快速恢复快照是缓存在具有父块卷的区域中的快照。 使用可启动的快速恢复快照创建虚拟服务器时,与通过普通快照提供启动卷相比,服务器可更快地完全投入运行。 | |
| 文件共享复制 | 如果源共享不可用,可以启动 复制故障切换 到副本共享。 | 您可以在同一区域的另一区域创建副本共享。 您还可以在同一地区的另一个区域创建副本。 您可以每 15 分钟复制一次数据。 |
从快照还原卷或共享是一项耗时的手动操作。 如果您需要更高级别的灾难恢复服务,请参阅 IBM 的 云灾难恢复解决方案。
作为客户,您可以创建并支持其他灾难恢复选项:
| 功能 | 描述 | 对价 |
|---|---|---|
| VPC 配置的外部真实来源 | 在客户管理的配置文件(如 Terraform 脚本、shell 脚本或程序)中构建 VPC、网络和服务器。 | 客户必须创建脚本并持久保存配置,以便在可能发生灾难时使用。 |
| 客户创建的文件存储备份和复制脚本 | 复制文件共享的内容,使其在另一个位置可用。 | 客户必须创建脚本或使用客户管理的连续备份和恢复。 |
| 由客户管理的块卷和文件存储的连续备份和恢复 | 客户可在服务器上安装第三方代理和操作系统驱动程序,与 Veeam 等备份和恢复系统集成。 | 客户必须安装和管理第三方备份和恢复解决方案。 |
规划灾难恢复
必须定期练习灾难恢复步骤。 在制定计划时,请考虑以下失败情况和解决办法。
| 失败 | 解决方法 |
|---|---|
| 启动盘故障 | 您可以使用 从卷中创建的自定义映像创建 新卷。 您也可以通过控制台、CLI、API、Terraform 或客户管理的持续备份和还原解决方案,从快照中还原卷。 从快照恢复启动卷时,当数据从快照复制到启动卷时,可能会出现一些性能下降。 通过使用 快速还原快照,您可以比从普通快照还原更快地实现 恢复时间目标在灾难恢复计划中,指灾难发生后业务流程恢复所需的时间。 (RTO),因为所有数据都可用,性能也不会受到影响。 |
| 数据卷故障或数据损坏 | 通过控制台、CLI、API、Terraform 或客户管理的持续备份和还原解决方案,从快照中还原卷。 数据卷也可使用 快速恢复快照。 |
| 文件共享数据损坏 | 您可以创建文件共享快照,以便在特定时间点保存文件共享上的数据。 然后,如果文件共享的内容被意外删除或覆盖,您可以 从文件共享快照恢复数据。 |
| 文件共享失败 | 通过向另一区域的现有副本启动故障切换来缓解。 测试故障切换过程,看看需要多长时间。 |
| 虚拟服务器故障 | 通过使用负载平衡器的高可用性功能和 VPC 的自动扩展功能,创建可扩展的工作负载来缓解这一问题。 可能需要重新启动虚拟服务器。 可能需要解决块卷故障问题。 |
| 裸机服务器故障 | 由客户管理的备份和恢复解决方案。 |
| 区域故障 | 通过使用负载平衡器的高可用性功能和 VPC 的自动扩展功能,创建可扩展的工作负载来缓解这一问题。 在 VPC 区域配置中使用外部真实源,通过服务器故障解析和块卷故障解析在可用区域中创建资源。 |
| 地区性失败 | 使用 VPC 区域配置的外部真实源在可用区域中创建资源。 利用服务器故障解决功能,将卷和文件存储恢复到以前的值。 |
您在高可用性和灾难恢复方面的责任
有关背景信息,请参阅 了解您在使用虚拟专用云时的责任。 持续测试 HA 和 DR 计划是您的责任。 有关详细信息,请参阅 灾难恢复测试。
可能会出现网络连接中断和服务短时间无法使用的情况。 您有责任确保应用程序源代码包含 客户端可用性重试逻辑,以保持应用程序的高可用性。
您可以使用以下核对表来帮助您制定和实践您的计划。
-
区块卷快照
-
文件存储复制
-
VPC 配置的外部真实来源
变更管理
变更管理包括升级、配置变更和删除等任务。
为用户和流程授予其工作所需的最少权限的 IAM 角色和操作。 有关更多信息,请参阅 如何防止意外删除服务?
在更改基础架构配置之前,考虑创建手动备份。
IBM® 如何帮助支持灾难恢复规划
IBM® 如果发生灾难,为 采取具体的恢复行动。IBM Cloud VPC
如果单个主机意外发生故障,故障主机上的虚拟服务器可自动在健康主机上重新启动。 有关 IBM 如何监控基础架构和应对主机故障的更多信息,请参阅 主机故障恢复策略。
IBM 如何从区域故障中恢复
区域故障可能是由于自然灾害、基础设施问题(如停电)、意外或恶意删除信息的行为,或 包含错误或错误的软件更新。 在发生区域故障时,IBM 可恢复设施和数据中心、物理网络和设备、物理存储、物理服务器和内存以及管理程序。 更多信息,请参阅 使用 IBM Cloud 产品的共同责任。
IBM 如何从地区失败中恢复过来
如果整个区域发生故障,IBM,再次恢复设施和数据中心、物理网络和设备、物理存储、物理服务器和内存以及管理程序。 有关详细信息,请参阅 使用 IBM Cloud 产品的共同责任 和 灾难恢复常见问题解答。
如果 IBM 无法还原服务实例,则必须按照 灾难恢复架构 中的描述还原服务。
IBM 如何维护服务
在对虚拟服务器、主机和数据中心进行例行维护时,要遵循例行协议。 如需了解更多信息,请参阅 了解云维护操作。
所有升级均遵循 IBM 服务最佳实践,包括恢复计划和回滚流程。 定期维护可能会造成短时间的中断,但 客户端可用性重试逻辑 可以缓解这种情况。 IBM 会在出现缺陷的第一时间恢复更新。
通过功能标志启用和禁用复杂的更改,以控制曝光率。
影响客户工作负载的变更将在 IBM Cloud 通知中详细说明。 有关影响此服务的计划维护、公告和发布说明的更多信息,请参阅 监控通知和状态。