Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure 提供了多个配置选项,用于确保 Azure 虚拟机(VM)和 Azure 托管磁盘的高可用性。 本文介绍managed disks的默认可用性和持久性,并提供进一步提高应用程序可用性和复原能力的建议。
速览
| 配置 | 建议 | 好处 |
|---|---|---|
| 在单个 VM 上运行的应用程序 | 使用超级磁盘、高级 SSD v2 和高级 SSD。 | 仅使用高级 SSD 作为 OS 磁盘的单个 VM,以及超级磁盘、高级 SSD v2 或高级 SSD 作为数据磁盘具有最高的运行时间服务级别协议(SLA),并且这些磁盘类型可提供最佳性能。 |
| 使用区域冗余存储(ZRS)磁盘。 | 即使整个区域出现服务中断,您仍然可以访问数据。 | |
| 多个 VM 上运行的应用程序 | 使用具有灵活编排模式的跨区虚拟机规模集在多个可用区之间分配 VM 和磁盘,或者通过跨三个可用区部署 VM 和磁盘。 | 跨多个区域部署时,多个 VM 的运行时间 SLA 最高。 |
| 区域性虚拟机规模集与灵活的编排模式或可用性集跨多个容错域部署 VM 和磁盘。 | 跨容错域部署时,多个 VM 具有第二高的运行时间 SLA。 | |
| 在 VM 之间共享磁盘时使用 ZRS 磁盘。 | 防止共享磁盘成为单一故障点。 |
托管磁盘的可用性和持久性
在提出实现更高可用性的建议之前,应当了解托管磁盘的默认可用性和持久性。
托管磁盘是设计为 99.999% 的可用性,并提供至少 99.999999999%(11个9)的持久性。 使用托管磁盘时,您的数据将被复制三次。 如果这三个副本中的一个不可用,Azure会自动在后台生成数据的新副本。 这可确保数据的持久性和高容错能力。
托管磁盘具有两种冗余模型:本地冗余存储(LRS)磁盘和区域冗余存储(ZRS)磁盘。 下图描述了如何使用任一模型复制数据。
LRS 磁盘在给定年份提供至少 99.999999999% (11 个 9)的持久性,ZRS 磁盘在给定年份提供至少 99.9999999999% (12 个 9)的持久性。 此体系结构有助于Azure一致地为基础结构即服务(IaaS)磁盘提供企业级持续性,并实现行业领先的零年化故障率。
针对在单个 VM 上运行的应用程序的建议
旧版应用程序、传统 Web 服务器、业务线应用程序、开发和测试环境以及小型工作负荷都是可能在单个 VM 上运行的应用程序示例。 这些应用程序无法受益于跨多个 VM 的复制,但磁盘上的数据仍复制三次,你可以执行以下步骤来进一步提高可用性。
使用超级磁盘、高级 SSD v2 或高级 SSD
仅使用 高级 SSD 作为 OS 磁盘的单个 VM,而 超级磁盘、 高级 SSD v2 或 高级 SSD 作为 数据磁盘具有 最高的单个 VM 运行时间 SLA,并且这些磁盘类型可提供最佳性能。
使用区域冗余存储磁盘
区域冗余存储(ZRS)磁盘在三个可用区之间同步复制数据,这些可用区是一个区域中独立的数据中心组,具有独立的电力、冷却和网络基础设施。 使用 ZRS 磁盘时,即使发生区域中断,数据也能访问。 此外,使用 ZRS 数据磁盘,可以将其从遇到问题的 VM 中强制拆离。 ZRS 磁盘存在限制,请参阅“冗余选项”一文的限制部分了解详细信息。
针对在多个 VM 上运行的应用程序的建议
基于 Quorum 的应用程序、群集数据库(SQL、MongoDB)、企业级 Web 应用程序和游戏应用程序都是在多个 VM 上运行的应用程序示例。 在多个 VM 上运行的应用程序可以指定一个主 VM 和多个辅助 VM,并跨这些 VM 复制数据。 当主 VM 出现故障时,此设置允许切换到辅助 VM。
当在多个可用区之间部署时,多个虚拟机(VM)具有最高的运行时间服务级别协议 (SLA);而在多个存储和计算容错域之间部署时,它们具有第二高的运行时间 SLA。
跨多个可用性区域分配 VM 和磁盘
区域中的可用区是由独立电源、冷却和网络基础设施支持的单独数据中心组。 它们彼此之间足够接近,可以与其他可用区域建立低延迟连接,但也有足够的距离,以减少多个区域同时受到本地中断或天气影响的可能性。 有关详细信息,请参阅 什么是可用区?。
多个 VM 在分布于三个可用区时,具有最高的 SLA。 对于分布在多个可用区的 VM 和磁盘,每个磁盘及其父 VM 会分别位于同一可用区,这样即使某个可用区发生故障,也能防止多个 VM 出现故障。 可用性区域目前并非在每个地区都可用,请参阅支持可用性区域的 Azure 区域。
分布在多个可用区的 VM 的网络延迟可能比在单个可用区中分布的 VM 高,这可能对需要超低延迟的工作负载构成问题。 如果低延迟是优先考虑事项,请考虑跨多个容错域部署 VM 和磁盘中所述的方法。
若要跨可用区部署资源,可以使用区域跨部署的虚拟机规模集或跨可用区部署资源。
下图描述了在直接跨可用区部署或使用跨区域虚拟机规模集时,虚拟机和磁盘如何并置在同一区域中。
<c2><c1><c0><sb0>图示展示在可用性区域中的 VM 和磁盘并置情况。</sb0></c0></c1></c2>
将跨可用区的虚拟机规模集与灵活的编排结合使用
Virtual Machine Scale Sets允许创建和管理一组负载均衡的 VM。 VM 实例数可以根据需求自动调整,也可以按照定义的计划进行调整。 虚拟机规模集是跨多个可用区部署的,称之为跨区域虚拟机规模集。 请参阅 区域扩展。
通过使用灵活协调模式的跨可用区虚拟机规模集,虚拟机及其磁盘在其部署所在的区域(可用区)内复制到一个或多个可用区,以提高应用程序和数据的复原能力和可用性。 默认情况下,此配置以最佳方式将 VM 分散到所选区域,但也提供在部署中指定严格区域平衡的功能。
在三个可用性区域中部署 VM 和磁盘
将 VM 和磁盘分配到可用性区域的另一种方法是跨三个可用性区域部署 VM 和磁盘。 此部署在一个区域内的多个数据中心的虚拟机和磁盘中提供冗余,使您能够在数据中心或分区中断时故障转移到另一个分区。
跨多个容错域部署 VM 和磁盘
如果您无法跨可用性区域部署您的 VM 和磁盘,或者有超低延迟要求,可以改为在故障域中部署它们。 容错域定义共享公用电源和网络交换机的 VM 组。 有关详细信息,请参阅可用性集如何工作。
对于通过以下方法跨容错域部署的 VM 和磁盘,磁盘的storage容错域与其各自的父 VM 的计算容错域保持一致,如果单个storage容错域遇到中断,则防止多个 VM 出现故障。
跨容错域部署时,多个 VM 具有第二高的运行时间 SLA。 若要了解详细信息,请参阅 SLA 的 Virtual Machines 部分。
若要跨多个容错域部署资源,可以使用区域虚拟机规模集或可用性集。
下图描述了在使用区域虚拟机规模集或可用性集时,计算和存储容错域的对齐方式。
将区域虚拟机规模集与灵活编排配合使用
区域虚拟机规模集是一个未显式定义可用性区域的虚拟机规模集。 通过区域虚拟机规模集,虚拟机资源将跨其部署的区域内的容错域进行复制,以提高应用程序和数据的复原能力和可用性。 默认情况下,此配置将 VM 分散到容错域,但也提供在 VM 创建时分配容错域的功能。 有关详细信息,请参阅此节。
区域虚拟机规模集不提供保护以防大规模中断,例如数据中心或区域性中断,并且目前不支持超磁盘或高级 SSD v2 磁盘。
使用可用性集
可用性集是将 VM 放置在不同容错域中的 VM 的逻辑分组,用以限制相关故障同时关闭相关 VM 的可能性。 与可用性区域相比,可用性集在 VM 到 VM 延迟方面表现更好。
可用性集不允许为 VM 选择故障域,不能用于可用性区域,不防范数据中心或区域范围的中断,并且当前不支持 Ultra 磁盘。
在 VM 之间共享磁盘时使用 ZRS 磁盘
在多个 VM 之间共享磁盘时,应使用 ZRS。 如果使用 LRS,则共享磁盘将成为群集应用程序的单一故障点。 这意味着,如果共享 LRS 磁盘遇到中断,则附加此磁盘的所有 VM 都将经历停机。 使用 ZRS 磁盘可以缓解此问题,因为磁盘的数据位于三个不同的availability zones中。 若要了解有关共享磁盘的详细信息,请参阅 共享 Azure 托管磁盘。
后续步骤
适用于托管磁盘的区域冗余存储 - 什么是可用区?
- 创建一个使用 Availability Zones 的虚拟机规模集