Operating System - HP-UX
1753902 Members
10496 Online
108810 Solutions
New Discussion юеВ

lvextend: Not enough free physical extents available

 
SOLVED
Go to solution
JoyBag_1
Frequent Advisor

lvextend: Not enough free physical extents available

Hi all,

I'm trying to extend a LV in a VG where there is more than enough PEs, but I'm getting the following error:

# lvextend -L 15000 /dev/vgs_prd4/lvdat2
lvextend: Not enough free physical extents available.
Logical volume "/dev/vgs_prd4/lvdat2" could not be extended.

I've recently added 4 LUNs to the VG and there more than enough PE's to cope with this request, even when taking mirroring into account:

#vgdisplay vgs_prd4
--- Volume groups ---
VG Name /dev/vgs_prd4
VG Write Access read/write
VG Status available, exclusive
Max LV 255
Cur LV 2
Open LV 2
Max PV 16
Cur PV 10
Act PV 10
Max PE per PV 3473
VGDA 20
PE Size (Mbytes) 4
Total PE 34720
Alloc PE 20500
Free PE 14220
Total PVG 0
Total Spare PVs 0
Total Spare PVs in use 0


#vgdisplay -v vgs_prd4 | grep -i "Free PE"
Free PE 14220
Free PE 53
Free PE 53
Free PE 60
Free PE 53
Free PE 53
Free PE 60
Free PE 3472
Free PE 3472
Free PE 3472
Free PE 3472

LV is configured as follows:

#lvdisplay -v /dev/vgs_prd4/lvdat2 | more
--- Logical volumes ---
LV Name /dev/vgs_prd4/lvdat2
VG Name /dev/vgs_prd4
LV Permission read/write
LV Status available/syncd
Mirror copies 1
Consistency Recovery MWC
Schedule parallel
LV Size (Mbytes) 5000
Current LE 1250
Allocated PE 2500
Stripes 0
Stripe Size (Kbytes) 0
Bad block on
Allocation PVG-strict/distributed
IO Timeout (Seconds) default

--- Distribution of logical volume ---
PV Name LE on PV PE on PV
/dev/dsk/c40t6d7 417 417
/dev/dsk/c42t7d0 417 417
/dev/dsk/c42t7d1 416 416
/dev/dsk/c44t6d7 417 417
/dev/dsk/c46t7d0 417 417
/dev/dsk/c46t7d1 416 416

There is 1 other active LV configured in the VG which has the same config, albeit a larger size.

I have recently deleted to other LVs from the VG.

I'm guessing the allocation policy has something to do with this, but I'm not sure how to progress. any ideas?

Thanks in advance.


11 REPLIES 11
Torsten.
Acclaimed Contributor
Solution

Re: lvextend: Not enough free physical extents available

Looks like the LV is mirrored.

Check if you have enough space on *all* involved disks!

I guess you probably have only enough space on "one side" of the mirror.


Hope this helps!
Regards
Torsten.

__________________________________________________
There are only 10 types of people in the world -
those who understand binary, and those who don't.

__________________________________________________
No support by private messages. Please ask the forum!

If you feel this was helpful please click the KUDOS! thumb below!   
Michael Steele_2
Honored Contributor

Re: lvextend: Not enough free physical extents available

Can you paste in a '...pvdisplay -v /dev/dsk/c40t6d7 | head -25..." on your PV's?

/dev/dsk/c40t6d7
/dev/dsk/c42t7d0
/dev/dsk/c42t7d1
/dev/dsk/c44t6d7
/dev/dsk/c46t7d0
/dev/dsk/c46t7d1
Support Fatherhood - Stop Family Law
JoyBag_1
Frequent Advisor

Re: lvextend: Not enough free physical extents available

Michael, as requested:

#pvdisplay -v /dev/dsk/c40t6d7 | more
--- Physical volumes ---
PV Name /dev/dsk/c40t6d7
PV Name /dev/dsk/c42t6d7 Alternate Link
VG Name /dev/vgs_prd4
PV Status available
Allocatable yes
VGDA 2
Cur LV 2
PE Size (Mbytes) 4
Total PE 3472
Free PE 53
Allocated PE 3419
Stale PE 0
IO Timeout (Seconds) default
Autoswitch On

--- Distribution of physical volume ---
LV Name LE of LV PE for LV
/dev/vgs_prd4/lvdat1 3002 3002
/dev/vgs_prd4/lvdat2 417 417

--- Physical extents ---
PE Status LV LE
00000 current /dev/vgs_prd4/lvdat1 00000
00001 current /dev/vgs_prd4/lvdat1 00003
00002 current /dev/vgs_prd4/lvdat1 00006
00003 current /dev/vgs_prd4/lvdat1 00009
Tim Nelson
Honored Contributor

Re: lvextend: Not enough free physical extents available

Looks like your lvol is Allocation PVG-strict/distributed

You will need to turn it off or change your PVG groups, you cut this info off of the vgdisplay.


Adding more disk to a distibuted stripe typically causes the stripe to be no longer ( at least on the new disks added ).

If you wish to keep some form of distributed stripe, 2 of the 4 disk you have added will need to be in PVG1 and the other two in PVG2. All new data written will only be striped to two disks. Not really a benefit but maybe better than nothing.

Your distributed mirror looks weird, I only see 7 origional disk, this is an odd number ?


If you want all vols to be distibuted accross all now 11 disks you will have to rebuild it and restore the data.


JoyBag_1
Frequent Advisor

Re: lvextend: Not enough free physical extents available

Tim, I had a feeling it may have been something to do with that, but I wanted to see if I could find a solution that avoided turning it off, but alas, they need the extra space by the end of teh day, so it looks like I'll have too.

I'm not sure why it was setup this way (with the 7 disks), it was implemented long before I joined the organisation and I can't find any documentation that references.

I'll change the allocation poloicies and see what happens.

thanks guys.
Siju Vadakkan
Trusted Contributor

Re: lvextend: Not enough free physical extents available

Please provide the following output

1. vgdisplay -v vgs_prd4 | grep -e"VG Status" -e "PV Name" -e "Free PE"
2. strings /etc/lvmpvg
Sandman!
Honored Contributor

Re: lvextend: Not enough free physical extents available

Could you post the full output of lvdisplay on the LVOLs that make up the VG i.e.

# lvdisplay -v /dev/vgs_prd4/lvdat2
# lvdisplay -v /dev/vgs_prd4/

Though lvdisplay on lvdat2 shows that it has one mirror copy yet the distribution does not show it be so.

--- Distribution of logical volume ---
PV Name LE on PV PE on PV
/dev/dsk/c40t6d7 417 417
/dev/dsk/c42t7d0 417 417
/dev/dsk/c42t7d1 416 416
/dev/dsk/c44t6d7 417 417
/dev/dsk/c46t7d0 417 417
/dev/dsk/c46t7d1 416 416

So it would help if you posted the output of "lvdisplay -v" on the two lvols and also the complete "vgdisplay -v vgs_prd4". Doesn't look like you have PVGs either according to the vgdisplay report. In any case attach the above outputs along with:

# cat /etc/lvmpvg
JoyBag_1
Frequent Advisor

Re: lvextend: Not enough free physical extents available

SIJU, as requested:

#vgdisplay -v vgs_prd4 | grep -e"VG Status" -e "PV Name" -e "Free PE"
VG Status available, exclusive
Free PE 10470
PV Name /dev/dsk/c40t6d7
PV Name /dev/dsk/c42t6d7 Alternate Link
Free PE 0
PV Name /dev/dsk/c42t7d0
PV Name /dev/dsk/c40t7d0 Alternate Link
Free PE 0
PV Name /dev/dsk/c42t7d1
PV Name /dev/dsk/c40t7d1 Alternate Link
Free PE 0
PV Name /dev/dsk/c44t6d7
PV Name /dev/dsk/c46t6d7 Alternate Link
Free PE 0
PV Name /dev/dsk/c46t7d0
PV Name /dev/dsk/c44t7d0 Alternate Link
Free PE 0
PV Name /dev/dsk/c46t7d1
PV Name /dev/dsk/c44t7d1 Alternate Link
Free PE 0
PV Name /dev/dsk/c40t2d1
PV Name /dev/dsk/c42t2d1 Alternate Link
Free PE 54
PV Name /dev/dsk/c42t2d2
PV Name /dev/dsk/c40t2d2 Alternate Link
Free PE 3472
PV Name /dev/dsk/c40t2d3
PV Name /dev/dsk/c42t2d3 Alternate Link
Free PE 3472
PV Name /dev/dsk/c42t2d4
PV Name /dev/dsk/c40t2d4 Alternate Link
Free PE 3472

#cat /etc/lvmpvg
VG /dev/vg00
PVG root_pri
/dev/dsk/c1t6d0

Sandman, I have also attached the the output of the lv and vg display commands.

It is worth noting, that since last posting I have created a 3rd temp LV to get around this problem.

the PVG issue is puzzling me as the LVs are are configured PVG scrict, but /etc/lvmpvg contains no info relating to this VG.
Siju Vadakkan
Trusted Contributor

Re: lvextend: Not enough free physical extents available

It seems this VG (vgs_prd4) is a shared volume group in a cluster ( cluster VG) and the LVM PVG files is not updated on the node from where ur trying to extend LV. The volume group might have created on the other node initially and the package might have switched to this node recently.


Please provide the following information

1. on the current node , run the following command

#cmviewcl


2. Please provide the following information from the other node.

#vgchange -a r vgs_prd4 # this will activate the vg in read only mode
#vgdisplay -v vgs_prd4
#lvdisplay -v /dev/vgs_prd4/lvdat2
#vgchange -a n vgs_prd4
#cat /etc/lvmpvg

We are close to the soln.