Windows 儲存空間,我可以跨 3 個磁碟條帶化並在頂部鏡像到第 4 個磁碟嗎?
我有 4 個 HDD 驅動器,並希望通過 1 級彈性最大限度地提高讀取性能。
為此,我想問一下我是否可以使用儲存空間中 4 個驅動器中的 3 個並創建一個具有 3 列的簡單虛擬磁碟,基本上跨 3 個磁碟條帶化,然後在此簡單捲和第四盤?更重要的是,我是否可以在 PowerShell 中指定設置以從 Simple Volume Stripe 執行讀取,以最大限度地提高讀取性能?
我看起來非常努力,但到目前為止還沒有在 Windows 中找到任何解決方案,它允許在所有 4 個磁碟上創建鏡像,然後在所有鏡像上執行類似於 Raid 0 條帶的並行讀取。FlexRaid 和 DrivePool 接近於所需的設置,但它們在執行文件傳輸時跨鏡像讀取與宣傳的性能不匹配。
有什麼想法或解決方案嗎?請注意,我很高興最終獲得單個磁碟大小的總容量。這個問題涉及在限制條件下使用 4 個 HDD 驅動器最大限度地提高讀取性能,以實現單個磁碟故障的恢復能力。
一種)
對於 4 個 HDD 儲存空間和 1 個磁碟故障恢復能力,您要創建(在儲存空間術語中)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 列簡單/無彈性虛擬磁碟用於與另一個物理驅動器的雙向鏡像。
這是不可能的,因為虛擬磁槃無法池化。我沒有說明這一點的文件連結,但我確實依賴:
- 我自己的經歷
- 事實上,New-StoragePool只有
-PhysicalDisks
論據而不是-VirtualDisks
或只是-Disks
例如- Get-PhysicalDisk有
-CanPool
屬性,而Get -VirtualDisk沒有C)
但是你問了一些想法——如果你創建 3 個磁碟跨越甚至條帶化的 動態卷,然後將它放在普通的雙向鏡像中。運氣好的話,動態音量可能會顯示在 中
Get-PhysicalDisk -CanPool $true
,那會很整潔(請參閱我的基準)。雖然可能毫無意義,而且我沒有可用的磁碟嘗試。更重要的是,我是否可以在 PowerShell 中指定設置以從 Simple Volume Stripe 執行讀取以最大化讀取性能?
我不知道任何優先考慮讀取訪問的選項。無法使用儲存層 ( New-StorageTier )。我想您可以考慮將一個磁碟配置為Journal,即
[Set-PhysicalDisk](https://docs.microsoft.com/en-us/powershell/module/storage/set-physicaldisk) -Usage Journal
. 我懷疑它可以按照您想要的方式使用。