我在带有 Windows Server Datacenter 2012 的 Hyper-V 上安装了文件服务器。我在 Hyper-V 会话中创建了一个存储池。
当我重新启动主机时,服务器 Hyper-V 会话处于已保存状态。我注意到主机用黄色三角形拾取了存储池。我尝试了在线找到的以下命令组合。运行命令后,三角形消失,但我仍然无法启动 Hyper-V。
为了启动 Hyper-V,我必须从主机中删除存储池并将 HDD 置于离线模式。现在 HyperV 可以启动,但如果我仅启动 HyperV,则一切正常。当我重新启动主机时,StoragePool 消失了。
Set-StoragePool -FriendlyName NAS | -IsReadOnly $False
Get-StoragePool -FriendlyName NAS | Get-VirtualDisk | Set-VirtualDisk -IsManualAttach $False -Access:ReadWrite
Get-StoragePool -FriendlyName NAS | Get-VirtualDisk | Connect-VirtualDisk
Get-Volume
Get-VirtualDisk
Set-VirtualDisk -FriendlyName NAS -IsManualAttach $False
Get-VirtualDisk | Where-Object {$_.IsManualAttach -eq $True}
Get-VirtualDisk | Where-Object {$_.IsManualAttach -eq $True} | Set-VirtualDisk -IsManualAttach $False
答案1
存储空间仅支持物理硬件。如果您尝试将磁盘传递到虚拟机,您将看到主机在每次重新启动时识别外部存储池,正如您所描述的那样。
您应该在主机上运行存储池,而不是在客户机上运行存储池。然后将固定大小的 VHDX 放在存储池中的虚拟磁盘上。然后将该 VHDX 附加到 VM。您将看到与所希望的相同的行为,但它实际上会起作用。
大多数和你做同样事情的人都说他们尝试这种方式的原因是它的性能会更好。除非你通过系统运行数十万 IOPS,否则它不会有更好的性能。如果你这样做,只需创建多个 VHDX。
最后,您应该更改虚拟机上的默认设置,以便它在主机关闭时干净地关闭,并在主机重新启动时重新启动。只要您运行的是较新的客户操作系统,这将比保存客户操作系统更快、更干净。