以前からRAIDの代わりに記憶域プールを使っていたのですが、カメラを始めてからストレージがすごい勢いで減っていくようになりました。
特に星空タイムラプスは、今やカメラ5台で一晩中回したりするので、1回のロケで数100GB行くことも。
そこで、ストレージを大幅増強することにしました。
【従来】
C 1TBSSD システム
D 8TBHDD ドキュメント
E 8TBHDD 画像、ビデオ、音楽
F 6TBHDD×5(記憶域プール) バックアップ
【今回】
C 1TBSSD システム → そのまま
D 8TBHDD×2(記憶域プール) ドキュメント → 従来のDとE
E 6TBHDD×5(記憶域プール) 画像、ビデオ、音楽 → 従来のF
F 8TBHDD×5(記憶域プール) バックアップ → NEW
ここで、従来はいきなり、
New-VirtualDisk -StoragePoolFriendlyName "HogePool" -FriendlyName "HogeDisk" -ResiliencySettingName Simple -ProvisioningType Fixed -NumberOfColumns 4 -WriteCacheSize 0 -UseMaximumSize
としても仮想ディスクを作ってくれたのですが、記憶域プールが既に存在していると、新たな名前でいきなりNew-VirtualDisk -StoragePoolFriendlyName "NewHogePool"~とすると、「NewHogePoolなんて存在しないよ」と怒られます。
そこで、記憶域プールを先に作ってから仮想ディスクを作ることにしました。
1 バックアップ
記憶域プールを作ろうとするディスクにデータがある場合は、あらかじめバックアップしておきます。
2 パーテーションの削除
記憶域プールを作ろうとするディスクにパーテーションがある場合は削除します。
※この時点で対象ドライブの全データが消えますので注意!
Remove-Partition -DriveLetter G
3 物理ディスクのチェック
2でパーテーションを削除した場合、そのディスクは記憶域プールが作成可能になっていない可能性があるので、それを確認します。
Get-PhysicalDisk | Sort FriendlyName | ft FriendlyName, CanPool, Size -AutoSize
FriendlyName CanPool Size
------------ ------- ----
CSSD-M2M1TEG1VNE False 1000204886016
WDC WD60EZAZ-00SF3B0 False 6001175126016
WDC WD60EZAZ-00SF3B0 False 6001175126016
WDC WD60EZAZ-00ZGHB0 False 6001175126016
WDC WD60EZAZ-00ZGHB0 False 6001175126016
WDC WD60EZRX-00MVLB1 False 6001175126016
WDC WD80 EAZZ-00BKLB0 False 8001563222016
WDC WD80 EAZZ-00BKLB0 True 8001563222016
WDC WD80 EAZZ-00BKLB0 True 8001563222016
WDC WD80 EAZZ-00BKLB0 False 8001563222016
WDC WD80 EAZZ-00BKLB0 False 8001563222016
WDC WD80EFZX-68UW8N0 False 8001563222016
WDC WD80EFZX-68UW8N0 False 8001563222016
今回の対象は赤字の5本で、3本に一時的にパーテーションを作成していたので、CanPoolがFalseになっています。
4 物理ディスクのリセット
3で記憶域プール作成対象のディスクのCanPoolがFalseになっている場合はリセットします。
Reset-PhysicalDisk -FriendlyName "WDC WD80 EAZZ-00BKLB0"
実行後は3をもう1回実行し、記憶域プール作成対象のディスクのCanPoolがすべてTrueになっていることを確認します。
※今回は記憶域プール作成対象のディスクのFriendlyNameがすべて同じで、かつ他の対象外のディスクに同じFriendlyNameがないためこれでOKですが、このコマンドだと、当然同じFriendlyNameのディスク全部に働くため注意が必要です。
5 StorageSubSystemのFriendlyNameをコピー
記憶域プール作成コマンドでStorageSubSystem(PC名で自動的に決まっている?)を指定する必要があるので確認してコピーします。
Get-StorageSubSystem
FriendlyName HealthStatus OperationalStatus
------------ ------------ -----------------
Windows Storage on srv100 Healthy OK
6 物理ディスクを変数に格納
物理ディスクのオブジェクトを変数に格納します。
$PhysicalDisks = Get-PhysicalDisk -FriendlyName "WDC WD80 EAZZ-00BKLB0"
7 記憶域プールを作成
記憶域プールを作成します。
New-StoragePool -StorageSubSystemFriendlyName "Windows Storage on srv100" -FriendlyName "BACKUP" -PhysicalDisks $PhysicalDisks
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly Size AllocatedSize
------------ ----------------- ------------ ------------ ---------- ---- -------------
BACKUP OK Healthy False False 36.38 TB 1.25 GB
8 仮想ディスクの作成
仮想ディスクを作成します。
New-VirtualDisk -StoragePoolFriendlyName "BACKUP" -FriendlyName "Backup" -ResiliencySettingName Simple -ProvisioningType Fixed -NumberOfColumns 5 -WriteCacheSize 0 -UseMaximumSize
FriendlyName ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus Size FootprintOnPool StorageEfficiency
------------ --------------------- --------------------- ----------------- ------------ ---- --------------- ------------
Backup Simple 0 OK Healthy 36.38 TB 36.38 TB 100.00%
9 パーテーションの作成
ディスクの管理でパーテーションを作成します。
これで、快適な創作ライフを続けられます。
そろそろ音楽もまた再開したいですね。
ちなみに速度
Dドライブ
まぁ2本なのでこんなもんでしょう。
Eドライブ
あれ、早いね。5本5並列なので早いのは分かるんですが、バックアップで使っていた時こんなに早かったかな…
Fドライブ