Skip to content

            Lost ?  |  Need an account:
 
LVM Mirroring PDF Print E-mail
(9 votes, average 4.33 out of 5)
Written by Tom Hirt   
Tuesday, 19 May 2009 10:48
Article Index
LVM Mirroring
Creating New Mirror Volumes
Mirror From Existing Volume
All Pages

 

LVM Mirroring Overview


Continuing with our LVM how to series, in this KB, we will build on the knowledge from our LVM Configuration KB, and explore two sided logical volume (LV) mirroring.  In this KB, we will guide you through the creation of a two sided mirror from a new LV and the steps necessary to add mirroring to an existing LV.

Note: Mirroring is usually thought of as two way (in which two physical copies of the volume exist.)  However, when creating LVM mirrors, you can define as many mirrors of a LV as you wish limited only by the number of physical volumes (PVs) available in the Volume Group (VG).  Each side of the mirror requires one or more PVs.

LVM mirroring is most commonly used for data protection and high availability of mission critical data.  Similar to RAID 1, LVM mirroring ensures fault tolerance without any associated downtime should either leg of the mirror experience a hardware failure.  In the event of a failure, LVM converts the mirrored volume into a linear volume and continues to operate as before, but without the mirrored redundancy.

LVM mirroring at a minimum requires three physical volumes:

  1. A volume for one side of the mirror
  2. A volume for other side of the mirror
  3. A volume for the log

Note: We recommend for recoverability purposes that the PV's be three separate physical disks.  Although not recommended, the PV's could also be a combination of partitions from one more physical disks but understand that a hardware failure could render the data on the LVM mirror useless - which somewhat defeats the purpose of LVM mirroring.

 



Comments
Add New Search
sims  - why a log |27/03/2010 01:47:24
Question: why does one need a whole partition for log? What is the logs purpose? Is this not a mirror? I'm a bit confused. Why would a mirror require 3 equal sized partitions/LV/etc?
CoolKoon  - Because..... |12/05/2011 16:32:48
The way mirroring works in LVM is that the system creates arbitrary data blocks (e.g. 512 KB in size) and it's these individual blocks that are kept in sync across the drives. The log is the essential mechanism for the system to keep the data of sync status in across reboots, hence it can't be on any of the mirrored drives. You can also configure the system to keep the log in the RAM, but this means that your drives will have to be synced every time your system's rebooted (which's a VERY bad idea, because syncing's among the slowest LVM/RAID operations ever).
Anonymous |09/08/2011 18:43:37
That does not sound like a real software mirror. Sounds more like strip+ parity... where the log acts as recovery/management. Sounds point less as a fault tolerant solution... If you are going to go the route of 3 physical drives why not just create a software raid?
Dark night |10/09/2011 09:48:00
U confusing man :roll: :roll: :roll: :roll: :roll: :roll: :roll:
Anonymous |12/10/2011 13:20:33
I think the confusion people are experiencing is over the lvcreate command and how it automaticaly picks /dev/sdb1 and /dev/sdd1 as the mirrors and /dev/sdc1 as the log.

FYI - thanks for the article.
LinuxIsFun  - re: |12/10/2011 13:25:13
I'm wordering if lvm will let you set preferred reads to a specifc device in the mirror like to /dev/sdd1 instead of /dev/sdb1. We use veritas to mirror between low speed drives and SSD cache drives and we set the preferred reads to the SSD drives to get exceptional read performance. If lvm can do this it would be awesome.
jonty  - Order of legs in a mirror |26/10/2011 08:28:04
@LinuxIsFun - I want to know the exact same thing: if I mirror an SSD and a hard drive which of these two devices will be used when I read from the mirror.

I did an hour of googling and came up with this:

* LVM2 is built on top of device mapper. LVM2 decides which parts of the physical volumes will be used in the mirror and then passes instructions to device mapper. Then device mapper creates the mirror, handles all the I/O for the mirror, and lets LVM2 use it.

* Device mapper used to use round-robin scheduling to divide the workload between the physical volumes in the mirror. But this has changed in recent versions of device mapper and it now does what you and I would both like: the mirror reads from the first physical volume and only switches to the second if there is a fault with the first.

This was discussed on the dm-devel mailing list between Miklos Vajna and Jonathan Brassow in February 2011. You can see a copy of this at:

http://www.spinics.net/lists/dm-devel/msg14676.html
Rahul  - LVM |15/10/2011 15:56:16
The requirement pf third drive/partition is definitely to store mirror logs. When we run pvdisplay, vgdisplay and lvdisplay kind of commands, such commands fetch info from these logs. Also after reboot, system gets to know about such mirroring info from mirror logs like how much percent of data is mirrored.
Now we can also NOT have a third drive for logs. It's done by using an option mirror core log with lvcreate, while creating a mirror lv. In this case, logs will be stored on to the core drives/partitions i.e. on drives carruing data.
Try searching mirror core log
Michal Belica  - LVM core log |11/11/2011 06:43:33
Hi,
if I'm reading it correctly, the core log mode keeps the log in memory, and not on disk with the data so you'll get resync on reboot. I've also been searching for a way to get rid of the log part without the need to resync everytime, but without any success.
Regards.
MB
Anonymous |21/11/2011 10:45:32
Nice post ... Really help..
zafer |21/11/2011 10:47:17
This is really a nice post.. If possbile please let us know how to unmirror it. And how to mirror in cluster filesystem ?
Alexis Wilke |26/12/2011 02:08:57
The lvconvert command will let you switch between mirror (-m) and stripes (-s). You may want to read the manual pages of the lvconvert command first. The manual pages are actually really good quality.
Alexis Wilke |26/12/2011 04:49:04
Actually, you may want to use -m 0 (--mirror followed by the number zero) to return to linear and "break" the mirror functionality.
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:D:):(:0:shock::confused:8):lol::x:P:oops::cry::evil::twisted::roll::wink::!::?::idea::arrow:
 
Please input the anti-spam code that you can read in the image.

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

Last Updated on Tuesday, 02 June 2009 07:57
 

Forum Activity

Author:
Author: kenny22
Jan.24.12
Author: AaronRiley
Jan.15.12

Online Stats

Guests Online: 87
Members Online: 0