你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

NVMe - 一般常见问题解答

本文解决了有关在 Azure 中创建的虚拟机上的 NVMe 支持的一些常见问题。

概述

什么是 NVMe?

NVMe 的全称是 nonvolatile memory express(非易失性快速存储器),这是一种通信协议,有助于在服务器和存储系统之间更快、更高效地传输数据。 使用 NVMe,可以以最高吞吐量和最快的响应时间传输数据。 NVMe 可提供更高的 IOPS(每秒输入/输出操作数)和吞吐量(MB/秒),这可以显著提高使用 Azure 托管磁盘的临时(本地)和远程 NVMe 磁盘存储的性能。 更高的性能尤其有利于需要快速将数据传输到 Azure 托管磁盘的 IO 密集型工作负载。

Azure VM 系列支持哪些类型的存储接口?

在 Azure 中,支持两种类型的存储接口:SCSI(小型计算机系统接口)和 NVMe(非易失性快速存储器)。 SCSI 接口是一种旧标准,在计算机和外围设备之间提供物理连接和数据传输。 NVMe 与 SCSI 类似,都提供连接和数据传输,但 NVMe 是服务器和存储系统之间数据传输的更快、更高效的接口。

Azure Boost 和 NVMe 如何提高 Azure 提供的 VM 的性能?

Azure Boost 是由 Microsoft 设计的一个系统,它将传统上由虚拟机监控程序和主机 OS 执行的服务器虚拟化过程卸载到专用的软件和硬件上,从而为 Azure VM 客户提供更快的存储和网络性能。 Azure Boost 的主要优势之一是能够增强 Azure 托管磁盘和本地存储的吞吐量。 此增强功能是通过将存储处理任务卸载到 Azure Boost 的专用硬件来实现的。 此外,Azure Boost 通过使用行业标准 NVMe 接口来优化性能,利用了固态存储驱动器的低延迟和内部并行度。 有关提供的性能的详细信息,请参阅 Microsoft Azure Boost 正式发布博客

Azure 是否继续支持 SCSI 接口 VM?

是的,Azure 将继续在提供 SCSI 存储的 VM 产品/服务版本上支持 SCSI 接口,但并非所有新的 VM 系列都将 SCSI 存储作为未来的选项。

NVMe 可支持性

哪代 VM 支持 NVMe 磁盘?

通常,上一代的常规用途型、内存优化型和计算优化型 VM(即 D/Ev5 或 Fv2 及更早版本)支持 SCSI,而新一代(例如 Da/Ea/Fav6 或更高版本)仅支持 NVMe 存储接口。 但是,Ebsv5/Ebdsv5 和 Lsv2/Lsv3/Lasv3 VM 引入了 NVMe 作为临时磁盘的选项。
请务必查看详细的产品页面,了解有关哪代 VM 支持哪些存储类型的详细信息。

是否支持在第 1 代 VM 上启用 NVMe 磁盘?

否,没有在第 1 代 VM 上支持 NVMe 磁盘的计划。 如果你认为工作负载会受益于 NVMe 性能,必须切换到第 2 代 VM。 请参阅创建新的第 2 代 VM 的步骤。 如果尝试使用第 1 代 VM 映像,则将无法选择支持 NVMe 的 VM 或收到一条错误消息,其中显示“NVMe 不支持所选映像。 请查看受支持的 VM 映像。”

如果使用的 OS 未标记为 NVMe 支持,会发生什么情况?

只能使用标记为 NVMe 的映像(Platform Image Repository (PIR) 和 Azure Compute Gallery)创建 NVMe VM。 如果使用未标记的映像,则会创建 SCSI VM,并且 VM 可能无法按预期工作。 请确保遵循此处列出的所有说明。 若要使用 NVMe 接口启动 VM,必须选择标记为 NVMe 的一个受支持的 OS 映像。 如果 NVMe 不支持当前 OS 映像,你将看到一条错误消息,其中显示:“NVMe 不支持所选映像。 请查看受支持的 VM 映像。”

屏幕截图为选择一个受 NVMe 支持的 OS 映像的示例

何时将 NVMe 支持添加到我当前使用的 OS 映像?

NVMe 支持在 50 多个最常用的 OS 映像中提供。 我们不会向较低版本的 OS 映像添加 NVMe 支持。 但是,我们不断改善 OS 映像覆盖范围,建议参考此页了解为 Linux 和 Windows 添加的最新 OS 映像支持的更新。

如果要使用的 OS 不支持 NVMe,会发生什么情况?

许多最新的 Azure VM 均仅支持 NVMe,需要支持 NVMe 的 OS映像,可以在此处找到该映像。 如果需要不支持 NVMe 的 OS,则应使用仍支持 SCSI 的 VM 系列。

如何使用 NVMe 接口启动 VM?

在 VM 创建期间,可以使用各种方法(例如:Azure 门户、CLI、PowerShell 和 ARM 模板)启用 NVMe。 若要创建 NVMe VM,必须先在 VM 上启用 NVMe 选项,并为 VM 选择 NVMe 控制器磁盘类型。 请注意,如果 VM 大小支持 NVMe,则可以在创建期间启用 NVMe diskcontrollertype,或者在 VM 停止并解除分配时将其更新为 NVMe。

Azure 门户视图

  1. 添加磁盘控制器筛选器。 若要查找符合 NVMe 条件的大小,请选择“查看所有大小”,选择“磁盘控制器”筛选器,然后选择“NVMe”:

    为 NVMe 接口添加磁盘控制器筛选器的说明屏幕截图。

  2. 通过访问“高级”选项卡启用 NVMe 功能。

    启用 NVMe 接口功能的说明屏幕截图。

  3. 转到“查看并创建”来验证功能是否已启用。

    查看和验证功能启用的说明屏幕截图。

使用 NVMe 磁盘的 Azure 存储性能

哪些类型的工作负载将受益于 NVMe 磁盘?

与 SCSI 相比,使用 NVMe 磁盘的 VM 系列将在需要更高 I/O 和改进存储性能的各种工作负载中展示出性能优势。 这些优势将在使用临时和/或远程 NVMe 磁盘的 VM 上实现。 使用具有 NVMe 磁盘的 VM 将为许多工作负载(包括应用程序服务器、Web 服务器、数据库、数据仓库、分析等)实现性能优势。

NVMe 磁盘可以实现哪些性能提升?

应用程序可以实现的性能提升取决于多个因素,包括 VM 类型、VM 大小和 I/O 块大小。 若要确定理想的块大小并实现峰值传输速率,请对各个 VM 大小进行测试。 请务必根据应用程序的具体要求优化 I/O 大小。 有关各个 VM 类型的性能的更多详细信息,请参阅其详细的产品页面