This is going to be a short one, and I hope this will save you some time if you hit this same issue.
I recently had a VM that didn’t boot anymore. Going to the serial console, I could see it was trying to run fsck on an attached data disk (actually an LVM on top of 2 disks)- but that failed apparently.
Step 1: login through serial console and remove that LVM from the /etc/fstab.
This step is quiet straightforward: you enter the root password and you edit the fstab. I had 1 issue here that my filesystem was mounted read-only, so I also needed to change that quickly, but basically did this:
mount -o remount,rw / vi /etc/fstab #comment out the line that is causing fsck to fail now
Step 2: installing updated fsck tool.
Removing it from the fstab made my VM come up again, but when trying to run fsck I got this error:
Output: e2fsck 1.41.12 (17-May-2010) /dev/vgname/lvname has unsupported feature(s): 64bit e2fsck: Get a newer version of e2fsck!
This sent me through some ratholes, but finally I found the solution here: https://bugzilla.redhat.com/show_bug.cgi?id=1101558
What this does is download the newer version of e2fsck, compile and install it this now allows you to succesfully run fsck:
Wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43/e2fsprogs-1.43.tar.xz tar -xf e2fsprogs-1.43.tar.xz cd e2fsprogs-1.43 ./configure make make install
Run a check on the version of e2fsck
e2fsck -V e2fsck 1.43 (17-May-2016) Using EXT2FS Library version 1.43, 17-May-2016
This now allowed me to succesfully check my file system:
e2fsck -f /dev/vgname/lvname