いよいよHyper-V保存用HDDがおかしくなってきた
HDDが読み取り専用に。。。。でHyper-Vの仮想HDDを保存してるHDDが読み取り専用になってしまうことを書きましたが、どうやらさらにおかしくなってきたようです。(先月初旬の出来事なんで、かすかな記憶頼りに書いてます)
異常に気付いたのは Hyper-V 上 CentOS のwebサーバにアクセスできなくなってからでした。
SSHからもリモート接続できません。
Hyper-V のコンソールから見てみると、CentOS の XWindow も死んでます。
起動時の状態をみてると、システムロガーの起動で長時間かかり結局失敗し、XWindowが落ちるような傾向でした。
この時点ではCentOS上の仮想HDDがおかしくなったんだろうと判断したんで、 e2fsck や fsck.ext3 コマンドでディスクチェックを試みます。
いやーなメッセージ出たんで、KNOOPIX から問題のHDDをマウントしてチェックとスーパーブロックの修復を試みてみました。
こん時参考にしたのは下記記事です。
しかしどうにも問題解決できません。
そこで、気がつきました。
CentOSで使ってた仮想HDDが LVM で構成していたことです。
ということで、LVMパーティションの復旧 - hide-k.net#blogを参考にしたら、無事に KNOOPIX からマウントできました。
が、やはり書き込みができません。
ここでよーやく仮想HDDを保存してる物理ディスクがまた問題を起こしていることを疑いました。
MMCの"ディスクの管理"で見たときは読み取り専用になってなかったんですが、メニューバーの"操作"→"最新の情報に更新"をすると、やっぱり読み取り専用になってます!
どうやらオフライン、オンラインのタイミングに関係なく勝手に読み取り専用になるようになってしまったようです。
で、この問題についてググっていると、phantasmagoria: Windows7 オフライン化で「異形式」?という記事を見つけました。
ここで、diskpart というコマンドが紹介されています。このコマンドは今回初めて知りました。
このコマンドを使うと、CUIでディスクに関する様々な操作ができます。
で、まず問題となっているディスクの詳細情報を見てみました。
"list disk" で接続されているHDDを表示し、"select disk ディスクNO" でディスクを選択します。
で、"detail disk"で詳細情報を見ます。
こんな感じでした。
DISKPART> detail disk
SAMSUNG SV1204H SCSI Disk Device
ディスク ID: E5F21B3B
種類 : RAID
バス : 0
ターゲット : 1
LUN ID : 0
読み取り専用 : はい
ブート ディスク : いいえ
ページ ファイル ディスク : いいえ
休止状態ファイル ディスク : いいえ
クラッシュ ダンプ ディスク : いいえ
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 4 E HyperV NTFS Partition 112 GB 正常
やはり読み取り専用となっています。
この後愚かなことに "clean" を実行してしまったのです。
これをすると、ディスクのパーティション情報が消去されてしまします。
一瞬パニクりましたが、以前にパーティション操作ツールで似たような失敗をした経験があるので、そんときにつかったツールTestDiskを使ってパーティション情報復旧作業を行いました。
TestDisk を使うと簡単にMBRのパーティション情報を復元できます。
使い方は【TestDisk】についてを参考に。。。
これで何とか復元し、仮想HDDファイルを健康なディスクにコピーしひと段落つきました。
やはり、不要にコマンドたたくのは危険です。。。
結局問題となった SAMSUNG SV1204H のディスクは封印して使わないことに。。。
ただ、健康なディスクは容量が少ないですし、メインPCのほうも容量不足が深刻化してたんで、新しいHDDを購入することとしました。
買ったのはSeagate ST31500541AS (1.5TB 5900rpm SATA3.0Gb/s 32MB)です。
消費電力半減モデルで5900rpmなんで、転送速度を心配しましたが、500GBプラッタの力はさすがでした。
このHDDのレビューはまた後日。。。