[linux-lvm] I can't have the mirror_log mirrored, LVM complains "there is no suitable space"

Alasdair G Kergon agk at redhat.com
Thu Jul 4 16:40:16 UTC 2013

On Thu, Jul 04, 2013 at 04:27:51PM +0200, Alessandro MACUZ wrote:
> root at Microknoppix:/tmp/lvm2-2_02_98# lvconvert -vvv -m1 --mirrorlog
> mirrored --alloc normal /dev/lvgrptstnlvm/root /dev/sdb1

So you want to convert an existing LV into a mirror (-m1) with a mirrored log
with the default allocation policy allocating all new extents from /dev/sdb1.

The current layout:

>         /dev/sda1 0:      0   1536: root(0:0)
>         /dev/sda1 1:   1536    767: NULL(0:0)
>         /dev/sdb1 0:      0   2271: NULL(0:0)
>         /dev/sdb2 0:      0     31: NULL(0:0)
>         /dev/sdc 0:      0      7: NULL(0:0)

The Physical Extents that can used for allocation during this process:

>         Adding PE range: start PE 0 length 2271 on /dev/sdb1

Details of the allocation requested:

>         Allowing allocation on /dev/sdb1 start PE 0 length 2271
>         Parallel PVs at LE 0 length 1536: /dev/sda1

>         Still need 1538 total extents:
>           1 (1 data/0 parity) parallel areas of 1536 extents each
>           2 mirror logs of 1 extents each

So it is looking for 1536 extents on a disk that is not /dev/sda1
and 2 further extents for the mirrored log on different disks from each other.

But it only has one disk available - /dev/sdb1 - so this will fail unless
you go down to --alloc anywhere.

So what should you do?
If you want a mirrored log, decide where to put it and provide the command
with additional space on another disk to hold it.

So let it use part of /dev/sda1 perhaps by appending '/dev/sda1:1536' to
the command or if that isn't enough, try something like '/dev/sdb2:0 /dev/sdc:0'.


More information about the linux-lvm mailing list