1834437 Members
2169 Online
110067 Solutions
New Discussion

Re: Lvextend question

 
SOLVED
Go to solution
MarkW_1
Regular Advisor

Lvextend question

Need some help with extending a couple of lvols. It seems that I have enough space but I get the following message:

The command used to extend logical volumes, /sbin/lvextend, has

failed. The stderr output from the command is shown below. The

Log logical volume has not been extended.



lvextend: Not enough free physical extents available.

Logical volume "/dev/vg07/ora12" could not be extended.

Failure possibly caused by strict allocation policy





Logical Volume: ora12

Volume Group: vg07

Space Available in Volume Group (Mbytes): 45992

Current Logical Volume Size (Mbytes): 10000

New Size (Mbytes): 20000





ora12 vg07 VxFS 10000 1 /ora12

ora13 vg07 VxFS 17000 1 /ora13

ora14 vg07 VxFS 20000 0 /ora14

ora15 vg07 VxFS 20000 0 /ora15



3 REPLIES 3
Pete Randall
Outstanding Contributor
Solution

Re: Lvextend question

Mark,

Do a "lvdisplay" on the logical volume and check the "Allocation" policy. It will probably say "strict/contiguous". If this is the case, the extents you're trying to add need to be contiguous to the existing ones. Probably the easiest way to fix this, is to use lvchange to alter the contiguous flag (-C) - assuming that the lvol doesn't really need to be contiguous, that is.


Pete

Pete
A. Clay Stephenson
Acclaimed Contributor

Re: Lvextend question

Two things can cause this:

1) strict / contigious allocation policy has been set

2) The LVOL is mirrored and although there are enough free extents in total to grant the request, there are no enough free extents available on separate physical volumes (PV's) to allow each mirror to be housed on separate PV's.
If it ain't broke, I can fix that.
Sundar_7
Honored Contributor

Re: Lvextend question

Even though you have enough free space, ability to successfully extend LV also depends on the allocation policy.

Is your LV mirrored ?

If not, you can safely ignore "strict" allocation.

If your LV is neither mirrored nor is a extend based stripe, you can ignore the PVG-strict allocation.

Most probably your LV extend allocation is set to "contiguous"

# lvchange -C n /dev/vgXX/lvolXX

# lvextend .....

Learn What to do ,How to do and more importantly When to do ?