存储空间 Get-VirtualDisk -FriendlyName vDisk | Get-PhysicalDisk

存储空间 Get-VirtualDisk -FriendlyName vDisk | Get-PhysicalDisk

我正在使用 Server 2016 存储空间。

我已经通过 powershell 在存储池中创建了一个虚拟磁盘(FriendlyName“vDisk”),我还通过 gui 创建了另一个虚拟磁盘(FriendlyName“test”)。

我创建的虚拟磁盘显示它使用了哪些物理磁盘,但我用 powershell 创建的虚拟磁盘却没有显示。这是为什么?

Get-VirtualDisk  -FriendlyName vDisk | Get-PhysicalDisk

-什么也没显示

Get-VirtualDisk  -FriendlyName test | Get-PhysicalDisk

-显示硬盘列表

我比较了虚拟磁盘,两者都已初始化,其他设置没有不同。我更新了主机缓存、存储提供程序缓存,并更新了“vDisk”。

有人知道为什么通过

New-VirtualDisk -FriendlyName vDisk -ResiliencySettingName Mirror -PhysicalDisksToUse $disks -StoragePoolFriendlyName Pool -UseMaximumSize

没有显示其物理驱动器,就像 GUI 创建的一样?

更新:我注意到,当我不使用 New-VirtualDisk 的参数“-PhysicalDisksToUse”时,可以通过以下方式显示物理磁盘

Get-VirtualDisk -FriendlyName vDisk | Get-PhysicalDisk

答案1

我发现了自己的错误。

我最初使用一个变量来定义哪个物理磁盘应用于我的虚拟磁盘。

我只想使用 HDD,所以

$disks = Get-PhysicalDisk | ? {$_.MediaType -eq 'HDD'}

然后我想创建我的虚拟磁盘。

New-VirtualDisk -FriendlyName vDisk -ResiliencySettingName Mirror -StoragePoolFriendlyName Pool -Size 930GB -PhysicalDisksToUse $disks

我没有考虑我的第一个命令,Get-PhysicalDisk 也返回系统驱动器 - 而不仅仅是池中的磁盘!

不知何故,cmdlet“New-VirtualDisk”能够在$disks-array 中使用系统驱动器创建虚拟磁盘。 - 我认为这是不可能的

我应该将变量定义为

$disks = Get-StoragePool -FriendlyName Pool | Get-PhysicalDisk | ? {$_.MediaType -eq 'HDD'}

相关内容