<html><body><div style="font-family: trebuchet ms,sans-serif; font-size: 12pt; color: #000000"><div>Mmm, Ok ... in which case I think the only way to approach this properly is via libvirt.<br></div><div><br></div><div>For now I'm going to implement snapshots as simple DB copies as per normal raw images, but in the</div><div>meantime I'll take a look at libvirt's snapshot API and see if that could work ..</div><div><br></div><div>Gareth.</div><div><br></div><div><span name="x"></span><div><div><span size="2" style="font-size: small;" data-mce-style="font-size: small;">--</span></div><div><table class="mceItemTable"><tbody><tr><td><img src="http://linuxforums.org.uk/index.php?action=dlattach;attach=262;type=avatar" data-mce-src="http://linuxforums.org.uk/index.php?action=dlattach;attach=262;type=avatar"></td><td><b style="font-family: verdana, Helvetica, sans-serif; font-size: 11px; line-height: 14px;" data-mce-style="font-family: verdana, Helvetica, sans-serif; font-size: 11px; line-height: 14px;">Gareth Bult</b><br><span color="#666666" style="color: #666666;" data-mce-style="color: #666666;"><span face="verdana, Helvetica, sans-serif" style="font-family: verdana, Helvetica, sans-serif;" data-mce-style="font-family: verdana, Helvetica, sans-serif;"><span style="font-size: 11px; line-height: 14px;" data-mce-style="font-size: 11px; line-height: 14px;">“The odds of hitting your target go up dramatically when you aim at it.”</span></span></span><span color="#666666" style="color: #666666;" data-mce-style="color: #666666;"><br></span><span color="#666666" style="color: #666666;" data-mce-style="color: #666666;"><br></span><span color="#666666" style="color: #666666;" data-mce-style="color: #666666;"><br></span></td></tr></tbody></table></div></div><span name="x"></span><br></div><hr id="zwchr"><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Ruben S. Montero" <rsmontero@opennebula.org><br><b>To: </b>"Gareth Bult" <gareth@linux.co.uk><br><b>Cc: </b>"users" <users@lists.opennebula.org><br><b>Sent: </b>Wednesday, 20 November, 2013 5:47:19 PM<br><b>Subject: </b>Re: [one-users] Re; Snapshots ...<br><div><br></div><div dir="ltr"><br><div class="gmail_extra"><br><div><br></div><div class="gmail_quote">On Wed, Nov 20, 2013 at 2:12 PM, Gareth Bult <span dir="ltr"><<a href="mailto:gareth@linux.co.uk" target="_blank">gareth@linux.co.uk</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:'trebuchet ms',sans-serif">

<div>Ok, I see that now .. interesting. </div><div><br></div><div>I'm wondering how to handle this .. vdc-store snapshots are essentially catalogue entries rather</div><div>than files, so although I can call CPDS to make the snapshot, there doesn't seem to be any facility</div>

<div>to use a snapshot that's not actually a stand-alone VM store.</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div><div style="font-size:12pt;font-family:'trebuchet ms',sans-serif"><div><br></div><div>.. specifically snapshot delete and snapshot rollback would be the operations I'd most need.</div></div></div></blockquote>

<div><br></div><div>Yes they are different, disk-only snapshots are similar to the AWS EC2 semantics of snapshoting a volume. AWS, keeps track of the snapshots. However we assume that a disk snapshot can exist without the parent disk.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:'trebuchet ms',sans-serif">

<div><br></div><div>Also, my idea of snapshots (given there is no overhead) would be to snap every hour .. in which case</div><div>the "Images" screen on SunStone would fill up very quickly if for example I was to create a DB entry</div>

<div>for each snapshot ..</div><div><br></div><div>Any ideas how best to approach this ??</div></div></div></blockquote><div><br></div><div>OK. Then, we can use the snapshot functionality. These snapshots will be disk-only, and may need some intervention from the guest (i.e. umount the volume before reverting its state). The semantics will diverge from the current one for this implementation. The point for doing this is that we have the scheduling actions, so you can program opennebula to trigger a backup at a given time. There is no periodicity, though (this is an interesting feature, also in our radar...)</div>

<div><br></div><div><a href="http://opennebula.org/documentation:rel4.2:vm_guide_2#scheduling_actions" target="_blank">http://opennebula.org/documentation:rel4.2:vm_guide_2#scheduling_actions</a><br></div><div><br></div><div>and in sunstone Actions tab</div>

<div><br></div><div>Cheers</div><div><br></div><div>Ruben</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div><div style="font-size:12pt;font-family:'trebuchet ms',sans-serif"><div><br></div><div>Gareth.</div><div><br></div><div><span></span><div><div><span style="font-size:small">--</span></div><div>

<table class="mceItemTable"><tbody><tr><td><img></td><td><b style="font-family:verdana,Helvetica,sans-serif;font-size:11px;line-height:14px">Gareth Bult</b><br><span style="color:rgb(102,102,102)"><span style="font-family:verdana,Helvetica,sans-serif"><span style="font-size:11px;line-height:14px">“The odds of hitting your target go up dramatically when you aim at it.”</span></span></span><span style="color:rgb(102,102,102)"><br>

</span><span style="color:rgb(102,102,102)"><br></span><span style="color:rgb(102,102,102)"><br></span></td></tr></tbody></table></div></div><span></span><br></div><hr><div style="font-size:12pt;font-style:normal;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal">

<b>From: </b>"Ruben S. Montero" <<a href="mailto:rsmontero@opennebula.org" target="_blank">rsmontero@opennebula.org</a>><br><b>To: </b>"Gareth Bult" <<a href="mailto:gareth@linux.co.uk" target="_blank">gareth@linux.co.uk</a>><br>

<b>Cc: </b>"users" <<a href="mailto:users@lists.opennebula.org" target="_blank">users@lists.opennebula.org</a>><br><b>Sent: </b>Wednesday, 20 November, 2013 12:36:57 PM<br><b>Subject: </b>Re: [one-users] Re; Snapshots ...<br>

<div><br></div><div dir="ltr">Ups my mistake, Storage tab I meant... When you save a disk you can do it live or deferred, deferred is when the VM is shutdown, live calls the cpds script to copy the disk to the datastore.<div class="gmail_extra">

<br><div><br></div><div class="gmail_quote">On Wed, Nov 20, 2013 at 1:41 PM, Gareth Bult <span dir="ltr"><<a href="mailto:gareth@linux.co.uk" target="_blank">gareth@linux.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div><div style="font-size:12pt;font-family:'trebuchet ms',sans-serif"><div>Ok, I've completely missed the capacity / cpds bit , indeed I can't see any other snapshot option on the GUI</div><div>so I'm going to have to go back and read some more .. however </div>

<div><br></div><div>Re; the bug, looks like rendering, gone back to it now and it looks fine ...</div><div><br></div><div><table style="border-spacing:0px;width:970px;border-top-left-radius:3px;line-height:28px;border-top-right-radius:3px;border-collapse:collapse;color:rgb(34,34,34);border-bottom-right-radius:3px;font-size:14px;margin:0px 0px 18px;font-family:'Open Sans',sans-serif;border:1px solid rgb(221,221,221);border-bottom-left-radius:3px" class="mceItemTable">

<thead style="background-color:rgb(242,242,242)"><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230)"><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px;border-left-style:none">

#</th><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px">Host</th><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px">Action</th><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px">

Reason</th><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px">Chg time</th><th style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px">Total time</th><th colspan="2" style="margin:0px;padding:5px 10px;direction:ltr;line-height:16px;border-right-style:none">

Prolog time</th></tr></thead><tbody><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230)"><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:47px">

0</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:190px">node3</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:153px">

live-migrate</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:96px">USER</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:155px">

19:08:46 19/11/2013</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">0d 00:01</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">

0d 00:00</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none"></td></tr><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230);background-color:rgb(249,249,249)">

<td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:47px">1</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:190px">

node2</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:153px">live-migrate</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:96px">

USER</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:155px">19:09:44 19/11/2013</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">

0d 00:03</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">0d 00:00</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none">

</td></tr><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230)"><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:47px">

2</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:190px">node1</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:153px">

live-migrate</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:96px">USER</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:155px">

19:12:56 19/11/2013</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">0d 00:01</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">

0d 00:00</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none"></td></tr><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230);background-color:rgb(249,249,249)">

<td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:47px">3</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:190px">

node3</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:153px">live-migrate</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:96px">

USER</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:155px">19:13:59 19/11/2013</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">

0d 14:47</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">0d 00:00</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none">

</td></tr><tr style="border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(230,230,230)"><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:47px">

4</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:190px">node1</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:153px">

none</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:96px">NONE</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:155px">

10:00:15 20/11/2013</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">0d 02:17</td><td style="margin:0px;padding:3px 10px;direction:ltr;line-height:18px;color:rgb(51,51,51);vertical-align:top;border:none;width:154px">

0d 00:00</td></tr></tbody></table></div><div>I must admit to being a little confused, my "capacity" tab on VM's has only a "resize" button .. which is inactive (?)</div><div>(cpds sounds ideal if I can find how to use it .. :)  )</div>

<div><br></div><div><span></span><div><div><span style="font-size:small">--</span></div><div><table class="mceItemTable"><tbody><tr><td><img></td><td><b style="font-family:verdana,Helvetica,sans-serif;font-size:11px;line-height:14px">Gareth Bult</b><br>

 <span style="color:rgb(102,102,102)"><span style="font-family:verdana,Helvetica,sans-serif"><span style="font-size:11px;line-height:14px">“The odds of hitting your target go up dramatically when you aim at it.”</span></span></span><span style="color:rgb(102,102,102)"><br>

 </span><span style="color:rgb(102,102,102)"><br></span><span style="color:rgb(102,102,102)"><br></span></td></tr></tbody></table></div></div><span></span><br></div><hr><div style="font-size:12pt;font-style:normal;font-family:Helvetica,Arial,sans-serif;text-decoration:none;font-weight:normal">

<b>From: </b>"Ruben S. Montero" <<a href="mailto:rsmontero@opennebula.org" target="_blank">rsmontero@opennebula.org</a>><br><b>To: </b>"Gareth Bult" <<a href="mailto:gareth@linux.co.uk" target="_blank">gareth@linux.co.uk</a>><br>

 <b>Cc: </b>"users" <<a href="mailto:users@lists.opennebula.org" target="_blank">users@lists.opennebula.org</a>><br><b>Sent: </b>Wednesday, 20 November, 2013 11:20:09 AM<br><b>Subject: </b>Re: [one-users] Re; Snapshots ...<br>

<div><br></div><div dir="ltr">Hi<div><br></div><div>As you know there are two types of snapshots, system and disk. Disk only snapshots are handled through the capacity tab in sunstone and eventually by the CPDS script in the TM. System snapshots are handled by the snapshot script of VMM.</div>

<div><br></div><div>There are no plans to redesign this, disk snapshotting can use a custom storage facility through "cpds", but system snapshots will be handled through the hypervisor....</div><div><br></div><div>

Note that system snapshots require also to checkpoint the memory state of the system, thats the reason for requiring qcow2 in kvm. So I am not really sure how this two processes, memory and disk snapshot, can be orchestrated outside of libvirt, maybe libvirt hooks?</div>

<div><br></div><div>About the bug, I am wondering if this is a rendering issue or something deeper, could you send the output of:</div><div><br></div><div><div>onevm show <VM_ID> -x</div></div><div><br></div><div>Cheers</div>

<div><br></div><div>Ruben</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div><br></div><div class="gmail_quote">On Wed, Nov 20, 2013 at 11:19 AM, Gareth Bult <span dir="ltr"><<a href="mailto:gareth@linux.co.uk" target="_blank">gareth@linux.co.uk</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br> <br> It seems that the snapshot facility relies on the "libvirt" snapshot facility wh</blockquote>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">ich at the moment<br> relies entirely upon the QEMU snapshot facility, which means you can really only snapshot QCOW<br>

 images. Before I start to modify remotes/bmm/kvm/snapshot*, is there a way or are there any plans<br> to move snapshot functionality to the drivers such that we can use a custom snapshot facility on<br> a per storage facility basis?<br>

 <br> Case in point;<br> <br> At the moment there seems to be a script which does this;<br> <br> virsh --connect $LIBVIRT_URI snapshot-create-as $DOMAIN (which is QCOW2 only?)<br> <br> I would like it to be able to handle this;<br>

 <br> vdc-tool -n ON_IM_81 --mksnap "First Snapshot"<br> >  :: Snapshot created [First Snapshot]<br> <br> vdc-tool -n ON_IM_81 --lssnap<br> +----------+--------------------------------------+----------+----------+----------------------+<br>

 | UniqueID | Snapshot Name                        |     Size |   Blocks | Created@             |<br> +----------+--------------------------------------+----------+----------+----------------------+<br> | 1        | First Snapshot                       |  662.53M |   370404 | 20 Oct 2013 09:55:08 |<br>

 |          | 6c0ca1c0-9d62-474a-83fc-369fa01d4068 |          |          | Root:     1196295401 |<br> +----------+--------------------------------------+----------+----------+----------------------+<br> Number of snapshot blocks used (370404) taking ( 662.53M)<br>

 Current committed blocks = 652079<br> Current blocks (0 ) and current size (   0.00b)<br> <br> Obviously the vdc-tool output can be tweaked as necessary .. I would like to be able to integrate<br> this into libvirt, but the snapshot API in libvirt appears still to be on the drawing board whereas<br>

 I already have a working / usable snapshot facility ... any thoughts ?<br> <br> Incidentally, I think I just spotted a bug on the Placement log;<br> <br> #       Host    Action  Reason  Chg time                        Total time      Prolog time<br>

 0       node3   live-migrate    USER    19:08:46 19/11/2013     0d 00:01        0d 00:00<br> 1       node2   live-migrate    USER    19:09:44 19/11/2013     0d 00:03        0d 00:00<br> 2       node1   live-migrate    USER    19:12:56 19/11/2013     0d 00:01        0d 00:00<br>

 3       node3   live-migrate    USER    19:13:59 19/11/2013     0d 14:47        0d 00:00<br> 4       node1   none            NONE    10:00:15 20/11/2013     30d 23:55       0d 00:00<br> <br> We've accumulated 30d of total time overnight ?!<br>

 (yes, the clocks are in sync ...)<br> <span><span style="color:rgb(136,136,136)"><br> --<br> Gareth Bult<br> “The odds of hitting your target go up dramatically when you aim at it.”<br> _______________________________________________<br>

 Users mailing list<br> <a href="mailto:Users@lists.opennebula.org" target="_blank">Users@lists.opennebula.org</a><br> <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><span><span style="color:rgb(136,136,136)"><br>

 </span></span></span></span></blockquote></div><span><span><span style="color:rgb(136,136,136)"><br><br clear="all"></span></span></span><div><br></div><span><span><span style="color:rgb(136,136,136)">-- <br>

</span></span></span><div dir="ltr"><div><div>-- <br></div></div>Ruben S. Montero, PhD<br>Project co-Lead and Chief Architect<div>OpenNebula - Flexible Enterprise Cloud Made Simple<br> <a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:rsmontero@opennebula.org" target="_blank">rsmontero@opennebula.org</a> | @OpenNebula</div>

</div></div></div><div><br></div></div></div></blockquote></div><span class=""><span color="#888888" data-mce-style="color: #888888;" style="color: #888888;"><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><div>-- <br></div></div>Ruben S. Montero, PhD<br>Project co-Lead and Chief Architect<div>

OpenNebula - Flexible Enterprise Cloud Made Simple<br> <a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:rsmontero@opennebula.org" target="_blank">rsmontero@opennebula.org</a> | @OpenNebula</div>

</div></span></span></div></div></div><div><br></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><div>-- <br></div></div>Ruben S. Montero, PhD<br>Project co-Lead and Chief Architect<div>

OpenNebula - Flexible Enterprise Cloud Made Simple<br><a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:rsmontero@opennebula.org" target="_blank">rsmontero@opennebula.org</a> | @OpenNebula</div>

</div>
</div></div>
</div><div><br></div></div></body></html>