关于 VDS

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

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

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

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

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

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

服务体系结构

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

Diagram that shows the service architecture broken into 'Applications', 'Virtual Disk Service', and 'VDS providers' sections.

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

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

提供程序的角色

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

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

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

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

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

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

应用程序编程接口

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

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

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

虚拟磁盘服务

VDS 通知

VDS 对象模型