Windows 10 上的儲存空間與分層

Windows 10 上的儲存空間與分層

我的 Windows 10(專業版,如果有的話)桌面上有許多磁碟,並且一直在考慮儲存空間。我想要一些有關如何為我的用例配置儲存卷的建議。我知道 Windows 10 UI 是有限的,但看來您可以從 Powershell 取得分層功能。我很高興閱讀儲存空間的文檔並嘗試解開該功能,但如果我的策略合理,我希望得到一些意見。

這是我目前擁有的:

  • 2x256GB SSD - 未分配,是我的舊 RAID0 boot+apps 卷
  • 1x5TB HDD - 媒體+遊戲+應用程式(我想廢棄該驅動器)
  • 1x8TB HDD - 媒體+文件+照片
  • 2x8TB HDD - 新的未使用磁碟
  • CPU:i7 4790k,Z97晶片組主機板,可能會升級到Ryzen3
  • 我的啟動磁碟機是 512GB NVMe 磁碟

我想用上面的驅動器構建兩個卷。理想情況下,這就是我想要的:

  • 遊戲+刮刮卡容量:256GB 條帶 SSD 層 + 3TB 條帶 HDD 層
  • 媒體+文件+照片磁碟區:256GB 鏡像 SSD 層 + 14TB「奇偶」HDD 層

我可以承受失去遊戲+刮刮卷中的所有內容,因為我可以重新下載資料。例如,我會將虛擬機器「記憶體」檔案、plex 資料庫等放在暫存碟上。任何敏感的內容我都會備份到另一個卷。

我希望媒體+文件+照片卷上至少有一個驅動器冗餘。我已在異地備份了我的文件+照片。所以如果我失去了一個驅動器,這只是讓我免去一些頭痛。

這個設定看起來合理嗎?

我還了解到,在過去版本的 Windows 中,儲存空間的「奇偶校驗」池效能非常差。這是仍然真的?我無法對奇偶校驗配置進行真正的測試,因為我的 4 個 HDD 中有 2 個已被使用。我想我會在這裡問是否有人以前有過這樣做的經驗。

我還應該研究哪些其他解決方案?

答案1

若要建立 Windows 10 分層儲存空間,請參閱下列參考資料:

我在這裡重現 Nils Schimmelmann 的 PowerShell 腳本,用於為 SSD 和 HDD 建立兩層儲存空間:

#Variables
$StoragePoolName = "My Storage Pool"
$TieredSpaceName = "My Tiered Space"
$ResiliencySetting = "Simple"
$SSDTierName = "SSDTier"
$HDDTierName = "HDDTier"

#List all disks that can be pooled and output in table format (format-table)
Get-PhysicalDisk -CanPool $True | ft FriendlyName,OperationalStatus,Size,MediaType

#Store all physical disks that can be pooled into a variable, $PhysicalDisks
$PhysicalDisks = (Get-PhysicalDisk -CanPool $True | Where MediaType -NE UnSpecified)       

#Create a new Storage Pool using the disks in variable $PhysicalDisks with a name of My Storage Pool
$SubSysName = (Get-StorageSubSystem).FriendlyName
New-StoragePool -PhysicalDisks $PhysicalDisks -StorageSubSystemFriendlyName $SubSysName -FriendlyName $StoragePoolName

#View the disks in the Storage Pool just created
Get-StoragePool -FriendlyName $StoragePoolName | Get-PhysicalDisk | Select FriendlyName, MediaType

#Create two tiers in the Storage Pool created. One for SSD disks and one for HDD disks
$SSDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $SSDTierName -MediaType SSD
$HDDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $HDDTierName -MediaType HDD

#Identify tier sizes within this storage pool
$SSDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $SSDTierName -ResiliencySettingName $ResiliencySetting).TierSizeMax
$HDDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $HDDTierName -ResiliencySettingName $ResiliencySetting).TierSizeMax 

#Create a new virtual disk in the pool with a name of TieredSpace using the SSD and HDD tiers
New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers $SSDTier, $HDDTier -StorageTierSizes $SSDTierSizes, $HDDTierSizes -ResiliencySettingName $ResiliencySetting  -AutoWriteCacheSize -AutoNumberOfColumns

#Alternatively try adjusting the sizes manually:
#New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers @($SSDTier,$HDDTier) -StorageTierSizes @(228GB,1.816TB) -ResiliencySettingName $ResiliencySetting -AutoWriteCacheSize -AutoNumberOfColumns

答案2

以下範例顯示如何建立多彈性磁碟區,其中對 SSD 圖層進行鏡像,並在奇偶校驗中配置 HDD 圖層。

New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName SSD_Tier -MediaType SSD -ResiliencySettingName Mirror
New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName HDD_Tier -MediaType HDD -ResiliencySettingName Parity
$ssd_tier = Get-StorageTier -FriendlyName SSD_Tier
$hdd_tier = Get-StorageTier -FriendlyName HDD_Tier
New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName "VirtualDisk" -StorageTiers @($ssd_tier,$hdd_tier) -StorageTierSizes 100GB, 300GB

來源:https://www.starwindsoftware.com/blog/configure-a-resilient-volume-on-windows-server-2016-using-storage-spaces

答案3

@harrymc 的答案對我來說並沒有用。

我必須將兩個尺寸都減小一點(這裡是“除數”的一個因子)

另外,我看到各層將彈性報告為“鏡像”,因此我也將它們設置為“簡單”,但我不確定這是否有必要。

#Variables
$StoragePoolName = "MyPool"
$TieredSpaceName = "MySpace"
$ResiliencySetting = "Simple"
$SSDTierName = "SSDTier"
$HDDTierName = "HDDTier"

#List all disks that can be pooled and output in table format (format-table)
Get-PhysicalDisk -CanPool $True | ft FriendlyName,OperationalStatus,Size,MediaType

#Store all physical disks that can be pooled into a variable, $PhysicalDisks
$PhysicalDisks = (Get-PhysicalDisk -CanPool $True | Where MediaType -NE UnSpecified)       

#Create a new Storage Pool using the disks in variable $PhysicalDisks with a name of My Storage Pool
$SubSysName = (Get-StorageSubSystem).FriendlyName
New-StoragePool -PhysicalDisks $PhysicalDisks -StorageSubSystemFriendlyName $SubSysName -FriendlyName $StoragePoolName

#View the disks in the Storage Pool just created
Get-StoragePool -FriendlyName $StoragePoolName | Get-PhysicalDisk | Select FriendlyName, MediaType

#Create two tiers in the Storage Pool created. One for SSD disks and one for HDD disks
$SSDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $SSDTierName -MediaType SSD -ResiliencySettingName $ResiliencySetting
$HDDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $HDDTierName -MediaType HDD -ResiliencySettingName $ResiliencySetting

#Identify tier sizes within this storage pool
$SSDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $SSDTierName -ResiliencySettingName $ResiliencySetting)
$HDDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $HDDTierName -ResiliencySettingName $ResiliencySetting)

#Create a new virtual disk in the pool with a name of TieredSpace using the SSD and HDD tiers
New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers $SSDTier, $HDDTier -StorageTierSizes @(($SSDTierSizes.TierSizeMax - $SSDTierSizes.TierSizeDivisor * 8), ($HDDTierSizes.TierSizeMax - $HDDTierSizes.TierSizeDivisor * 10)) -ResiliencySettingName $ResiliencySetting  -AutoWriteCacheSize -AutoNumberOfColumns

答案4

RAID 冗餘可以幫助解決驅動器故障,但如果勒索軟體病毒加密您的文件,或者(不太可能)電源發生災難性故障(可能會損壞所有與其連接的硬碟),則無濟於事。我的方法是在抽屜中離線保存完整的硬碟集副本,每兩個月更新一次並將其與工作集交換。這樣就可以分配使用時間。關鍵資料有額外的備份。為了快速同步,我使用 Total Commander。此外,所有內容的完整 MD5 文字檔案對於檢測可能的損壞很有用。一個非常有用的冗餘文件生成器添加到備份以在損壞或刪除的情況下進行恢復是:http://www.ice-graphics.com/ICEECC/IndexE.html

相關內容