Extend LVM - Issue after pvresize

Posted on 2009-02-20
Last Modified: 2013-12-06
I have a HP DL385 G5 server with 4 HDDs configured as RAID5. I need to add 2 more disks to the same.
To do this I added the 2 new disks to RAID array and was able to expand and extend it.

/usr/sbin/hpacucli ctrl slot=1 ld 1 add drives=allunassigned

/usr/sbin/hpacucli ctrl slot=1 ld 1 modify size=max

Pots this I needed to resize the LVM.
The new space was not getting recognized by the LVM.
So, the steps I got were:
 - pvresize
 - lvresize/lvextend
 - resize2fs

After doing pvresize, the pvs command still shows the DevSize the old size and is not recognizing the new size.
The output is as below:
% pvs -o +dev_size
  PV                VG           Fmt  Attr PSize   PFree   DevSize
  /dev/cciss/c0d0p2 VolGroupHPHA lvm2 a-   339.97G 135.84G 204.90G

% vgdisplay
  --- Volume group ---
  VG Name               VolGroupHPHA
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  11
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                7
  Open LV               7
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               339.97 GB
  PE Size               32.00 MB
  Total PE              10879
  Alloc PE / Size       6532 / 204.12 GB
  Free  PE / Size       4347 / 135.84 GB
  VG UUID               wiqLs0-kD3s-0a0E-jEu0-FOD2-xBDZ-K0LR7N

% pvdisplay
  --- Physical volume ---
  PV Name               /dev/cciss/c0d0p2
  VG Name               VolGroupHPHA
  PV Size               340.00 GB / not usable 31.81 MB
  Allocatable           yes
  PE Size (KByte)       32768
  Total PE              10879
  Free PE               4347
  Allocated PE          6532
  PV UUID               M0zFCv-gwU0-n1y6-S3BB-DM1a-IuWj-13JXP2

And when iexecute the lvresize command, I get following error:
% /usr/sbin/lvresize -L+100G /dev/VolGroupHPHA/LogVol07
  Extending logical volume LogVol07 to 284.03 GB
  device-mapper: reload ioctl failed: Invalid argument
  Failed to suspend LogVol07

Not sure why the increased size is not getting recognized.
Question by:gauravg77
    LVL 30

    Assisted Solution

    by:Kerem ERSOY

    Will you send the exact command you've  issued to do the pvresize including any parameters here??

    In fact in the past I've myself used the same command to resize
    pvresize and then lvextend. But please use vgchange to change volumes offline before proceeding.



    Author Comment

    The pvresize command was:
              pvresize --setphysicalvolumesize 340G /dev/cciss/c0d0p2

    The fdisk output is like:
     % fdisk -l
    Disk /dev/cciss/c0d0: 366.8 GB, 366870733824 bytes
    255 heads, 63 sectors/track, 44602 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

               Device Boot      Start         End      Blocks   Id  System
    /dev/cciss/c0d0p1   *           1          13      104391   83  Linux
    /dev/cciss/c0d0p2              14       26761   214853310   8e  Linux LVM

    LVL 16

    Expert Comment

    Did you put the volume offline before trying?

    Author Comment

    No, i had not put the volume offline before trying. I realised that from KeremE's message.
    So, i placed the /dev/VolGroupHPHA/LogVol07 in offline mode and then executed the pvresize command and it did work this time.
    However when i tried the e2fsck and resize2fs commands they failed saying superblock is corrupt.
    And /dev/VolGroupHPHA/LogVol07 was gone.

    I will retry the steps I did today with volume in offline mode and see how it goes.
    LVL 16

    Expert Comment

    Remember that everytime you try to do something to a filesystem (logical of physical) you have to unmount/offline it and put it a situation in which noone can interact with it

    Accepted Solution


    During my trials and errors my machine went bad and today I had to reset it up.
    Once I had an initial setup again, I started with following steps:
    1. Expand
    /usr/sbin/hpacucli ctrl slot=1 ld 1 add drives=allunassigned

    2. Extend
    /usr/sbin/hpacucli ctrl slot=1 ld 1 modify size=max

    3. pvresize /dev/cciss/c0d0p2
    (This was different from the command I had executed last time. Last time I had executed command: pvresize --setphysicalvolumesize 340G /dev/cciss/c0d0p2)

    % pvresize /dev/cciss/c0d0p2
      Physical volume "/dev/cciss/c0d0p2" changed
      1 physical volume(s) resized / 0 physical volume(s) not resized

    But this time I did not see change in sizes for any of the commands.

    % vgs -v
        Finding all volume groups
        Finding volume group "VolGroupHPHA"
      VG           Attr   Ext    #PV #LV #SN VSize   VFree  VG UUID
      VolGroupHPHA wz--n- 32.00M   1   7   0 204.88G 18.75G d8hKjg-fYg8-WTrR-WMyw-i03r-DIsn-Ji2bZ6

    % pvs -v
        Scanning for physical volume names
      PV                VG           Fmt  Attr PSize   PFree  DevSize PV UUID
      /dev/cciss/c0d0p2 VolGroupHPHA lvm2 a-   204.88G 18.75G 204.90G mh3ZjX-Q0iK-8AZs-Ef0H-pxjF-zjS8-ohE409

    The only command which is showing the new size is hpacucli which I think is expected because of the first 2 commands that I executed.
    % hpacucli ctrl all show config

    Smart Array P400 in Slot 1    (sn: P61620H9SVY0J5)

       array A (SAS, Unused Space: 0 MB)

          logicaldrive 1 (341.7 GB, RAID 5, OK)

          physicaldrive 1I:1:5 (port 1I:box 1:bay 5, SAS, 72 GB, OK)
          physicaldrive 1I:1:6 (port 1I:box 1:bay 6, SAS, 72 GB, OK)
          physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SAS, 72 GB, OK)
          physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SAS, 72 GB, OK)
          physicaldrive 2I:1:3 (port 2I:box 1:bay 3, SAS, 72 GB, OK)
          physicaldrive 2I:1:4 (port 2I:box 1:bay 4, SAS, 72 GB, OK)

    This time around pvresize (without setphysicalvolumesize parameter) did not detect the correct size and did not resize the pv. I had expected it to comsume all the available bandwidth and be around 340G or so.

    My thought is that I am missing something basic, but havent been able to figure that out till now.

    I have also tried if I could create a new PV using pvcreate, however on my system I just cannot get the device names for the newly added HDDs so cannot take that approcah either.

    Gaurav G.


    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    Suggested Solutions

    Title # Comments Views Activity
    Openwrt vnstat 9 76
    Virtual host in apache 31 62
    help pulling data string using Awk 9 43
    Linux operating system 12 29
    I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension ( This reminded me of questions tha…
    Join Greg Farro and Ethan Banks from Packet Pushers ( and Greg Ross from Paessler ( for a discussion about smart network …
    Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    22 Experts available now in Live!

    Get 1:1 Help Now