Azure 托管磁盘简介

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集

Azure 托管磁盘是由 Azure 管理的块级存储卷,用于 Azure 虚拟机。 托管磁盘类似于本地服务器中的物理磁盘,但它们是虚拟化的。 使用托管磁盘时,只需指定磁盘类型和磁盘大小,然后预配磁盘。 预配此磁盘后,Azure 会处理剩余磁盘。

有五种类型的托管磁盘:超级磁盘、高级固态硬盘(SSD)v2、高级 SSD、标准 SSD 和标准硬盘驱动器(HDD)。 若要了解每种磁盘类型并决定满足你的需求,请参阅 Azure 托管磁盘类型

另一种方法是使用 Azure 弹性 SAN 作为虚拟机(VM)的存储。 使用弹性 SAN,可以将所有工作负荷的存储合并到单个存储后端。 如果有许多大规模、I/O 密集型工作负荷和顶层数据库,弹性 SAN 可以更具成本效益。 若要了解详细信息,请参阅什么是 Azure 弹性 SAN?

高持久性和可用性

托管磁盘被设计成具有 99.999% 的可用性。为了实现这一可用性,托管磁盘提供了您的数据的三个副本。 如果一个或两个副本遇到问题,其余副本有助于确保数据的持久性,并针对故障进行高度容忍。

此架构有助于 Azure 为基础结构即服务 (IaaS) 磁盘持续提供高持久性,年化故障率为 0%,达到行业领先水平。 本地冗余存储 (LRS) 磁盘在一年内至少提供 99.999999999%(11 个 9)的持续性。 区域冗余存储 (ZRS) 磁盘在一年内至少提供 99.9999999999%(12 个 9)的持续性。

简单且可缩放的 VM 部署

使用托管磁盘,可以在每个区域的订阅中创建最多 50,000 个磁盘类型。 然后,可以在单个订阅中创建数千个 VM。

托管磁盘增加了虚拟机规模集的可伸缩性。 你可以使用 Azure 市场镜像或包含托管磁盘的 Azure Compute Gallery 镜像,在虚拟机规模集中最多创建 1,000 个虚拟机。

故障隔离

与可用性集集成

托管磁盘集成可用性集,可帮助确保可用性集中的 VM 的磁盘彼此之间完全隔离以避免单点故障。

磁盘自动放置于不同的存储缩放单元(模块)。 如果某个模块因硬件或软件故障而失败,则只有其磁盘在该模块上的 VM 实例会失败。

例如,假设有一个应用程序在可用性集中的五个 VM 上运行。 这些 VM 的磁盘并非全部存储在同一个缩放单元中。 因此,如果一个标记出现故障,应用程序的其他实例将继续运行。

与可用性区域集成

托管磁盘支持可用性区域,这有助于保护应用程序免受数据中心故障的影响。 可用性区域是 Azure 区域中独特的物理位置。 每个区域由一个或多个数据中心组成,这些数据中心配置了独立电源以及散热和网络设备。 为确保能够进行复原,所有已启用的地区中都必须至少有三个单独的区域。

有关 VM 运行时间与可用性区域的服务级别协议 (SLA) 的信息,请参阅 Azure SLA 的页

性能选项

工作负荷的需求可能会随着时间而变化,这可能是由于假日期间需求旺盛、流量突然增加或扩展规模以满足客户的需求。 Azure 托管磁盘具有多种功能,可以利用这些功能来提高其性能,并满足工作负荷的转移需求。 不同的磁盘类型提供不同的功能,某些磁盘类型提供的功能可用于确保其性能自动转移以满足工作负载不断变化的需求,其他磁盘类型需要手动调整,其他磁盘类型也无法执行。

若要了解每种磁盘类型具有的选项,请参阅 用于提高 Azure 托管磁盘性能的选项概述

备份和灾难恢复选项

托管磁盘支持多个备份和灾难恢复选项。 这些选项包括内置冗余选项(本地冗余存储和区域冗余存储)、Azure 备份、托管磁盘快照、还原点和 Azure Site Recovery。 适合需求的备份和灾难恢复选项的理想配置可能会有所不同。 若要确定最适合你的需求,请参阅 Azure 托管磁盘的备份和灾难恢复

快照

托管磁盘快照是托管磁盘的只读崩溃一致性完整副本,默认情况下它作为标准托管磁盘进行存储。 使用快照,可以在任意时间点备份托管磁盘。 这些快照独立于源磁盘存在,可以使用它们创建新的托管磁盘。

若要了解如何创建托管磁盘快照,请参阅 创建虚拟硬盘的快照

映像

托管磁盘支持创建自定义映像。 可以从存储帐户中的自定义 VHD 创建映像或者直接从通用化(通过 Sysprep)VM 创建映像。 该映像包含与 VM 关联的所有托管磁盘,包括 OS 磁盘和数据磁盘。 托管自定义映像允许创建数百个 VM,而无需复制或管理任何存储帐户。

有关创建映像的信息,请参阅在 Azure中创建通用化 VM 的旧托管映像

图像与快照

了解映像与快照之间的区别很重要。 通过托管磁盘,您可以对已解除分配的通用化虚拟机进行镜像。 此映像包括附加到该 VM 的所有磁盘。 可以使用此映像创建 VM。

快照是某个时间点磁盘的副本。 它仅应用于一个磁盘。 如果 VM 有一个磁盘(OS 磁盘),则可以为其创建快照或映像,并且可以通过该快照或映像创建 VM。

除了所包含的磁盘,快照不具备感知任何其他磁盘的能力。 如果在要求对多个磁盘进行协调的方案(例如条带化方案)中使用快照,则会出现问题。 快照彼此之间将需要相互协调,而目前并不支持此功能。

上传 VHD 或 VHDX

可以通过将数据直接上传到托管磁盘来降低成本,而无需将它们附加到 VM。 通过直接上传,可以上传大小高达 32 TiB 的 VHD。 若要了解如何将 VHD 上传到 Azure,请参阅 Azure CLIAzure PowerShell 文章。

安全性

控制对托管磁盘导入和导出的访问

有多个选项可用于保护托管磁盘不被导入或导出。 可以使用受限权限集创建自定义 Azure 基于角色的访问控制(RBAC)角色,可以使用Microsoft Entra ID、Private Links、Azure Policy 或在磁盘资源上配置 NetworkAccessPolicy 参数。 若要了解详细信息,请参阅 限制托管磁盘导入或导出

加密

托管磁盘可以使用多种加密,包括 Server-Side 加密(SSE)、Azure 磁盘加密(ADE)、主机加密和机密磁盘加密。 可以将平台管理的密钥或客户管理的密钥用于这些加密选项。 若要了解有关加密选项的详细信息,请参阅 托管磁盘加密选项概述

共享磁盘

若要与群集应用程序一起使用,可以同时将单个托管磁盘附加到多个 VM,从而允许将新的或将现有群集应用程序迁移到 Azure。 此配置需要一个用于处理群集节点通信和写入锁定的群集管理器,例如 Windows Server 故障转移群集 (WSFC) 或 Pacemaker。 若要了解有关此配置的详细信息,请参阅 共享 Azure 托管磁盘

磁盘角色

在 Azure 中有三个主要磁盘角色:OS 磁盘、数据磁盘和临时磁盘。 这些角色将映射到附加到虚拟机的磁盘。

每个磁盘角色的性能表现各有不同。 若要详细了解每个角色的性能工作原理,请参阅 磁盘分配和性能

说明磁盘角色操作的示意图。

OS 磁盘

每个虚拟机都有一个附加的 OS 磁盘。 此磁盘具有预安装的操作系统,在创建 VM 时选择该操作系统。 此磁盘包含启动卷。

通常,应仅将 OS 信息存储在 OS 磁盘上。 数据磁盘应存储所有应用程序和数据。 如果成本令人担忧,可以使用 OS 磁盘而不是创建数据磁盘。

OS 磁盘的最大容量为 4,095 gibibytes (GiB)。 但许多操作系统默认使用主启动记录 (MBR) 进行分区。 MBR 将可用大小限制为 2 TiB。 如果需要超过 2 TiB,请创建并附加数据磁盘并将其用于数据存储。 如果确实需要将数据存储在操作系统磁盘上,并且需要额外的空间,请将其转换为 GUID 分区表 (GPT)。 若要了解 MBR 和 GPT 在 Windows 部署中的区别,请参阅 Windows 和 GPT 常见问题解答

在 Azure Windows VM 上,C 驱动器是 OS 磁盘,是永久性存储,除非使用的是临时 OS 磁盘

数据磁盘

数据磁盘是附加到虚拟机的托管磁盘,用于存储应用程序数据或其他数据。 数据磁盘被注册为 SCSI 驱动器,并标记为您选择的字母。 虚拟机的大小和类型决定了可以附加到 VM 的数据磁盘数以及可用于 VM 的磁盘类型。

通常,应使用数据磁盘来存储应用程序和数据,而不是将它们存储在 OS 磁盘上。 与使用 OS 磁盘相比,使用数据磁盘存储应用程序和数据具有以下优势:

  • 改进了备份和灾难恢复
  • 提高了灵活性和可伸缩性
  • 性能隔离
  • 更容易维护
  • 增强了安全性和访问控制

有关这些优势的更多信息,请参阅为何应使用数据磁盘而不是 OS 磁盘来存储应用程序和数据?

临时磁盘

大多数 VM 都包含一个临时磁盘,该磁盘不是托管磁盘。 临时磁盘为应用程序和进程提供短期存储。 它仅用于存储页面文件、交换文件或 SQL Server tempdb 文件等数据。

维护事件期间、在重新部署 VM,或在停止 VM 时,临时磁盘上的数据可能会丢失。 在以标准方式成功重启 VM 期间,临时磁盘上的数据将保留。 有关无临时磁盘的 VM 的详细信息,请参阅无本地临时磁盘的 Azure VM 规格

在 Azure Linux VM 上,临时磁盘通常是 /dev/sdb。 在 Windows VM 上,临时磁盘默认为 D 驱动器。 临时磁盘未加密,除非:

  • 你使用的是版本 5 及更高版本(如 Dsv5 或 Dsv6)的 Azure VM。 版本 5 及更高版本的 Azure VM 会使用静态加密自动加密其临时磁盘和(如果在使用)临时操作系统磁盘。
  • 对于服务器端加密,可在 主机启用加密
  • 对于 Azure 磁盘加密,请在 Windows 上将 VolumeType 参数设置为所有或在 Linux 上设置为 EncryptFormatAll