对象模型

高级对象定义

下表描述了 Windows 存储管理 API 公开的对象及其各自的定义。 它包括对 Windows 主机和存储管理提供程序(SMP)可见的对象,以及仅限主机端的对象。

Object 定义
StorageProvider 使用 SMP 通过通用管理 API 启用存储子系统(StorageSubsystem)的管理。 StorageProvider 的示例包括存储空间 SMP、非Microsoft SMP 或非Microsoft SMI-S 提供程序。
StorageSubsystem 向 Windows 公开 VirtualDisk。 StorageSubsystem 通过相应的 StorageProvider 响应管理命令。
MaskingSet 包含 VirtualDisks、TargetPorts 和 InitiatorPorts,用于批量掩码/取消掩码操作。
TargetPort 表示 StorageSubsystem 中终结点的实例,其中包含 Show/Hide(Mask/Unmask)和 MaskingSet 用法的相关属性。 TargetPorts 的示例包括 StorageSubsystems 中存在的相应控制器上的 FC、SAS 或 iSCSI 端口。
TargetPortal 基于 IP 的存储网络(如 iSCSI)使用的终结点。 它提供发起方应为其发现目标门户的 IP 地址。
物理磁盘 一个具有基本属性集的可用存储单元。 PhysicalDisk 没有任何复原能力,并且具有固定容量。 PhysicalDisk 实质上表示物理轴或等效项。
StoragePool 由 PhysicalDisks 组成。 StoragePool 是管理单元(例如多租户)和相关隔离。 支持 StoragePool 的所有存储子系统都必须公开 PrimordialPool。
VirtualDisk 与 PhysicalDisks 相比,具有扩展的属性集的可用存储单位。 扩展的属性集的示例包括复原能力、动态容量扩展或其他属性。 VirtualDisk 的示例包括 LUN 或 存储空间。 向 Windows 公开时,VirtualDisk 显示为 Windows 堆栈的其余部分的 (Windows) 磁盘。
(Windows)磁盘 可用存储的 Windows 中的表示形式。 磁盘从 PhysicalDisk 或 VirtualDisk 实例化。 PhysicalDisk 的示例是通过 USB 电缆直接连接到 Windows 的 USB 磁盘。 VirtualDisk 的示例包括未屏蔽到特定 Windows 实例的 EMC LUN,或 Windows 实例上激活的新存储空间。
分区 (Windows) 磁盘上的 Windows 分区。
体积 (Windows) 分区上的卷。
InitiatorPort 表示 Windows 主机中发起程序终结点的实例。 此主机端仅对象对 SMP 不可见。 它是表示独立于连接类型的端口的公用对象。 例如,InitiatorPort 的一个实例可能表示 SAS HBA 上的 SAS 端口,而另一个实例可能表示 iSCSI 发起程序。
InitiatorId 表示 InitiatorPort 的唯一标识符。 它是 InitiatorPort 的数组端表示形式,由 SMP 管理。 它表示的 InitiatorPort 不需要在正在使用 InitiatorId 的计算机上实例化。 此对象与 TargetPort 一起使用,以建立允许哪个发起程序端口通过 MaskingSet 操作访问 TargetPort 的 VirtualDisk。
ResiliencySetting 介绍特定 StoragePool 支持的虚拟磁盘冗余功能。 在原始池中,这些设置表示 StorageSubsystem 支持的功能。 支持的功能示例包括复原模式(例如 RAID 类型)或其他模式。
OffloadDataTransferSetting 描述存储子系统的卸载数据传输(ODX)设置。

Windows 存储管理对象模型

下图说明了 Windows 存储管理 API 公开的主要对象之间的关系。

Windows 存储管理对象模型

VDS 和 SMP 对象之间的映射

下表说明了 VDS(虚拟磁盘服务)硬件对象与 SMP 对象之间的映射。

VDS 对象名称 SMP 对象名称
提供程序 StorageProvider
SubSystem StorageSubsystem
StoragePool StoragePool
VDS_RAID_TYPE ResiliencySetting
驱动器 物理磁盘
LUN VirtualDisk
Controller/ControllerPort TargetPort
-- TargetPortal
HBAPort InitiatorPort (仅主机端实体)
-- InitatorPort (InitiatorPort 的数组端表示形式)
-- MaskingSet
IVdsAsync StorageJob
-- OffloadDataTransferSetting