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

Mat*_*att 6 raid storage-spaces

我有 4 个 HDD 驱动器,并希望通过 1 级弹性最大限度地提高读取性能。

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

我看起来很努力,但到目前为止还没有在 Windows 中找到任何允许在所有 4 个磁盘上创建镜像然后跨所有镜像执行并行读取的解决方案,类似于 Raid 0 条带。FlexRaid 和 DrivePool 接近于所需的设置,但它们在执行文件传输时跨镜像的读取与宣传的性能不匹配。

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

Bar*_*958 7

我有 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


小智 0

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

(我没有测试,但你明白了)

二)

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

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

C)

但您询问想法 - 如果您创建 3 个磁盘跨区甚至条带 动态卷,然后将其放入普通双向镜像中,会怎样。如果运气好的话,动态音量可以显示在 中Get-PhysicalDisk -CanPool $true,那就太好了(请参阅我的基准测试)。但可能毫无意义,而且我没有可用的磁盘来尝试。


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

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