記憶域プールでトラブルに見舞われたので覚書。
記憶域プールに接続しているドライブが壊れたので削除を試みる。通常であれば新たなディスクを追加して修復したのちに、壊れたディスクを削除すれば記憶域プールは正常な状態に回復する。ところが今回は削除を試みるとエラーとなって削除できない。壊れたディスクの使用済み容量が0.08%となっており、ディスクの一部が使われたままになっているようだ。
記憶域プールの細かな操作はコントロールパネルからは行うことができないのでPowerShellから操作を行う。
PS C:¥WINDOWS¥system32&> Get-PhysicalDisk FriendlyName SerialNumber CanPool OperationalStatus HealthStatus Usage Size ------------ ------------ ------- ----------------- ------------ ----- ---- ... WDC WD10 EARS-00Y5B1 USB Device 801130168383 False OK Healthy Retired 930.75 GB ...
HealthStatusが正常になっているのが気になるが、UsageはRetiredになっているので、既に使われておらず削除できるはずだ。
念のために記憶域プールの修復を実施してみる。次のようにRepair-VirtualDiskを実行してみるが変化はない。
PS C:¥WINDOWS¥system32> Get-VirtualDisk FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size ------------ --------------------- ----------------- ------------ -------------- ---- Mirror Mirror Degraded Warning False 3 TB PS C:¥WINDOWS¥system32> Repair-VirtualDisk -FriendlyName Mirror
修復は正常に終わっているにもかかわらず「回復性の低下」の警告が表示されたままになっている。
PowerShell側から物理ディスクの削除を試みることにする。
PS C:¥WINDOWS¥system32> $PDToRemove = Get-PhysicalDisk -Friendlyname "WDC WD10 EARS-00Y5B1 USB Device" PS C:¥WINDOWS¥system32> Remove-PhysicalDisk -PhysicalDisks $PDToRemove -StoragePoolFriendlyName “記憶域プール” 確認 この操作を実行しますか? Removing a physical disk will cause problems with the fault tolerance capabilities of the following storage pool: "記憶域プール". [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Remove-PhysicalDisk : One of the physical disks specified could not be removed because it is still in use. Activity ID: {8087f98d-bc35-422c-95d2-cfb5777b1637} 発生場所 行:1 文字:1 + Remove-PhysicalDisk -PhysicalDisks $PDToRemove -StoragePoolFriendlyNa ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (StorageWMI:ROOT/Microsoft/..._StorageCmdlets) [Remove-PhysicalDisk], CimE xception + FullyQualifiedErrorId : StorageWMI 51004,Remove-PhysicalDisk
“One of the physical disks specified could not be removed because it is still in use.”・・・使用中のために削除できないとのエラーになってしまう。Retiredになっているのに・・・
困ったことにこの時点で記憶域プールのファイルを見ることができなくなっていることに気が付く。ドライブレターは表示されているが、ドライブを開こうとすると長時間待たされた後にエラーとなる。管理者権限でコマンドプロンプトを開きchkdskを実行すると、4KBの不良セクターが検出され、エラーが修復されてドライブを開ける状態には回復した。壊れたディスクに残された0.05%がこのエラーの原因なのだろう。
新たに記憶域を作成し、既存の記憶域を削除するという方針を定める。現在はMirrorになっている記憶域もParityに変更したかったので、よい機会だと割り切ることにした。
PS C:¥WINDOWS¥system32> Get-VirtualDisk FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size ------------ --------------------- ----------------- ------------ -------------- ---- RAID5 Parity OK Healthy False 2.5 TB Mirror Mirror Degraded Warning False 3 TB
とりあえずアクセスできる状態にあるMirrorのドライブから、RAID5のドライブにファイルをコピーしていく。壊れたHDDのアクセスランプが時折点滅しており、まだ一部が使われている事を実感する。
Mirror側のデータを全てRAID5側に移動して、Mirrorを削除。その後、コントロールパネルの記憶域から故障したHDDの削除を実施すると、無事に削除された。
もうちょっと強力なエラーリカバリツール提供するか、せめて現状がどうなっているのか類推できるようなエラーメッセージが欲しいよね。今回なら「修復不可能な論理エラーが発生しています。データをバックアップして、記憶域ドライブを削除した後、再作成して下さい。」とか表示してくれると有難い。
「記憶域プールでトライブルに見舞われたので覚書」への1件のフィードバック