LVM and VxVM

Not enough free physical extents available

 
SOLVED
Go to solution
Jose_129
Regular Advisor

Not enough free physical extents available

I am trying to lvextend a lv which has lots of free extents in vg00.


# lvextend -L 2048 /dev/vg00/lvol4
lvextend: Not enough free physical extents available.
Logical volume "/dev/vg00/lvol4" could not be extended.
Failure possibly caused by strict allocation policy

Info VG00:
PE Size (Mbytes) 8
Total PE 8680
Alloc PE 8040
Free PE 640

# lvdisplay /dev/vg00/lvol4
--- Logical volumes ---
LV Name /dev/vg00/lvol4
VG Name /dev/vg00
LV Permission read/write
LV Status available/syncd
Mirror copies 1
Consistency Recovery MWC
Schedule parallel
LV Size (Mbytes) 200
Current LE 25
Allocated PE 50
Stripes 0
Stripe Size (Kbytes) 0
Bad block on
Allocation strict
IO Timeout (Seconds) default
Change password in way single user, beginning in multiuser way console
8 REPLIES 8
A. Clay Stephenson
Acclaimed Contributor
Solution

Re: Not enough free physical extents available

Your problem is that you are trying to extend a mirrored LVOL. While there are enough total free extents to allocate the LVOL (with the mirror) there are not enogh free extents to extend the LVOL and make sure the mirrored extents reside on a separate physical volume (disk or LUN).
If it ain't broke, I can fix that.
nancy rippey
Trusted Contributor

Re: Not enough free physical extents available

via sam go into disks and filesystems. Turn off strict allocation and then add the additional space. Should work just fine.
nrip
A. Clay Stephenson
Acclaimed Contributor

Re: Not enough free physical extents available

I would not disable the policy; this is protecting you from your own stupidity in that w/o this policy you will be able to loose both mirrors when a single disk fails.
If it ain't broke, I can fix that.
Anonymous
Not applicable

Re: Not enough free physical extents available

Your lvdisplay output states: "Allocation strict". You may change the allocation policy using lvchange (man lvchange for details). However, you may want to briefly check what lvol4 is used for (guess /opt by default)- if it would be used for /stand that would involve a bit more effort to still be able to boot ;-)
Anonymous
Not applicable

Re: Not enough free physical extents available

reading Clay's post: you may want to briefly check if all your lvols in vg00 are really mirrored (I suppose they're not: otherwise you'd have enough free space on both mirror disks)- and turning "strict" off is not really a good idea as you may end up with two copies of your data on only one disk- nonsense, right?
Nguyen Anh Tien
Honored Contributor

Re: Not enough free physical extents available

I found that
# lvdisplay /dev/vg00/lvol4
--- Logical volumes ---
LV Name /dev/vg00/lvol4
VG Name /dev/vg00
LV Permission read/write
LV Status available/syncd
Mirror copies 1
IT mean this lv is mirrored. Pls check available PE on both PV.
If either of them is not enough to extend it will display :
"Failure possibly caused by strict allocation policy"
If you still want to extend pls do as following:
1, remove mirroring (need to consider...:() for each lv on vg00
2,extend as usual
HTH
tienna
HP is simple
Devender Khatana
Honored Contributor

Re: Not enough free physical extents available

Hi,

There are no free PE's on both disks followed by the lvol4. The same can be confirmed by

#pvdisplay -v /dev/dsk/cxtydz

&

#pvdisplay -v /dev/dsk/cx1ty1dz1

Where /dev/dsk/cxtydz & /dev/dsk/cx1ty1dz1 are your two device files included in the VG.


Allocation shall be strict only and you should not change this. Doing that will cause two copies of same extent lying on same disk and in the event of failire of that one disk, your LVOL will not be available.

HTH,
Devender
Impossible itself mentions "I m possible"
Raj D.
Honored Contributor

Re: Not enough free physical extents available

Hi jose ,

1.Check how many disk the vg00 is consisting of.
2.Check how many free PE on each disk.
3.You need two disk with few free PE.

# vgdisplay -v /dev/vg00 | grep -i free
or
# vgdisplay -f /dev/vg00 | more

If free PE available in two disk , you can use the disk name afte lvextend.

Calculate how much space needs to increase and how much PE Free.

Example:
# lvextend -L 2048 /dev/dsk/c?t?d? /dev/c?t?d?
( So it will keep the mirror consistancy and extend the LV).

Hope this will help.

Cheers,
Raj.
" If u think u can , If u think u cannot , - You are always Right . "