Windows 存储空间,我可以跨 3 个磁盘进行条带化,然后在顶部镜像到第 4 个磁盘吗?

Windows 存储空间,我可以跨 3 个磁盘进行条带化,然后在顶部镜像到第 4 个磁盘吗?

我有 4 个 HDD 驱动器,并希望通过 1 级弹性来最大化读取性能。

为此,我想问一下我是否可以使用存储空间中的 4 个驱动器中的 3 个并创建一个具有 3 列的简单虚拟磁盘,本质上是跨 3 个磁盘进行条带化,然后在其上在此简单卷和第 4 个磁盘之间创建镜像?更重要的是,我可以在 PowerShell 中指定设置以从简单卷条带执行读取,以最大化读取性能吗?

我仔细研究过,但目前还没有在 Windows 中找到任何解决方案,允许在所有 4 个磁盘上创建镜像,然后像 Raid 0 条带一样在所有镜像上执行并行读取。FlexRaid 和 DrivePool 接近所需的设置,但它们在执行文件传输时跨镜像的读取与宣传的性能不符。

有什么想法或解决方案吗?请注意,我很高兴最终得到一个磁盘大小的总容量。这个问题涉及在实现单个磁盘故障弹性的约束下,使用 4 个 HDD 驱动器最大化读取性能。

答案1

A)

对于要创建的具有 1 个磁盘故障弹性的 4 HDD 存储空间(在存储空间中术语4列单奇偶校验虚拟磁盘。

# Init
$storageSubSystem = Get-StorageSubSystem
$poolName = "POOL"
$poolDisks = Get-PhysicalDisk -CanPool $true | Where-Object {$_.MediaType -eq "HDD"}
$spaceName = "MyStorage"
$spaceSize = 1TB

# Create pool
$pool = New-StoragePool -FriendlyName $poolName -StorageSubSystemID $storageSubSystem.UniqueId -PhysicalDisks $poolDisks

# Create storage space
$spaceDisk = New-VirtualDisk -FriendlyName $spaceName -StoragePoolFriendlyName $poolName -NumberOfColumns 4 -NumberOfDataCopies 2 -ResiliencySettingName Parity -ProvisioningType Thin -Size $spaceSize
# or possibly
#$spaceDisk = New-VirtualDisk -FriendlyName $spaceName -StoragePoolFriendlyName $poolName -NumberOfColumns 4 -PhysicalDiskRedundancy 1 -ResiliencySettingName Parity -ProvisioningType Thin -Size $spaceSize

(我没有测试过,但你应该明白)

B)

但是在第二段中你明确要求3 列简单/无弹性虚拟磁盘用于双向镜使用另一个物理驱动器。

这是不可能的,因为虚拟磁盘无法池。我没有说明这一点的文档链接,但我确实依赖:

C)

但你问的是想法——如果你创建了 3 个磁盘会怎么样跨越甚至有条纹的 动态的然后把它放在普通的双向镜。如果运气好的话,动态音量可以显示在 中Get-PhysicalDisk -CanPool $true,那就太好了(见我的基准)。但这可能毫无意义,而且我也没有空闲的磁盘可以尝试。


更重要的是,我可以在 PowerShell 中指定设置以从简单卷条带执行读取,从而最大限度地提高读取性能吗?

我不知道有任何选项可以优先考虑读取访问。存储层(新存储层)无法使用。我想你可以考虑将一个磁盘配置为杂志,即Set-PhysicalDisk -Usage Journal。我怀疑它能否按您想要的方式使用。

答案2

我有 4 个 HDD 驱动器,并希望通过 1 级弹性来最大化读取性能。

您可以部署 MSFT 的 RAID10 等效物。请查看哪些列与冗余和性能有关。

https://social.technet.microsoft.com/wiki/contents/articles/11382.storage-spaces-frequently-asked-questions-faq.aspx#What_are_columns_and_how_does_Storage_Spaces_decide_how_many_to_use

相关内容