vinelinux6をぶっ壊しました。orz 再インストール

年末も大掃除が終わってノンビリしている時、ふと思い出したかのように新サーバーのマザボBIOSをアップデートしていた際に、不手際でvinelinux6を壊してしまいました。

思い出したくも無いことですが、臥薪嘗胆とばかりに覚え書きしたいと思います。
そう、年末にやることが終わったので、あのままボケーっとテレビを見続けていれば良かったんです。でも、せっかく時間があるからと、ずーっと放置していたBIOSのアップデートを参考ページ見ながらやっていた時のことです。やり方を間違えたことに気付いたので、フラッシュメモリの書き換えが始まる前にと、焦って激しく電源を入り切りしてしまいました。
すると、vinelinuxの起動プロセスでこんなメッセージが出てしまいました。。。

———
Checking filesysems
/**: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
            (i.e., without -a or -p options)
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):
———

言われたとおりに、パスワードを入れてマニュアル操作でfsckを動かしたのですが、永遠とFixに「y」キーを押すよう求められました。面倒なので、yキーを押しっぱなしで100回やっても終わらない。。。


vinelinux5の時は、こんな事では問題なく、何度でも再起動できていたのですが、、、。2年前、vinelinux4の時にハードディスクが逝ってしまったことがチラっと頭をよぎり、焦りは最高潮に達します。
そして、ググって出てきたのが、こちらのページの解決策。KNOPPIXは、先ほどのvinelinux4の時から使っているのですぐにイメージできました。でも、新サーバーには光ディスクドライブを付けて無いので、こちらのページを見てUSBメモリでブートできるKNOPPIX6.7を用意しました。

IMG_1909
ちなみに、KNOPPIX6.xからはUSBメモリブートできるKNOPPIXを作れるユーティリティが付いているのですが、何故か上手く使えなかったので手動で作りました。

IMG_1918
KNOPPIXの入ったUSBメモリを新サーバーに挿し、先ほど見つけた解決策の通り、「mke2fs -S /dev/sda1」とコマンドを打ち、スーパーブロックを再作成しました。

IMG_1925
ところが、、、今度は、エラーで止まりながらも出ていたブートローダーが出てこない。orz
「ブートローダーが起動しない」をググって、出てきたものを手当たり次第試しました。
grub >root(hda0,0)
grub >chainloader +1
grub >boot
とか、
grub >kernel /boot/vmlinuz root=/dev/sda2
とか、、、。
でも、全く起動しませんでした。

この時点(12月31日午前中)で、vinelinux6の復旧を諦め、blogデータの救出をすることにしました。
しかし、ここからも難儀は続きます。
まず、以前にlinkstationのファイルを救出するのに使った玄続(ハードディスクのUSB接続アダプター)で、起動しなくなったハードディスクをWindowsPCへ繋ぎました。
そして、同じく以前にPhotoRecでファイルを救出したように、linuxのハードディスクの中身をPhotoRecから漁ることを試みました。
しかし、bootパーティション以外は、ファイルが全く表示されません。この瞬間、「救出が出来ない!」と頭が真っ白になりそうでした。諦めの悪い私は、ひたすらGoogle先生で調べまくり、気になるキーワード「LVM」をどこかで見かけたのを思い出しました。「そう言えば、PhotoRecで見てたときにも、LVMと書かれていた気がする」と、早速LVMについて調べたところ、どうやらvinelinux6をインストールした時に、LVMで論理ボリュームを作ってしまったようなのです。


ここまで分かれば、あとは「LVM ファイル救出」でググるだけです。最初に思いついたのは、PhotoRecのようにデータを取り出すツールは無いかを探しました。こちらのページにいくつか情報が載っていたので試したのですが、書かれた情報の通り、どれも取り出すことができませんでした。
でも、欲しいデータがハードディスクにまだ残っていたことが分かっただけでも、モチベーションアップです。もう少し、頑張ってググり続けた結果、こちらのページに辿り着きました。
もう、言われたとおりに、ちゃんとLVMの理解から進めます(結局、理解はできてませんorz)
—————
# pvscan
# vgscan
# lvscan
# df
—————
上記4つのコマンドを試すと、確かに先生のおっしゃる通りの表示がされます。
ちなみに、vgscanをしても「VolGroup00」1つしか認識されない時は、起動用と救出対象の両HDDでそれぞれ同じボリュームグループ名が付いてしまっている状態があるそうです。どちらかのボリュームグループ名を変更すれば、大丈夫とのことでした。
# lvm vgchange -an VolGroup00" <- VGを無効化する
# lvm vgrename VolGroup00 VolNewGroup00 <- 名前を変更する
# lvm vgchange -ay VolNewGroup00" <- VGを有効化する
これで、別々のボリュームとして扱えます。

先生曰く、LVMでは、PV作って、VG作って、LVまで作らないとmountできない、とのことです。
早速、WindowsPCのUSBにKNOPPIXの入ったUSBメモリ挿し、linuxとして起動します。そして、先生のおっしゃる通りにコマンドを入れていきます。
—————–
# vgchange -ay VolNewGroup00" <- VGを有効化する
# mkdir /mnt/data
# mount /dev/VolNewGroup00/LogVol00 /mnt/data
# ls /mnt/data
—————–
おぉ~~!!やった!LVMのデータ側パーティションがマウントできました!
海底で財宝を見つけたかのように、使えそうなデータ(/html/やら/etc/にあるconfig関連やら)を、Windowsで使っているハードディスクへ移しました。
まさに、地獄から天国へ這い上がったような心境です。


あとは、救出済みのハードディスクを使って、vinelinux6を再インストールして新サーバーを復活させました。救ったデータをwordpressで表示できるようにセットアップが終わったのは、1月1日の午前6時。まさかの復旧年越しで徹夜です。
いや~、年末に余計なことをするもんじゃないと、よい教訓になりました。