0

我有一个关于 WMI 和存储空间的问题。

设置:我创建了一个存储池,其中包含一个虚拟磁盘,而虚拟磁盘又包含 3 个物理磁盘。我正在使用奇偶校验,这要求我至少有三个磁盘来创建虚拟磁盘。我在使用 VS 2012 的 Windows 8 机器上使用 C#。

问题:我将第四个磁盘插入机器并尝试使用 WMI 将其添加到虚拟磁盘。AddPhysicalDisk 方法返回“缓存过期 (40003)”错误。我仅在收到事件后才查询和检索 MSFT_VirtualDisk 的实例,这是我对其执行的第一个操作。有人能告诉我为什么会发生这个错误吗?

其他数据:我尝试使用相同的物理磁盘而不是虚拟磁盘来扩展池,这工作正常。这种方法的问题是我无法扩展虚拟磁盘以将额外的磁盘放入图片中。

4

2 回答 2

1

“两个带镜像的 1TB 硬盘”

这是一个问题,您正在创建一个镜像虚拟磁盘
创建镜像时,SSP 将使用具有 n 列的条带集跨所有物理磁盘进行条带化。“n 列”很重要的原因是,如果要向集合中添加更多磁盘,则需要匹配列数才能做到这一点。通过查看虚拟磁盘的属性来检查列数。然后使用这个小公式:

“扩展集合的最小磁盘数”= n 列 * n 数据副本

因此,如果您创建一个包含 2 个磁盘的镜像,您最终将得到 1 个列和 2 个数据副本,因此要扩展此集合,您需要提供 1*2=2 个磁盘。这就是为什么在添加第 3 个磁盘时无法将其扩展到 1.5TB,您需要添加 2 个新磁盘来扩展它。

于 2012-11-16T13:09:23.270 回答
0

您可以尝试几件事:

  • 您是否使用“AddPhysicalDisk”方法将此第 4 个物理磁盘添加到存储池?如果没有,您必须将其添加到池中。这就是 Storage Spaces 知道可以使用磁盘的方式。
  • 您是否使用“PhysicalDisksToUse”参数创建了虚拟磁盘?如果是,您仍然需要先将其添加到池中。进入池后,尝试在虚拟磁盘上使用 AddPhysicalDisk。

请注意,PhysicalDisksToUse 是一种进一步限制池内分配的方法。如果您希望虚拟磁盘自动使用所有可用存储,请在创建虚拟磁盘时省略此参数。

从错误代码(有时可以视为“未找到”)判断,您可能没有先将物理磁盘添加到池中。

于 2012-06-23T19:22:04.503 回答