[linux-lvm] Why didn't the lv extension go through even if lvdisplay says so?

Marcus Claesson m.claesson at student.ucc.ie
Tue May 16 12:18:41 UTC 2006


Hi all,

I want to allocate 140G of the free space in my VG and use it to
extend /var (/dev/Volume00/LogVol01) from 97G to 240G. After I
unmounted /var (which was impossible until I used a lazy 'umount -
l /var'), I ran

# lvextend -L 240G /dev/Volume00/LogVol01
(unfortunately I was in single-user mode and wasn't able to save the
output, but it basically said 'extension successful). I then re-
mounted /var:

# mount /dev/mapper/Volume00-LogVol01 /var/
kjournald starting.  Commit interval 5 seconds
EXT3 FS on dm-2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.

and ran a df to check:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2      49G   19G   27G  42% /
/dev/cciss/c0d0p1      99M  9.8M   84M  11% /boot
/dev/mapper/Volume00-LogVol00
                       97G   84G  8.1G  92% /home
none                  2.9G     0  2.9G   0% /dev/shm
/dev/mapper/Volume00-LogVol02
                       20G   11G  8.4G  56% /usr/local
sunrpc                 97G   88G  3.6G  97% /var/lib/nfs/rpc_pipefs
/dev/mapper/Volume00-LogVol01
                       97G   88G  3.6G  97% /var

To my surprise /var hadn't been extended at all and a new sunrpc device
had also been mounted! The lvm info is now:

# vgdisplay
  --- Volume group ---
  VG Name               Volume00
  System ID             localhost.localdomain1077884666
  Format                lvm1
  VG Access             read/write
  VG Status             resizable
  MAX LV                256
  Cur LV                3
  Open LV               3
  Max PV                256
  Cur PV                1
  Act PV                1
  VG Size               496.02 GB
  PE Size               4.00 MB
  Total PE              126981
  Alloc PE / Size       91560 / 357.66 GB
  Free  PE / Size       35421 / 138.36 GB
  VG UUID               H0hRDH-Ud2L-fYSG-j1mE-3QfB-5xMo-3Sb6Mf

Thus 240G has been used up.

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/Volume00/LogVol01
  VG Name                Volume00
  LV UUID                000000-0000-0000-0000-0000-0000-000002
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                240.00 GB
  Current LE             61440
  Segments               1
  Allocation             normal
  Read ahead sectors     10000
  Block device           253:2

Thus new size as it should be.

Also, the difference between the current and old VG is:
# diff /etc/lvm/backup/Volume00 /etc/lvm/archive/Volume00_00004.vg
1c1
< # Generated by LVM2: Tue May 16 12:27:42 2006
---
> # Generated by LVM2: Tue May 16 12:24:15 2006
6c6
< description = "Created *after* executing 'vgdisplay'"
---
> description = "Created *before* executing 'lvextend -L 240G -
v /dev/Volume00/LogVol01'"
9c9
< creation_time = 1147778862    # Tue May 16 12:27:42 2006
---
> creation_time = 1147778655    # Tue May 16 12:24:15 2006
83c83
<                               extent_count = 61440    # 240 Gigabytes
---
>                               extent_count = 25000    # 97.6562
Gigabytes

The whole new /etc/lvm/backup/Volume00 is

# cat /etc/lvm/backup/Volume00
# Generated by LVM2: Tue May 16 12:27:42 2006

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'vgdisplay'"

creation_host = "neo.ucc.ie"    # Linux neo.ucc.ie 2.6.9-34.ELsmp #1 SMP
Fri Feb 24 16:54:53 EST 2006 i686
creation_time = 1147778862      # Tue May 16 12:27:42 2006

Volume00 {
        id = "H0hRDH-Ud2L-fYSG-j1mE-3QfB-5xMo-3Sb6Mf"
        seqno = 0
        status = ["RESIZEABLE", "READ", "WRITE"]
        system_id = "localhost.localdomain1077884666"
        extent_size = 8192              # 4 Megabytes
        max_lv = 256
        max_pv = 256

        physical_volumes {

                pv0 {
                        id = "xXbxiu-uog2-xSRe-dI2z-y2ZQ-9weE-ftY6YL"
                        device = "/dev/cciss/c0d0p5"    # Hint only

                        status = ["ALLOCATABLE"]
                        pe_start = 9472
                        pe_count = 126981       # 496.02 Gigabytes
                }
        }

        logical_volumes {

                LogVol00 {
                        id = "000000-0000-0000-0000-0000-0000-000000"
                        status = ["READ", "WRITE", "VISIBLE"]
                        allocation_policy = "normal"
                        read_ahead = 10000
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 25000    # 97.6562
Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 0
                                ]
                        }
                }

                LogVol02 {
                        id = "000000-0000-0000-0000-0000-0000-000001"
                        status = ["READ", "WRITE", "VISIBLE"]
                        allocation_policy = "normal"
                        read_ahead = 10000
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 5120     # 20 Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 25000
                                ]
                        }
                }

                LogVol01 {
                        id = "000000-0000-0000-0000-0000-0000-000002"
                        status = ["READ", "WRITE", "VISIBLE"]
                        allocation_policy = "normal"
                        read_ahead = 10000
                        segment_count = 1

                        segment1 {
                                start_extent = 0
                                extent_count = 61440    # 240 Gigabytes

                                type = "striped"
                                stripe_count = 1        # linear

                                stripes = [
                                        "pv0", 50000
                                ]
                        }
                }
        }
}



How come the size extension didn't go through?

Any hints are much appreciated!

Regards,
Marcus











More information about the linux-lvm mailing list