VirtualBoxで動かしてるCentOSのファイルシステムが破損したっぽい。UNEXPECTED INCONSISTENCYエラー
下書きの掘り起こし。2011-10-19に書いたやつ。
Setting up Logical Volume Management: No Volume groups found [ OK ] Checking filesystems / contains a file system with errors, check forced /: Inodes that were part of a corrupted orphan linked list found. /: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** with you leave the shell. *** Warning -- SELinux is active *** Disabling security enforcement for system recovery. *** Run 'setenforce 1' to reenable. Give root password for maintenance (or type Control-D to continue): _
起動時のカーネルからのメッセージが、こんな事になってました。大文字で表示されてるUNEXPECTED INCONSISTENCY
で検索すると、割とメジャーなのか結構情報でてきました。なので、目新しい事はないんですが、初めて出くわしたのでメモとして残しておきます。
対応
ファイルシステムの破損らしく、ext3のようなジャーナルリング機能があれば、修復出来る可能性はあるらしい。その方法は、メッセージに書かれている通りfsck
コマンドを-a
、-p
オプション無しで実行するというもので、基本的にメッセージにしたがうのみです。
#rootパスワード入力してEnterすると、下記のプロンプトが表示される。 (Repair filesystem) 1 # _ (Repair filesystem) 1 # mount /dev/sda1 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devfs (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) mount: warning: /etc/mtab is not writable (e.g. read-only filesystem). It's possible that information reported by mount(8) is not up to date. For actual information about system mount points check the /proc/mounts file. (Repair filesystem) 2 # fsck -t ext3 /dev/sda1 fsck 1.39 (29-May-2006) e2fsck 1.39 (29-May-2006) / contains a file system with errors, check forced. Pass 1: Checking inodes, blocks, and sizes Inodes that were part of a corrupted orphan linked lit found. Fix<y>? #様々な修復内容が表示されるけど、内容が分かるはずもなくEnterを押してデフォルトのyで進めていく。 中略 Inode 949668 was part of the orphaned inode list. FIXED. Delete inode 949669 has zero dtime. Fix<y>? 中略 Inode 1543224 was part of the orphaned inode list. FIXED. Extended attribute block 100010 has reference count 2, should be 1. Fix<y>? Extended attribute block 809836 has reference count 20, should be 19. Fix<y>? Extended attribute block 951297 has reference count 876, should be 871. Fix<y>? Extended attribute block 951329 has reference count 4, should be 3. Fix<y>? 中略 Pass 2: Checking directory structure 膨大な量が流れたので略 Free blocks count wrong for group #3 (28884, counted=29158). Fix<y>? Free blocks count wrong for group #15 (29705, counted=29735). Fix<y>? 中略 Inode bitmap differences: -98245 -98309 -491173 -949354 -949358 -0949360 中略 -1444660 -1543224 Fix<y>? /: **** FILE SYSTEM WAS MODIFIED ***** /: ***** REBOOT LINUX ***** /: 193873/1964160 files (1.3% non-contiguous), 1082508/1963938 blocks (Repair filesystem) 3 # exit
mount
してfsck
コマンドを実行した後は、Enterを連打するしか無い感じです。
これで修復が出来てれば、リブートしてCentOSが起動出来ますが、修復しきれないとまたUNEXPECTED INCONSISTENCYエラーが表示され、最悪ループするんだとか。
あと、修復したファイルは/lost+found
に格納されるらしいです。今回は、幸いなことにls /lost+found
しても何も無かったので、実質損害無しだったみたい。
参考
環境
VirtualBox | 4.0.12 |
Guest OS | CentOS 5.7 |
Host OS | Fedora 15 |