記憶域プールのディスクをシリアルナンバーで操作する
記憶域プールをPowershellのコマンドレットで操作するとき、前回Setコマンドでシリアルナンバーが使えない事を載せていましたが、解決したのでメモしておきます。
そもそもなぜ必要?
記憶域プールのディスクを入れ替える時に行う基本動作として
- プールに新しいディスクを追加する
- 取り外し対象のディスクのUsageをretiredにする
- 記憶域の修復をする
- 取り外し対象のディスクをリセットする
といった作業が必要です。2 の動作で-FriendlyNameを使ってディスクを指定することが可能ですが、同一モデルのHDDを使用したときに問題が生じます。(具体的には、同じFriendlyNameはすべてretiredになります)
シリアルナンバーを使用する方法
いたってシンプルでした。パイプで書けば解決します。
PS> Get-PhysicalDisk -SerialNumber WD-WCC7K0YYE059 | Set-physicaldisk -usage retired
これを実行すると、
DeviceId FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size
-------- ------------ ------------ --------- ------- ----------------- ------------ ----- ---
1 WDC WD40EZRZ-22GXCB0 WD-WCC7K4FZ5430 HDD False OK Healthy Auto-Select TB
0 WDC WD40EZRZ-22GXCB0 WD-WCC7K0YYE059 HDD False OK Healthy Retired TB
1 WDC WD40EZRZ-22GXCB0 WD-WCC7K4FZ5430 HDD False OK Healthy Auto-Select TB
0 WDC WD40EZRZ-22GXCB0 WD-WCC7K0YYE059 HDD False OK Healthy Retired TB
ちゃんと指定のシリアルナンバーだけretiredに出来ました。