MSFT_StorageSubSystem 类的 CreateVirtualDisk 方法

创建新的虚拟磁盘。

语法

UInt32 CreateVirtualDisk(
  [in]      String              FriendlyName,
  [in]      UInt16              Usage,
  [in]      String              OtherUsageDescription,
  [in, out] UInt64              Size,
  [in]      Boolean             UseMaximumSize,
  [in]      UInt16              NumberOfDataCopies,
  [in]      UInt16              PhysicalDiskRedundancy,
  [in]      UInt16              NumberOfColumns,
  [in]      UInt64              Interleave,
  [in]      UInt16              ParityLayout,
  [in]      Boolean             RequestNoSinglePointOfFailure,
  [in]      Boolean             IsEnclosureAware,
  [in]      UInt16              ProvisioningType,
  [in]      Boolean             RunAsJob,
  [out]     String              CreatedVirtualDisk,
  [out]     MSFT_StorageJob REF CreatedStorageJob,
  [out]     String              ExtendedStatus
);

参数

FriendlyName [in]

虚拟磁盘的友好名称。

友好名称应具有描述性,但不需要唯一。 请注意,某些存储子系统不允许在创建虚拟磁盘期间设置友好名称。 如果子系统不支持此操作,虚拟磁盘创建仍应成功,但磁盘可能分配了不同的名称。

此参数是必需的,不能为 NULL

用法 [in]

指定虚拟磁盘的预期用途。

可以指定预定义的说明或自定义说明。 若要指定预定义的说明,请使用 其他以外的值

若要指定自定义说明,请使用 Other 并为 OtherUsageDescription 参数指定非 NULL 值。

其他 (1)

无限制 (2)

保留给 ComputerSystem (块服务器) (3)

由复制服务保留 (4)

由迁移服务保留 (5)

本地副本源 (6)

远程副本源 (7)

本地副本目标 (8)

远程副本目标 (9)

本地副本源或目标 (10)

远程副本源或目标 (11)

增量副本目标 (12)

元素组件 (13)

保留为池参与者 (14)

复合卷成员 (15)

复合 VirtualDisk 成员 (16)

保留用于 17) (

OtherUsageDescription [in]

新虚拟磁盘的供应商特定使用情况。 仅当 Usage 参数设置为 Other 时,才能指定此参数。

大小 [in, out]

虚拟磁盘的所需大小(以字节为单位)。 请注意,某些存储子系统会将大小向上舍入或向下舍入到其分配单元大小的倍数。

仅当 UseMaximumSize 参数为 FALSENULL 时,存储子系统才使用此参数。

如果 UseMaximumSize 参数为 TRUE,则忽略此参数。

此参数是必需的,不能为零。

UseMaximumSize [in]

如果 为 TRUE,请使用可用的最大大小来创建虚拟磁盘。

此参数不能与 Size 参数一起使用。

NumberOfDataCopies [in]

要为此虚拟磁盘维护的完整数据副本数。

PhysicalDiskRedundancy [in]

虚拟磁盘在发生数据丢失之前应能够承受的物理磁盘故障数。

NumberOfColumns [in]

应对其数据进行条带化的基础物理磁盘的数量。 此参数是必需的。

交错 [in]

在基于常见条带化的复原设置中,条带应包含的字节数。 条带定义为位于一个物理磁盘上的条带部分的大小。 因此 ,Interleave * NumberOfColumns 将产生一个条带的大小。 此参数是必需的。

ParityLayout [in]

如果需要基于奇偶校验的复原设置,请将此参数设置为以下值之一。

如果所需的复原设置不是基于奇偶校验的,则此属性必须为 NULL

非旋转奇偶校验 (1)

旋转奇偶校验 (2)

RequestNoSinglePointOfFailure [in]

设置为 TRUE 可请求无单一故障点。

IsEnclosureAware [in]

此虚拟磁盘的分配行为。 机箱感知虚拟磁盘将智能地选取用于冗余的物理磁盘。 如果 为 TRUE,虚拟磁盘将尝试使用不同机箱中的物理磁盘来平衡两个或多个物理机箱之间的容错能力。

ProvisioningType [in]

虚拟磁盘的预配类型。

(1)

修复了 (2)

RunAsJob [in]

如果 为 TRUE,则此方法在请求需要很长时间才能提供服务时使用 CreatedStorageJob 参数。 如果已创建存储作业来跟踪操作,则此方法将返回 “方法参数已检查 - 作业已启动”。

注意

即使 RunAsJobTRUE,此方法在足够时间内完成时仍可返回结果。

如果 为 FALSENULL,此方法将遵循由客户端的调用方法确定的默认 WMI 异步行为。 换句话说,除非另有请求,否则它是同步的。

CreatedVirtualDisk [out]

如果成功创建虚拟磁盘,此参数将接收包含嵌入 MSFT_VirtualDisk 对象的字符串。

CreatedStorageJob [out]

如果 RunAsJob 设置为 TRUE ,并且此方法需要很长时间才能执行,则此参数将接收对用于跟踪长时间运行的操作的存储作业对象的引用。

ExtendedStatus [out]

包含嵌入 MSFT_StorageExtendedStatus 对象的字符串。

此参数允许存储提供程序返回特定于实现的扩展 () 错误信息。

返回值

成功 (0)

不支持 (1)

未指定的错误 (2)

超时 (3)

失败 (4)

参数 (5) 无效

已检查方法参数 - 作业 启动 (4096)

不支持大小 (4097)

40000) (可用空间不足

访问被拒绝 (40001)

没有足够的资源来完成操作。 (40002)

缓存过期 (40003)

必须使用 Size 或 UseMaximumSize 参数指定大小。 一次只能指定其中一个参数。 (40005)

无法连接到存储提供程序。 (46000)

存储提供程序无法连接到存储子系统。 (46001)

找不到可支持此虚拟磁盘配置的存储池。 (47000)

不支持 NoSinglePointOfFailure 的值。 (49001)

PhysicalDiskRedundancy 的值超出了支持的值范围。 (49002)

NumberOfDataCopies 的值超出了支持的值范围。 (49003)

ParityLayout 的值超出了支持的值范围。 (49004)

Interleave 的值超出了支持的值范围。 (49005)

NumberOfColumns 的值超出了支持的值范围。 (49006)

注解

当以下情况之一为 true 时,通常使用此方法:

  • 存储子系统的存储池不允许直接创建虚拟磁盘。
  • 存储子系统不支持存储池。

存储管理提供程序还可以选择实现此方法,以“智能”方式为用户选取存储池。 如果支持此方法,则子系统的 SupportsAutomaticStoragePoolSelection 属性应设置为 TRUE

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
命名空间 Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

另请参阅

MSFT_StorageSubSystem