| <?xml version='1.0' encoding='utf-8' ?> |
| <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
| <!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> |
| %BOOK_ENTITIES; |
| ]> |
| |
| <!-- Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <section id="vm-snapshots"> |
| <title>Virtual Machine Snapshots for VMware</title> |
| <para>(VMware hosts only) |
| In addition to the existing &PRODUCT; ability to snapshot individual VM volumes, |
| you can now take a VM snapshot to preserve all the VM's data volumes as well as (optionally) its CPU/memory state. |
| This is useful for quick restore of a VM. |
| For example, you can snapshot a VM, then make changes such as software upgrades. |
| If anything goes wrong, simply restore the VM to its previous state using the previously saved VM snapshot. |
| </para> |
| <para>The snapshot is created using the VMware native snapshot facility. The VM snapshot |
| includes not only the data volumes, but optionally also whether the VM is running or |
| turned off (CPU state) and the memory contents. The snapshot is stored in &PRODUCT;'s |
| primary storage.</para> |
| <para>VM snapshots can have a parent/child relationship. |
| Each successive snapshot of the same VM is the child of the snapshot that came before it. |
| Each time you take an additional snapshot of the same VM, it saves only the differences |
| between the current state of the VM and the state stored in the most recent previous snapshot. |
| The previous snapshot becomes a parent, and the new snapshot is its child. |
| It is possible to create a long chain of these parent/child snapshots, |
| which amount to a "redo" record leading from the current state of the VM back to the |
| original.</para> |
| <para>If you need more information about VM snapshots, check out the VMware documentation |
| and the VMware Knowledge Base, especially |
| <ulink url="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180">Understanding virtual machine snapshots</ulink>.</para> |
| <section id="vm-snapshot-restrictions"> |
| <title>Limitations on VM Snapshots</title> |
| <itemizedlist> |
| <listitem><para>If a VM has some stored snapshots, you can't attach new volume to the VM |
| or delete any existing volumes. |
| If you change the volumes on the VM, it would become impossible to restore the VM snapshot |
| which was created with the previous volume structure. |
| If you want to attach a volume to such a VM, first delete its snapshots. |
| </para></listitem> |
| <listitem><para>VM snapshots which include both data volumes and memory can't be kept if you change the VM's |
| service offering. Any existing VM snapshots of this type will be discarded.</para></listitem> |
| <listitem> |
| <para>You can't make a VM snapshot at the same time as you are taking a volume |
| snapshot.</para> |
| </listitem> |
| <listitem> |
| <para>The "quiesce" option is not supported. This option is provided by the underlying |
| VMware snapshot facility so that you can choose whether to quiesce the file system |
| on a running virtual machine before taking the snapshot. In &PRODUCT;, the quiesce option is always |
| set to false; the file system is not quiesced before taking a snapshot of a running VM. |
| </para> |
| </listitem> |
| <listitem><para>You should use only &PRODUCT; to create VM snapshots on VMware hosts managed by &PRODUCT;. |
| Any snapshots that you make directly on vSphere will not be tracked in &PRODUCT;.</para></listitem> |
| </itemizedlist> |
| </section> |
| <section id="vm-snapshot-configure"> |
| <title>Configuring VM Snapshots</title> |
| <para>The cloud administrator can use global configuration variables to control the behavior of VM snapshots. |
| To set these variables, go through the Global Settings area of the &PRODUCT; UI.</para> |
| <informaltable> |
| <tgroup cols="2" align="left" colsep="1" rowsep="1"> |
| <thead> |
| <row> |
| <entry><para>Configuration Setting Name</para></entry> |
| <entry><para>Description</para></entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry><para>vmsnapshots.max</para></entry> |
| <entry><para>The maximum number of VM snapshots that can be saved for any given virtual machine in the cloud. |
| The total possible number of VM snapshots in the cloud is (number of VMs) * vmsnapshots.max. |
| If the number of snapshots for any VM ever hits the maximum, the older ones are removed |
| by the snapshot expunge job. |
| </para></entry> |
| </row> |
| <row> |
| <entry><para>vmsnapshot.create.wait</para></entry> |
| <entry><para>Number of seconds to wait for a snapshot job to succeed before declaring failure and issuing an error.</para></entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable> |
| </section> |
| <section id="vm-snapshot-usage"> |
| <title>Using VM Snapshots</title> |
| <para>To create a VM snapshot using the &PRODUCT; UI:</para> |
| <orderedlist> |
| <listitem><para>Log in to the &PRODUCT; UI as a user or administrator.</para></listitem> |
| <listitem><para>Click Instances.</para></listitem> |
| <listitem><para>Click the name of the VM you want to snapshot.</para></listitem> |
| <listitem><para>Click the Take VM Snapshot button. |
| <inlinemediaobject> |
| <imageobject> |
| <imagedata fileref="./images/VMSnapshotButton.png" format="PNG"/> |
| </imageobject> |
| </inlinemediaobject></para> |
| <note><para>If a snapshot is already in progress, then clicking this button will have no effect.</para></note><para/> |
| </listitem> |
| <listitem><para>Provide a name and description. These will be displayed in the VM Snapshots list.</para></listitem> |
| <listitem><para>(For running VMs only) If you want to include the VM's memory in the snapshot, click the |
| Memory checkbox. This saves the CPU and memory state of the virtual machine. If you |
| don't check this box, then only the current state of the VM disk is saved. Checking |
| this box makes the snapshot take longer.</para></listitem> |
| <listitem><para>Click OK.</para></listitem> |
| </orderedlist> |
| <para>To delete a snapshot or restore a VM to the state saved in a particular snapshot:</para> |
| <orderedlist> |
| <listitem><para>Navigate to the VM as described in the earlier steps.</para></listitem> |
| <listitem><para>Click View VM Snapshots.</para></listitem> |
| <listitem><para>In the list of snapshots, click the name of the snapshot you want to work with.</para></listitem> |
| <listitem><para>Depending on what you want to do:</para> |
| <para>To delete the snapshot, click the Delete button. |
| <inlinemediaobject> |
| <imageobject> |
| <imagedata fileref="./images/delete-button.png" format="PNG"/> |
| </imageobject> |
| </inlinemediaobject></para> |
| <para>To revert to the snapshot, click the Revert button. |
| <inlinemediaobject> |
| <imageobject> |
| <imagedata fileref="./images/revert-vm.png" format="PNG"/> |
| </imageobject> |
| </inlinemediaobject></para> |
| </listitem> |
| </orderedlist> |
| <note><para>VM snapshots are deleted automatically when a VM is destroyed. |
| You don't have to manually delete the snapshots in this case.</para></note> |
| </section> |
| </section> |