- Red Hat Enterprise Linux 3
- Red Hat Enterprise Linux 4
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- While doing a file system check using
'e2fsck', it complains as follows :
bash-3.2# e2fsck /dev/mapper/vg_name-lv_name e2fsck 1.39 (29-May-2006) The filesystem size (according to the superblock) is 66584576 blocks The physical size of the device is 65798144 blocks Either the superblock or the partition table is likely to be corrupt! Abort<y>? yes
The size of the file system does not match the size of the device.
e2fsckfails to read block numbers after the specific size and aborts.
Pass 1: Checking inodes, blocks, and sizes Error reading block <block-number> (Invalid argument) while getting next inode from scan. Ignore error? no Error while scanning inodes <inode-number>: Can't read next inode e2fsck: aborted
Check the current size of the file system and the device size.
Resize the file system size to the size of the actual device size.
# umount <file-system> # resize2fs <device-name>
NOTE: Ensure that a valid file system backup is available as a file system corruption might have already happened or
resize2fs might cause file system corruption
An improper or incomplete file system or device resizing can leave the file system superblock corrupted. If the superblock is not updated with the current size of the file system, it would report a wrong size of the file system whereas the actual device is different.
Or in some cases, it has been observed that the partition table is corrupt. The problem in such cases are since a file system does not keep any backups for a partition table like a superblock backup, it is very hard to restore the partition to the previous state.
It can be restored if the exact cylinder/sector geometry of the previous/existing partition is known. The trick is to do a partition using
fdiskmaintaining the same cylinder limits. But that is in most cases not possible. In such a situation, mount the partition and do a data backup as soon as possible. After this, repartition the device if possible and copy over the data.
- Identify the current file system size
# dumpe2fs <file-system> |grep "Block count"
- Check the size of the underlying device.
# lvs -ao +devices
- Check if there was any resizing of file system or the device was done before the issue occurred.
The filesystem size (according to the superblock) is 126220288 blocks The physical size of the device is 124909568 blocks The filesystem size: 126220288 * 4096 = 481.49 GB The physical size: 124909568 * 4096 = 476.49 GB The PV is 5GB short, or the filesystem is 5GB too large.
- Red Hat Enterprise Linux
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.