[linux-lvm] How to 'copy' a volume?
zxvdr.au at gmail.com
Fri Jan 4 08:16:59 UTC 2008
Erich Weiler wrote:
> Greetings all-
> I have a problem I'm trying to solve, was hoping someone would know how
> to get around it...
> I have a 2TB volume group, and one 500GB volume in it. There is a Xen
> VM in that volume group. What I'd like to do is 'copy' the volume and
> name it something else so I can use it as a 'template' for other VMs.
> I know that LVM has the 'snapshot' capability. But this doesn't look
> like it's what I need, as I don't want my duplicate volume to have any
> affiliation with the original at all. I actually want to duplicate VM
> to take up just as much space as the first and be completely independent
> of any changes on the first. Is there a way of achieving this? Could I
> maybe simply make sure the volume is unmounted and not in use, then copy
> the /dev/mapper/myvolume file to something else? I bet it's more
> involved than that... :)
I find 'dd' is the simplest way of doing this. Unmount the volume,
create a new logical volume of equal or greater size, then 'dd' from one
to the other:
lvcreate -L 500G -n clone volgroup00
dd if=/dev/volgroup00/original of=/dev/volgroup/clone
Rather than copying VMs I snapshot them. I create a template system,
create a snapshot of it, then modify the VMs config so it uses the
snapshot as its disk (so the original is unmodified). If I need another
copy of the VM its only a matter of creating another snapshot of the
template LV, then copying and modifying the config. I usually set the
extent size low so that modifications within the VMs don't chew up lots
of space too.
More information about the linux-lvm