2015年3月10日火曜日

linuxでマウントできなくなった場合の対処法


サーバ起動時に特定領域がマウントできない事象に陥った。
その対処法を記録しておく。



【マウント状況の確認】
# df -TP
本来あるはずのマウントポイントがない。
下記が見えなくなっていた。
/dev/cciss/c1d0p1 ext3



【原因特定】
デバイスは存在している。
# fdisk -l
/dev/cciss/c0d0p1   *    1   25   101984   83  Linux


ファイルシステムは正常である。
# e2fsck -y /dev/cciss/c1d0p1
e2fsck 1.39 (29-May-2006)
/: clean, 157173/183091200 files, 97625776/366169796 blocks


手動で再度マウント。
失敗する。
# mount -t ext3 /dev/cciss/c1d0p1 /var
mount: wrong fs type, bad option, bad superblock on /dev/cciss/c1d0p1,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so


起動時の状態を確認すると
ジャーナルログがないことで怒られているようである。
# dmesg | tail
VFS: Can't find ext3 filesystem on dev cciss/c1d0.
ext3: No journal on filesystem on cciss/c1d0p1
VFS: Can't find an ext2 filesystem on dev cciss/c1d0.
ext3: No journal on filesystem on cciss/c1d0p1
ext3: No journal on filesystem on cciss/c1d0p1



【ジャーナルを作成】
# tune2fs -j /dev/cciss/c1d0p1
Creating journal inode: done
This filesystem will be automatically checked every -1 mounts or
0 days, whichever comes first.  Use tune2fs -c or -i to override.

※この手段はファ入りシステムをext2からext3へ、またext3をext4へ
 変換する場合にも使える。



【マウント】
# mount -t ext3 /dev/cciss/c1d0p1 /var




参考
http://alpha-netzilla.blogspot.com/2010/12/rescue.html
http://alpha-netzilla.blogspot.com/2011/12/volume.html
http://slashdot.jp/~daikoku/journal/435744/