記憶域プールでトライブルに見舞われたので覚書

記憶域プールでトラブルに見舞われたので覚書。

記憶域プールに接続しているドライブが壊れたので削除を試みる。通常であれば新たなディスクを追加して修復したのちに、壊れたディスクを削除すれば記憶域プールは正常な状態に回復する。ところが今回は削除を試みるとエラーとなって削除できない。壊れたディスクの使用済み容量が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件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です