[linux-lvm] resize of LV causing superblock corruption ( Bad magic number ). how to prevent/fix?
darx at sent.com
darx at sent.com
Sun Jul 21 20:34:55 UTC 2013
I have three LVs
lvs | grep test
test_boot VGTEST -wi-a---- 200.00m
test_root VGTEST -wi-a---- 4.00g
test_swap VGTEST -wi-a---- 512.00m
They contain healthy/usable ext4 partitions, and are routinely,
successfully used as disks in launching a Xen guest
cat test.cfg
name = 'test'
...
disk = [ 'phy:/dev/VGTEST/test_boot,xvda,w',
'phy:/dev/VGTEST/test_swap,xvdb,w',
'phy:/dev/VGTEST/test_root,xvdc,w', ]
...
xl create test.cfg
xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 985 4 r----- 101.2
test 3 1024 2 -b---- 7.6
xl console test
test login: darx
Password: #######
uname -a
Linux test.lan 3.7.10-1.16-xen #1 SMP Fri May 31
20:21:23 UTC 2013 (97c14ba) x86_64 x86_64 x86_64
GNU/Linux
I need to grow one of the LVs, /dev/VGTEST/test_root by 8G.
To do that I 1st verify that it's healthy,
kpartx -av /dev/VGTEST/test_root
e2fsck -f /dev/mapper/VGTEST-test_root1
e2fsck 1.42.6 (21-Sep-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VGTEST-test_root1: 84121/262144 files (0.3%
non-contiguous), 753868/1048320 blocks
kpartx -dv /dev/VGTEST/test_root
then extend the partition,
lvextend -L+8G /dev/VGTEST/test_root
Extending logical volume test_root to 12.00 GiB
Logical volume test_root successfully resized
fdisk -l /dev/VGTEST/test_root | grep Linux
/dev/VGTEST/test_root1 2048 8388607
4193280 83 Linux
delete the current partition, and re-add it as a new partition using
100% of the new/expanded available space
cfdisk /dev/VGTEST/test_root/
...
fdisk -l /dev/VGTEST/test_root | grep Linux
/dev/VGTEST/test_root1 32 25165823
12582896 83 Linux
then prepare to resize the FS on the grown partition
kpartx -av /dev/VGTEST/test_root
add map VGTEST-test_root1 (253:13): 0 25165792 linear
/dev/VGTEST/test_root 32
and FSCK to be safe. BUT, here it fails:
e2fsck -f /dev/mapper/VGTEST-test_root1
e2fsck -f /dev/mapper/VGTEST-test_root1
e2fsck 1.42.6 (21-Sep-2012)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to
open /dev/mapper/VGTEST-test_root1
The superblock could not be read or does not describe a
correct ext2
filesystem. If the device is valid and it really
contains an ext2
filesystem (and not swap or ufs or something else), then
the superblock
is corrupt, and you might try running e2fsck with an
alternate superblock:
e2fsck -b 8193 <device>
at this step I *used* to (a year or so ago, when I last did this) get a
good FSCK result, before then proceeding with
resize2fs /dev/mapper/VGTEST-test_root1
kpartx -dv /dev/mapper/VGTEST-test_root
to complete the resize.
What's likely causing this new/current superblock corruption, and how do
I prevent it?
Thanks.
darx
More information about the linux-lvm
mailing list