• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5616
  • Last Modified:

Extend LVM - Issue after pvresize

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.
  • 3
  • 2
2 Solutions
Kerem ERSOYPresidentCommented:

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.


gauravg77Author Commented:
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

Did you put the volume offline before trying?
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

gauravg77Author Commented:
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.
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
gauravg77Author Commented:

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.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now