VMware VirtualCenter snapshots allow you to preserve the state of the virtual machine so you can return to the same state repeatedly. Snapshots are a new feature for ESX Server 3.
The following sections are included in this chapter:
“Understanding Snapshots” on page 167
“Snapshot Manager” on page 171
“Restoring a Snapshot” on page 173
Understanding Snapshots
A snapshot captures the entire state of the virtual machine at the time you take the snapshot. This includes:
Memory state – The contents of the virtual machine’s memory.
Settings state – The virtual machine settings.
Disk state – The state of all the virtual machine’s virtual disks.
Snapshots operate on individual virtual machines. In a team of virtual machines, taking a snapshot preserves the state of only the active virtual machine.
When you revert to a snapshot, you return all these items to the state they were in at the time you took that snapshot. If you want the virtual machine to be suspended, powered on, or powered off when you launch it, be sure it is in the desired state when you take that snapshot.
NOTE Snapshots of raw disks, RDM physical mode disks, or independent disks are not supported.
Snapshots are useful when you need to revert repeatedly to the same state but you don’t want to create multiple virtual machines. With snapshots, you create backup and restore positions in a linear process. You can also preserve a baseline before diverging a virtual machine in a process tree.
Snapshots can be used as restoration points during a linear or iterative process, such as installing update packages, or during a branching process, such as installing different versions of a program. Taking snapshots ensures that each installation begins from an identical baseline.
Multiple snapshots refers to the ability to create more than one snapshot of the same virtual machine. To take snapshots of multiple virtual machines, (for example, snapshots for all members of a team) requires that you take a separate snapshot of each team member.
Multiple snapshots are not simply a new way of saving your virtual machines. With multiple snapshots, you can save many positions to accommodate many kinds of work processes.
Although you can take snapshots up to 32 levels, the amount of time it takes to commit or delete those snapshots increases as the levels get deeper. The required time is directly proportional to the amount of data (committed or deleted) and the virtual machine’s RAM size.
Relationship Between Snapshots
The relationship between snapshots is like that of a parent to a child:
In the linear process, each snapshot has one parent and one child, except for the last snapshot, which has no children.
In the process tree, each snapshot has one parent, but one snapshot may have more than one child. Many snapshots have no children.
You can revert to a parent or a child.
Snapshots and Other Activity in the Virtual Machine
When you take a snapshot, be aware of other activity going on in the virtual machine and the likely effect of reverting to that snapshot. In general, it is best to take a snapshot when no applications in the virtual machine are communicating with other computers.
The potential for problems is greatest if the virtual machine is communicating with another computer, especially in a production environment.
For example, if you take a snapshot while the virtual machine is downloading a file from a server on the network, the virtual machine continues downloading the file, communicating its progress to the server. If you revert to the snapshot,
communications between the virtual machine and the server are confused and the file transfer fails. Another example is taking a snapshot while an application in the virtual machine is sending a transaction to a database on a separate machine. If you revert to
that snapshot—especially if you revert after the transaction starts but before it has been committed—the database is likely to be confused.
To take a snapshot
1 Choose Inventory > Virtual Machine > Snapshot > Take Snapshot.
You can also click the Take a snapshot of this virtual machine button, or right‐click the virtual machine and choose Snapshot > Take Snapshot.
The Take Virtual Machine Snapshot window appears.
2 Type a name for your snapshot.
3 (Optional) Type a description for your snapshot.
Descriptions are useful to identify differences between similarly named snapshots.
Descriptions appear in the Snapshot Manager.
4 Click OK.
A progress pop‐up menu box appears. When the snapshot has been successfully taken, it is listed in the Recent Tasks field at the bottom of VirtualCenter.
5 Click the target virtual machine to display tasks and events for this machine or, while the virtual machine is still selected, click the Tasks & Events tab.
Snapshot Actions Temporarily Disabled
Taking a snapshot is a synchronous operation. All user operations to the virtual machine during this period are blocked for snapshot and data consistency. The time
taken to develop a snapshot depends on the amount of data and the load on the server.
On average, the time ranges from 30 to 40 seconds for minimal snapshot creation.
You can take a snapshot while a virtual machine is powered on, powered off, or suspended. If you are suspending a virtual machine, wait until the suspend operation has finished before taking a snapshot.
You must power off the virtual machine before taking a snapshot if the virtual machine has multiple disks in different disk modes. For example, if you have a special purpose configuration that requires you to use an independent disk, you must power off the virtual machine before taking a snapshot.
Changing Disk Mode to Exclude Virtual Disks from Snapshots
You must power off and delete any existing snapshots before you attempt to change the disk mode. Deleting a snapshot involves committing the existing data on the snapshot disk to the parent disk.
To exclude a disk from a snapshot
1 Choose Inventory > Virtual Machine > Edit Settings.
2 Click the Hardware tab, and select the hard disk you want to exclude.
3 Under Mode, select Independent. Independent disks are not affected by snapshots.
You have the following persistence options for an independent disk:
Persistent – Changes are immediately and permanently written to the disk.
All changes to an independent disk in persistent mode remain, even when you revert to that snapshot.
Nonpersistent – Changes to the disk are discarded when you power off or revert to that snapshot.
4 Click OK.
Snapshot Manager
The Snapshot Manager lets you review all snapshots for the active virtual machine and act on them directly.
Snapshot Manager Window
The Snapshot Manager window contains the following areas: Snapshot tree, Details region, Command buttons, Navigation region, and a You are here icon.
Figure 11-1. Snapshot Manager
Details Region
This area displays the name and description of the selected snapshot. These fields are blank if you have not selected a snapshot.
Command Buttons
The Snapshot Manager has three command buttons: Go to, Delete, and Delete All.
Navigation Region
This area contains buttons for navigating out of the dialog box.
Close – Closes the snapshot manager.
Help – Opens the help system.
You Are Here Icon
The You are here icon represents the current operational state of the virtual machine.
The You are here icon is always selected and visible when you open the Snapshot Manager.
The You are here icon represents a state that is never a snapshot itself but rather the virtual machine state after the parent snapshot. A snapshot is always a static record of a virtual machine state. The You are here state can be operational and changing. Even when you create a snapshot of a powered off or suspended virtual machine, the You are here state is not identical to the snapshot.
You cannot go to or select the You are here state. You are here always represents the current and active state.
To use the Snapshot Manager
1 Choose Inventory > Virtual Machine > Snapshot > Snapshot Manager.
2 In the Snapshot Manager, select a snapshot by clicking it.
3 To go to a snapshot, click the Go to button to restore the virtual machine to any arbitrary snapshot.
The Go to command allows you to restore the state of any snapshot.
4 Click Yes in the confirmation dialog box.
5 To delete a snapshot, click the Delete button to permanently remove a snapshot from VirtualCenter use.
6 Click Yes in the confirmation dialog box.
7 To delete all snapshots, click the Delete All button to permanently remove all snapshots from VirtualCenter use.
NOTE Delete commits the snapshot data to the parent and then removes the selected snapshot. Delete All commits all the immediate snapshots before the You are here current state to the base disk and removes all existing snapshots for that virtual machine.
8 Click Yes in the confirmation dialog box.
9 Click Close to exit the Snapshot Manager.
Restoring a Snapshot
VMware VirtualCenter includes the following snapshot methods to allow you to return to the original virtual machine:
The Inventory > Virtual Machine > Snapshot menu contains the command Revert to Snapshot.
The Snapshot Manager has a Go to button.
Parent Snapshot
To discern between the Revert to Snapshot and Go to commands, you must understand what is meant by the parent snapshot.
The parent snapshot is the most recently saved version of the current state of the virtual machine. If you have just taken a snapshot, that stored state is the parent snapshot of the current state. If you revert or go to a snapshot, that snapshot becomes the parent of the current state.
Identifying the Parent Snapshot
The parent snapshot is always the snapshot appearing to immediately above the You are here icon in the Snapshot Manager.
Figure 11-2. Parent Snapshot
NOTE The parent snapshot is not always the snapshot you took most recently. For example, if you take a snapshot today and then Go to a snapshot you took yesterday, the snapshot you took today is no longer the parent of the current state of the virtual machine. The parent snapshot has become the snapshot you took yesterday.
Revert to Snapshot Command
Revert to Snapshot is essentially a shortcut to go to the parent snapshot of You are here. This command immediately activates the parent snapshot of the current state of the virtual machine.
The current disk and memory states are discarded and will be restored as they were when you took that snapshot if your parent snapshot was taken when the virtual machine was powered off. In that case, choosing Snapshot > Revert to Snapshot moves the powered‐on virtual machine to that parent state, that is, to a powered‐off state.
Parent Snapshot
Figure 11-3. Revert to Snapshot
There are three ways to revert to the parent snapshot:
Choose Inventory > Virtual Machine > Snapshot > Revert to Snapshot.
Click the Revert to snapshot button on the toolbar.
Right‐click the virtual machine, and choose Snapshot > Revert to Snapshot.
take a snapshot
Virtual machine with no snapshots.
take a snapshot
go to snapshot_a
The new snapshot (snapshot_a) is now the parent of the You are here state. The parent snapshot of the You are here state is the parent snapshot of the virtual machine.
When you take a snapshot from the snapshot_a state, snapshot_a becomes the parent of the new shapshot (snapshot_b) and snapshot_b is the parent shapshot of the You are here state.
If you take a snapshot now, the new snapshot will be based on the snapshot_b state.
When you revert a virtual machine, the virtual machine returns to the parent snapshot of the virtual machine (that is, the parent of the current You are here state).
When you go to snapshot_a, snapshot_a becomes the parent of the You are here state.
If you take a snapshot now, the new snapshot will be based on the snapshot_a state.