[dm-devel] snapshot-origin freezes system - what am I doing wrong?

Zdenek Kabelac zkabelac at redhat.com
Fri May 15 12:11:06 UTC 2015


Dne 15.5.2015 v 12:45 Atom2 napsal(a):
> Hello list,
> I am trying to setup a cow snapshot for a LV that is used as a master image
> for a number of VMs. The idea basically is to be able to update the master
> image even when VMs are up and running; the VMs should then still see the old
> state of the image and only when they are restarted they should connect to the
> new image.
> Searching the net seemed to point towards a snapshot-origin/snapshot solution
> - however I am unable to get this to work. Information on the net seems to be
> sparse, so I though I'd ask the experts on the list. Here are my steps:
>
> 1.) I have a LV in volume group VG named master.ROOT
> (/dev/mapper/VG-master.ROOT), 8GB, formatted as ext4
> 2.) I create a sparese file: truncate -size=8G /tmp/snapshot
> 3.) losetup -f /tmp/snapshot --> gives /dev/loop0
> 4.) dmsetup create mytest.img --table "0 $(blockdev --getsz
> /dev/mapper/VG-master.ROOT) snapshot-origin /dev/mapper/VG-master.ROOT
> 5.) dmsetup create mytest.img.cow --table "0 $(blockdev --getsz /dev/loop0)
> snapshot /dev/mapper/VG-master.ROOT /dev/loop0 P 8"
>
> So far so good ... however, when I try to mount the origin device by
> 6.) mount /dev/mapper/mytest.img
> the mount call doesn't return and the system gets unresponsive/freezes up to a
> point when OOM-killer is being invoked. Login attempts on the console time out
> and in essence it is only possible to reboot the system using magic-sysreq key
> combinations.
>
> I'd be very much obliged if someone in the know could provide me with
> information what's wrong with this approach.
>
> Many thanks in advance Atom2

Do you have any  scientific reason to not  use LVM2  here ?

Management of snapshot target is not trivial - especially the order
of individual table loads and resumes.

You could look at  'lvcreate -s -vvvv' if you are interested in ioctl ordering 
of all operations here.

Regards

Zdenek




More information about the dm-devel mailing list