Using Linux fsck to get you out of a jam
Posted: May 26, 2014 Filed under: General Admin, Linux | Tags: file systems, fsck, Rehhat, Superblock Leave a commentWell, not the best start to the weekend, One of my reliable and trusty dev servers decided to throw a wobble and toss the proverbial baby out of the bath water and give me a wonderful SuperBlock error. 😦
Just for Google search the error was :-
mount: wrong fs type, bad option, bad superblock on /dev/mapper/Oracle_11G_Dev_Datap1,
missing codepage or other error
In some cases useful info is found in syslog – try
dmesg | tail or so
This is a Redhat Enterprise Linux version 5.9
So you turn to Google and off you go.
Now this site is worth a mention as it explains fsck pretty well http://www.thegeekstuff.com/2012/08/fsck-command-examples/
So off you go and try some of the commands
The issue is that there is a bad superblock, there are backup blocks though to find them you use
mke2fs -n /dev/mapper/mpath18p1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
214761472 inodes, 429522936 blocks
21476146 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
13108 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Issuing
fsck -v /dev/mapper/mpath18p1
fsck 1.39 (29-May-2006)
fsck: fsck.ext4: not found
fsck: Error 2 while executing fsck.ext4 for /dev/mapper/mpath18p1
You notice many instructions with the following command fsck.ext4 as you see in the output above. What many people do not tell you is that you need a package installing
yum install e4fsprogs
So now the moment of truth, take one of the superblock number from the mke2fs command and try the
e4fsck command
e4fsck -b 98304 /dev/mapper/mpath18p1
e4fsck 1.41.12 (17-May-2010)
Adding dirhash hint to filesystem.
/u100 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 7, i_blocks is 140000, should be 139888. Fix<y>? Y
And off you, a few hours later and many “y’s” being pressed it sprung back into life.
I am now looking for the commands to test / ensure that all is OK.
Good luck if you ever get this and I hope that this little bit of text works for you.