[linux-lvm] Mirroring implementation

malahal at us.ibm.com malahal at us.ibm.com
Mon Jul 27 13:56:28 UTC 2009

brem belguebli [brem.belguebli at gmail.com] wrote:
>    Hi,
>    I have a few questions concerning LVM mirror implementation, and I
>    couldn't find any suitable design doc
>    I need to setup a dual site ( a few miles between the 2 sites, around 1 ms
>    RTD) mirror based cluster system.

You need asynchronous mirroring (remote replication module). This is not
in mainline (not sure if included in the latest RHEL release). The
following comments apply to dm-mirror module that is already in the

>    - *what is the default behaviour of the mirroring, writing in parallel to
>    both mirror legs or serialized ? what about read requests ?

It writes in parallel. Reads from a single device (switches on a device
failure only).

>    - for write requests, is the ack returned to the application (thru VFS)
>    when the 2 legs are updated or only when the first is updated ?

When two are updated. (you need 'remote replication' module for the
latter behaviour)

>    - Is there a way to control it ?

     I don't think so.

>    - what happens if the log device is lost ?

The mirror stops and a daemon re-allocates the log and the mirror should
be back to business (this depends on your lvm configuration though).

>    I saw a post about LVM mirror vs mdadm where it is about the location of
>    the mirror log
>    ([1]https://www.redhat.com/archives/linux-lvm/2009-July/msg00012.html)
>    someone gave the answer that when creating the LV's with --alloc anywhere
>    it will auto locate the log on any of the PV's.
>    According to what I could read, the --alloc doesn't intend for that, am I
>    right ?

Replace your "auto locate" to "allocate the log on any of the PV's".

What is the intention of the "--alloc anywhere" from your reading?


More information about the linux-lvm mailing list