treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

記憶域プール(シンプル)のHDDが故障したので交換する

Windows10の記憶域スペースで束ねて使用していたHDDの中の1台が故障してしまったので、再構成した記録です。なお、記憶域スペースは「シンプル」で構成していたので、データは復旧していません。

記憶域スペースがRAW化

以前作成した記憶域スペース<記憶域スペースを使ってみる - treedown’s Report>をバックアップデータの保管庫として使っていたのですが、ある日ボリュームがRAW化しておりアクセスできない状態となっていました。

ディスクの問題じゃないかと思い、PowerShellのコマンドレットで「Get-PhysicalDisk」からディスクの状態を確認してみました。

記憶域スペースに使っていた「WDC WD40-EFPX」の内の一台が、

OperationalStatusが「Lost Communication」、HealthStatusが「Warning」となっていることが確認できました。記憶域スペースの一台に問題が発生したと判断できそうです。

故障した記憶域スペースのドライブ

GUIからも確認してみます。「コントロールパネル」⇒「記憶域」から記憶域スペースの状態を確認できます。

画面を開くと、既存の記憶域プールが表示されるのですが、その記憶域にエラー表示がありました。

スクロールして個別のHDDを確認すると、

1台故障のため参照出来なくなっていることが分かりました。

記憶域プールは「シンプル」で構成しているため、データは全部消えています。ただしバックアップデータだけを保管していたボリュームなので、全損してもバックアップを再取得することで復旧が可能なので、パリティや双方向ミラーなどの回復性のあるボリュームにしていません。

このため、記憶域スペースは一旦削除し、故障HDD交換、再度記憶域プールを作成するという手順になります。

記憶域の削除ができない?

故障発生のため再構成が必要となったことは察することができました。そこで故障HDDを交換するために一度既存の記憶域を削除することにしました。

この画面の記憶域にある「削除」を実行しようとしたら、

このようにエラーとなってしまいました。以下エラー内容。

--------------------------------------------------------------

[Window Title]
記憶域の削除

[Main Instruction]
記憶域を削除できません

[Content]
記憶域にアクセスしているアプリケーションをすべて閉じて、もう一度やり直してください。

[Expanded Information]
記憶域の内部エラーが発生しました。
 (0x80E70002)

--------------------------------------------------------------

調べてみたところ、「0x80E70002」は記憶域自体がマウントされているから削除できない、ということじゃないかと考えられました。

記憶域スペース(&記憶域プール)の削除手順

ディスクの管理(diskmgmt.msc)から一旦RAW化したボリュームを削除することにします。

画面から、記憶域が割り当てられているドライブレターのボリュームを右クリックして「ボリュームの削除」を実行します。

ボリュームを削除すると、記憶域画面の

ここから、記憶域が削除できるようになりました。削除に再チャレンジ。

実施してみたところ、

先ほどまでの内部エラー(0x80E70002)が発生することなく、記憶域の削除が完了しました。
※HDDの名前が分かりにくかったので名前の変更でスロット番号を含めた番号にリネームしています。

「警告」と表記されている故障したHDDに「削除の準備完了」と表示が増えました。これで故障したHDDを取り除くことができます。「取り出し」をクリック。

このように故障したHDDの表示がなくなり、正常動作ディスクだけが残存する状態に画面が変わります。

ここから記憶域プールの削除を実行しました。画面上の「プールの削除」をクリック。

プールの削除から、削除対象となる記憶域プールを削除しました。特にエラーなく記憶域プールの削除が完了。

これで、Windows側からは個々の独立したディスクとして認識される状態になっています。

ディスクの管理(diskmgmt.msc)の表示が、

このように変化します。Windowsから見て記憶域という一つのボリュームでなく、接続されたHDD1台づつが認識されるようになっています。

ここでいえば、「ディスク3」が故障して認識しなくなったディスクです。

このタイミングで故障したHDDを取り外し、交換用の正常HDDと交換しました。これで故障ディスクを取り除いて、正常HDDがマウントされましたので、改めて記憶域の再作成を実施します。
※ホットスワップ非対応のケースだったり、USBドライブの場合にはHDD交換の場合、取り外し処理が必要になるのは通常使用するハードディスクドライブと同様です。今回はUSB外付けHDDなのでUSB取り外し処理で交換を実施しています。

記憶域スペース(&記憶域プール)を再作成する

HDDを交換して故障ディスクを取り除いたので、記憶域を再び再生成することにします。

コントロールパネルの記憶域画面から新たに記憶域を作成する手順で実行可能です。

交換して正常利用可能になったHDDが「未フォーマットドライブ(ディスク3)」として認識しています。※関係ないディスク、別の用途のディスクは画面からモザイクで消しています。

その他、故障していない既存のディスク3台を組み合わせて、新たな記憶域プール(シンプル)を作成します。

詳しい作成手順は以下を参照しながら実施しました。
※参考:記憶域スペースを使ってみる - treedown’s Report

記憶域フォーマット中の画面です。ここまででシンプルで構成した記憶域が作成されボリュームは以前のようにアクセス可能になりました。

あと、次回の故障時に備えて、再び記憶域内のHDD名がデフォルトに戻ってしまったため、名前の変更でスロット番号を含めた番号に再度リネームしておきました。

ここからバックアップを取得し直して復旧ですが、データが多くてなかなか終わりません。

とはいえ、ボリュームの復旧作業はこれで完了となります。

「シンプル」でいいのか?

作業中にちょっとよぎった(悩んだ)ポイントに、いままで「シンプル」で構成していた記憶域を、HDD故障でもデータ保護が可能な「パリティ」を選択したほうがいいのではないか、という点がありました。

今回の故障は4台構成の記憶域で1台の故障だったので、パリティを選択していればディスク交換で(復旧に掛かる時間は必要なものの)データ全損とはならず、データを維持したままで故障ディスク交換ができた、という点でパリティを選択しておく意味はあると言えます。

ただ、パリティにするとシンプルよりディスクの読み書き速度が低下してしまうことと、パリティを保持する分だけ使用可能なディスク容量が減ってしまう二点がトレードオフになってしまいます。

容量と読み書き速度が要求されるボリュームだったこともあり、今回は前回と同じようにシンプルで構成しましたが、容量や読み書き速度がそれほどでもないのであれば、パリティを選択するほうがいいケースもありそうでした。