关于 VDS

[从 Windows 8 和 Windows Server 2012 开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]

虚拟磁盘服务是一项 Microsoft Windows 服务,可应最终用户、脚本和应用程序的请求执行查询和配置操作。 该服务通过以下方式扩展 Windows Server 操作系统的现有存储功能:

  • 为 Windows 中的现有卷和磁盘管理功能提供 API。
  • 在单个 API 下统一卷管理和硬件独立磁盘冗余阵列 (RAID) 管理。

VDS 不执行以下存储管理活动:

  • 硬件子系统管理,例如温度监视或磁盘阵列的性能统计信息监视。
  • 存储区域网络 (SAN) 构造管理,例如 Host-Based 适配器 (HBA) 分区和安全性。

以下部分介绍 VDS 的体系结构、VDS 提供程序的角色和 API。

服务体系结构

VDS 定义了三个接口:应用程序层和服务之间的单个接口,以及数据层中服务和提供程序程序之间的两个接口。 下图显示了应用程序到服务边界和服务到提供程序边界。

显示服务体系结构划分为“应用程序”、“虚拟磁盘服务”和“VDS 提供程序”部分的示意图。

N 层体系结构使 VDS 能够与文件系统函数协调、同步提供程序活动并在应用程序之间进行仲裁。 在应用程序和提供程序之间,VDS 向应用程序提供统一功能,即使某些基础提供程序可能缺乏这种一致性。

该服务实现常见功能:格式化卷、添加和删除驱动器号或装载的文件夹,以及管理未分配的磁盘(没有分区信息的磁盘)。 VDS 还会向已注册的应用程序返回事件通知。 有关详细信息,请参阅 VDS 通知

提供程序的角色

VDS 定义两个提供程序接口,一个用于软件提供程序,一个用于硬件提供程序。 每个提供程序实现 VDS 定义的 API 的不同部分:

  • 软件提供程序是存储 I/O 堆栈中内核模式驱动程序支持的基于主机的程序。 提供程序内核运行时在启动时与装载管理器交互,或者在发现时与 即插即用 (PnP) 管理器交互,以声明每个磁盘。 软件提供程序在卷、磁盘和磁盘分区上运行。

    VDS 包括两种提供程序类型。 基本软件提供程序管理基本磁盘,不提供容错绑定。 动态软件提供商管理动态磁盘,并在适用的情况下提供故障管理。 软件提供程序行为与主机上的基本磁盘和动态磁盘的行为一致。 例如,如果给定主机的操作系统支持容错动态磁盘,则 VDS 也支持主机上的此行为。

  • 硬件提供程序实现用于管理存储子系统的方法-硬件磁盘阵列或适配器卡,允许创建配置为增强性能、数据可用性或数据恢复的逻辑磁盘。 许多主要的 RAID 机箱制造商都生产了一个专为 VDS 使用而设计的硬件提供商。 服务使用者必须从制造商处获取硬件提供商和相关硬件。

    硬件提供商的功能取决于基础硬件的功能。 因此,每个制造商实现 API 的程度可能会有所不同。 例如,制造商可以包括其他方法来优化配置、监视和动态优化性能、自动执行故障管理或提供其他有益的功能。

    硬件提供商提供了多个软件提供商不可用的配置选项。 最值得注意的是 automagic 配置模型,它为每个应用程序提供基于属性的存储视图。 绑定提示(如“大部分读取”或“需要快速故障恢复”)取代了将物理存储绑定到虚拟存储的复杂性。 每个硬件提供程序根据应用程序提交的提示执行范围映射、空间分配和绑定类型选择。 有关完整的硬件提供程序说明(包括配置选项),请参阅子系统制造商提供的文档。

应用程序编程接口

应用程序可以调用 VDS 方法来查询和配置基于主机的磁盘和/或 RAID 存储。 有关 API 的概述,请参阅 VDS 对象模型

VDS 的典型应用程序可解决配置管理和监视问题,范围从专用存储管理系统到寻求更好地控制配置或故障管理的后台应用程序。 以下应用程序目前使用 VDS:

  • “磁盘管理”管理单元配置和管理由主计算机控制的磁盘。 系统管理员和最终用户可以使用此用户界面 (UI) 工具查询和配置本地 (或远程) 磁盘和卷。
  • Diskpart.exe是一个命令行实用工具,用于配置和管理磁盘、卷和分区。
  • Diskraid.exe是一个命令行实用工具,用于配置和管理硬件 RAID 子系统。 此实用工具可与 VDS 硬件提供程序随附的任何存储硬件进行交互。

虚拟磁盘服务

VDS 通知

VDS 对象模型