存储管理提供程序

存储供应商可以通过支持 Windows 存储管理 API 来包括对其存储子系统进行基于 Windows 的管理。 Windows 管理应用程序可以使用此 API 并提供集成的存储管理服务。

从Windows 8开始,Windows 存储管理 API 取代虚拟磁盘服务 (VDS) 、其 API 和关联的实用工具。 此外,Windows 8中引入的任何存储管理实用工具都未使用 VDS。 因此,建议存储供应商采用 Windows 存储管理 API 并开发相应的提供程序来支持此 API。

为了支持 Windows 存储管理 API,存储供应商可以选择:

  • (SMP) 开发存储管理提供程序。
  • 开发 SMI-S 提供程序。 可通过内置的 Windows 存储管理服务访问此提供程序。 存储管理服务作为 SMP 实现。

这两种机制同样支持通过新 API 轻松管理存储子系统。 此外,这两种机制都通过定义完善的直通接口实现了轻松的扩展性。

如前所述, Windows 存储管理 API 旨在提供全面的存储预配和管理功能。 此外,此 API 旨在根据需要通过连续的 Windows 版本进行改进。 直通接口使存储管理应用程序能够在兼容的存储子系统上执行操作,这些子系统由于各种原因尚未通过定义完善的 API 直接启用。 虽然这是一种易于扩展的重要机制,但传递机制仅用于未通过 API 公开的功能,不得用于可以通过 API 管理的功能。

体系结构

SMP 体系结构模型由以下功能组成:

  • Windows 管理应用程序(包括内置 PowerShell commandlet)使用 Windows 存储管理 API。 对于预期 () 尚未通过 API 公开的一小部分功能,Windows 存储管理应用程序可以使用直通机制。 例如,此功能允许在需要时使用整套 SMI-S 类和方法,并启用应用程序和存储提供程序之间的专有通信。

  • 存储子系统可以通过承诺响应新 API 来确保 Windows 管理应用程序能够管理它们。 这可以通过传递 SMP 或交付 SMI-S 提供程序来完成,后者又将通过 Windows 存储管理服务调用。 如果存储供应商选择开发 SMP,则供应商 SMP 与关联的存储子系统之间的通信可能是专有的。 如果存储供应商选择使用 SMI-S 服务,则必须响应 Windows 存储管理服务发出的 SMI-S 命令。

  • SMP 接口使用 WMI。

有一些 API 集具有类似的方法和属性: 存储管理 API 类 和 SMP 接口。 存储管理 API 类是应用程序(如文件服务器管理器和System Center Virtual Machine Manager)使用的类集。 它包括更多仅限主机端的类,例如 Partition、Volume 和 InitiatorPort。 存储管理 API 类中的某些方法包含额外的输入参数“RunAsJob” (请参阅“异步操作”部分,了解) 的详细信息。 同时,SMP 接口没有仅限主机端的类,它使用 InitiatorId 而不是 InitiatorPort。 尽管存在某些差异,但存储管理 API 类和 SMP 接口中的大多数类定义都是相同的。