ルートファイルシステムを復旧させたいのにfsckが上手く使えない
vagrant + virtualboxを使い、CentOS6.7をゲストOSとして起動させ、それを環境としてシステム開発をしています。(デプロイ先のサーバーと環境を揃えるためです)
ホストOSはubuntu.15.10です。
今日、vagrant ssh
が失敗するので、virtualbox自身のターミナルからrootユーザーでログインし、fsck -n
を実行すると
/dev/mapper/VolGroup-lv_root contains a file system with errors, check forced.
...
...
Free blocks count wrong (845378, counted=845408)
Free inodes count wrong (309812, counted=309769)
と表示されました。
/etc/fstab
を確認し、
$ cat /etc/fstab
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=d197cae3-0dd5-4555-9b2f-f9f21c1d9679 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
ルートファイルシステムに異常があるのだとわかりました。
このため、何とかしてfsck
をルートファイルシステムに実行したいのですが、マウントしたままだとファイルシステムを壊してしまうと以前聞いたことがあったので、それなら何とかルートディレクトリからアンマウントしなければと考えました。
そこでシングルユーザーモードで起動しなおし、それから
umount /
fsck /dev/mapper/VolGroup-lv_root
としたところ、
/dev/mapper/VolGroup-lv_root clean ...
と表示されました。
ファイルシステムに何の問題もないはずがないのですが、とにかくこれ以上何も起きません。
わからないなりに以下のようにもして何か確認できないかとやってみました。
# fsck -fv -t ext4 /dev/mapper/VolGroup-lv_root
fsck from util-linux-ng 2.17.2
pass 1: checking ...
...
...
pass 5: group summary information
130829 inodes used
...
...
913928 blocks used
0 bad blocks
1 large file
...
...
(virtual boxのターミナルで上手く画面をマウスでコピーできないため、要点になりそうなところだけかいつまんでいます。全部の詳細を書けずすみません)
これを見ても、bad blocks が 0 というのは理解ができません。
マルチユーザーモードで起動した時にだけfsck
がおかしくなるとでも言うのでしょか?
多分、fsckの使い方を間違えているのか、もっと違うところを
間違っているかだろうと思うのですが、
今日一日ずっと調べていても分かりませんでした。
プログラミングの質問とは違いますが、このままではそのプログラミングができません。
すみませんがどなたかアドバイスをお願いいたします。
よろしくお願いします。