如何卸载已被吸收到存储空间的 VHD

如何卸载已被吸收到存储空间的 VHD

通常在 Windows 中,您可以创建一个虚拟硬盘 (VHD),在磁盘管理中看到它,右键单击并删除它:

在此处输入图片描述

没问题。

存储空间隐藏磁盘

我想测试存储空间的弹性以及在服务器之间迁移它们的能力。将磁盘添加到存储池,它不再出现在磁盘管理。我需要从服务器上意外删除 VHD,但没有 UI 选项可以执行此操作。

如果我使用的是物理磁盘,那么断开驱动器与计算机的连接就很简单了(从而确保存储空间不会期望它,并且没有机会事先重新平衡):

在此处输入图片描述

如何拔下 vhd?

但是,一旦将磁盘添加到存储池,该磁盘就不再有任何 UI 选项。我不想使用存储空间 UI 来删除物理磁盘来自池:

在此处输入图片描述

因为:

  • 存储空间会将数据从该磁盘迁移到池中的其他磁盘(避免意外删除)
  • 存储空间会将数据从该磁盘迁移到池中的其他磁盘(这违背了将磁盘迁移到另一台服务器的测试要点)

在此处输入图片描述

我需要惊喜移除

与拔下物理硬盘的方式相同,我该如何拔下虚拟硬盘?

Microsoft 有确切的 PowerShell 命令行来断开 VHD 连接

卸载-VHD

卸载虚拟硬盘。

PS C:> Dismount-VHD –路径 c:\test\testvhdx.vhdx

不幸的是,它不起作用 - 原因相同。VHD 是“走了”“无形的”,被吸收进存储池,不再具有与其交互的能力:

PS C:\Windows\system32> Dismount-VHD –Path D:\VirtualMachines\StorageSpaceTest\StorageSpaceTest1.vhdx
Dismount-VHD : Windows cannot dismount the disk because it is not mounted.
At line:1 char:1
+ Dismount-VHD –Path D:\VirtualMachines\StorageSpaceTest\StorageSpaceTest1.vhdx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Vhd.P...mountVhdCommand:DismountVhdCommand) [Dismount-VHD], VirtualizationOperationFailedException
    + FullyQualifiedErrorId : InvalidParameter,Microsoft.Vhd.PowerShell.DismountVhdCommand

似乎一旦 VHD 被添加到存储池,就无法将其卸载。

如何卸载已添加到存储池的 VHD?

磁盘分区

命令行工具磁盘分区有一个分离虚拟磁盘的命令

DISKPART> select vdisk file="F:\Foo\Contoso37.vhd"

DiskPart successfully selected the virtual disk file.

DISKPART> detach vdisk

Virtual Disk Service error:
The virtual disk is already detached.

但它由于同样的原因失败了,.vhdx当它进入 StoragePool 时已经被“分离”了。

奖金聊天

当前的 VHDX 文件位于 中D:\...,它本身就是一个奇偶校验空间。我无法简单地关闭 PC 并简单地重命名文件。关闭服务器不仅目前不可行,而且违背了测试的初衷:让存储空间在运行时做出反应

编辑:Windows Server 2016 中也发生了同样的事情

相关内容