web-dev-qa-db-ja.com

Windows 10と階層化のストレージスペース

私はWindows 10(それが重要な場合はプロ)デスクトップに多数のディスクを持っており、ストレージスペースをいじっています。ユースケースに合わせてストレージボリュームを構成する方法についてアドバイスをお願いします。私はWindows 10のUIが制限されていることを知っていますが、Powershellから階層化機能を利用できるようです。収納スペースのドキュメントを読んで機能を解き明かすのはうれしいですが、私の戦略がしっかりしている場合は、いくつかの入力をお願いします。

これが私が現在持っているものです:

  • 2x256GB SSD-未割り当て、古いRAID0ブート+アプリボリュームでした
  • 1x5TB HDD-メディア+ゲーム+アプリ(このドライブを廃止したい)
  • 1x8TB HDD-メディア+ドキュメント+写真
  • 2x8TB HDD-新しい未使用ディスク
  • CPU:Z97チップセットmobo上のi7 4790k、時が来たらRyzen3にアップグレードする
  • 私の起動ドライブは512GB NVMeディスクです

上記のドライブから2つのボリュームを構築したいと思います。理想的にはこれが私が望むものです:

  • ゲーム+スクラッチボリューム:256GBストライプSSD層+ 3TBストライプHDD層
  • メディア+ドキュメント+写真のボリューム:256 GBミラーSSD層+ 14 TB「パリティ」HDD層

ゲームとスクラッチボリュームのすべては、データを再ダウンロードするだけで失う可能性があります。たとえば、VM 'memory'ファイル、プレックスデータベースなどをスクラッチディスクに置きます。機密性の高いものはすべて、他のボリュームにバックアップします。

メディア+ドキュメント+写真ボリュームに少なくとも1つのドライブの冗長性が必要です。ドキュメントと写真をオフサイトでバックアップしています。ドライブを紛失した場合でも、これで頭痛が軽減されます。

このセットアップは妥当なように見えますか、それはWindows 10 proマシンで達成できるものですか?

過去のバージョンのWindowsでは、記憶域スペースの「パリティ」プールのパフォーマンスが非常に低いことも読んだことがあります。これはまだ本当ですか? 4つのHDDのうち2つが使用されているため、パリティ構成の実際のテストを実行できませんでした。以前に誰かがこれを行った経験がある場合に備えて、私はここで尋ねると思った。

他にどのようなソリューションを検討する必要がありますか?

3
KZ.

Windows 10の階層型ストレージスペースを作成するには、次のリファレンスを参照してください。

ここでは、Nils SchimmelmannのPowerShellスクリプトを再現して、SSDとHDD用の2層のストレージスペースを作成します。

#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
4
harrymc

次の例は、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

2
A.Newgate

@harrymcの答えは私にはうまくいきませんでした。

両方のサイズを少し減らす必要がありました(ここでは「除数」の係数による)。

また、ティアがResiliencyを「Mirror」と報告しているのを確認したので、それらも「Simple」に設定しましたが、それが必要かどうかはわかりません。

#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
0