<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mv="http://macVmlSchemaUri" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Courier New";
        panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New",serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier",serif;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Putting the image on tmpfs cut the snapshot time down by quite a bit. It didn’t do much for the restore time, probably because the images I’m using fit in the file cache already.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now I’m going to look in to profiling qemu to see where it’s spending all of its time.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">-- <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Gary Jackson</span><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Doug Hughes <doug.hughes@keystonenap.com><br>
<b>Date: </b>Tuesday, September 19, 2017 at 12:59 PM<br>
<b>To: </b>"Jackson, Gary L." <Gary.Jackson@jhuapl.edu>, "libvirt-users@redhat.com" <libvirt-users@redhat.com><br>
<b>Subject: </b>Re: [libvirt-users] Rollback to running VM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p>I would estimate you are bounded by memory bandwidth (GB/sec - so not much, but proportional to memory size) and disk bandwidth. So, using SSD will help for certain vs spinning. I'm not sure about the catch-22 implicit with using a ramdisk, but since the
 ramdisk should be previsioned from the host to the guest, it seems like it should work.<o:p></o:p></p>
<p>There may be other bottlenecks in drivers, etc. Not in my knowledge domain.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 9/19/2017 12:53 PM, Jackson, Gary L. wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks! The vanilla snapshot-create-as and revert commands work just exactly the way I’d want them to. I’d gotten a bit confused by the documentation and went down a rabbit hole with external snapshots.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Is there any way to make the snapshot and restore faster, like maybe by a decimal order of magnitude? For example, will PXE booting the VM and running it entirely off of a RAM disk and also using a RAM disk for the backing store help?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">-- </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Gary Jackson</span><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Doug Hughes
</span><a href="mailto:doug.hughes@keystonenap.com"><span style="font-size:12.0pt"><doug.hughes@keystonenap.com></span></a><span style="font-size:12.0pt;color:black"><br>
<b>Date: </b>Tuesday, September 19, 2017 at 11:25 AM<br>
<b>To: </b>"Jackson, Gary L." </span><a href="mailto:Gary.Jackson@jhuapl.edu"><span style="font-size:12.0pt"><Gary.Jackson@jhuapl.edu></span></a><span style="font-size:12.0pt;color:black">,
</span><a href="mailto:libvirt-users@redhat.com"><span style="font-size:12.0pt">"libvirt-users@redhat.com"</span></a><span style="font-size:12.0pt;color:black">
</span><a href="mailto:libvirt-users@redhat.com"><span style="font-size:12.0pt"><libvirt-users@redhat.com></span></a><span style="font-size:12.0pt;color:black"><br>
<b>Subject: </b>Re: [libvirt-users] Rollback to running VM</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">According to this page: <a href="https://wiki.libvirt.org/page/Snapshots">
https://wiki.libvirt.org/page/Snapshots</a><br>
It saves complete memory state, or crash-consistent disk state, but not both.<br>
<br>
You probably want to test it thoroughly and see how it does.  I only use the disk-consistent snapshots.<o:p></o:p></p>
<div>
<p class="MsoNormal">On 9/19/2017 11:17 AM, Jackson, Gary L. wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre>Will snapshot-revert restore the processor and memory state of the VM as it was at the time of the snapshot?<o:p></o:p></pre>
<pre> <o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">-- <o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td width="90%" style="width:90.0%;padding:.75pt .75pt .75pt 15.0pt">
<p class="MsoNormal">Doug Hughes<br>
Keystone NAP<br>
Fairless Hills, PA<br>
1.844.KEYBLOCK (539.2562)<o:p></o:p></p>
</td>
<td style="padding:.75pt 15.0pt .75pt .75pt;align:
                  right">
<p class="MsoNormal"><img border="0" width="185" height="110" id="Picture_x0020_1" src="cid:image001.png@01D336EB.C974B600" alt="cid:image001.png@01D33386.90476A70"><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">-- <o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td width="90%" style="width:90.0%;padding:.75pt .75pt .75pt 15.0pt">
<p class="MsoNormal">Doug Hughes<br>
Keystone NAP<br>
Fairless Hills, PA<br>
1.844.KEYBLOCK (539.2562)<o:p></o:p></p>
</td>
<td style="padding:.75pt 15.0pt .75pt .75pt;align: right">
<p class="MsoNormal"><img border="0" width="185" height="110" id="Picture_x0020_2" src="cid:image002.png@01D336EB.C974B600" alt="cid:image002.png@01D33386.90476A70"><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>