Using Undoable Disks

If you define a disk as undoable, you can choose whether to commit, discard, or keep modifications made to that disk during each VM session. VMware application tracks all changes during a session in a file called the redo log (a similar file is used for nonpersistent disks).

You cannot selectively commit some changes from a single VM session. Your choice is either to commit all changes or no changes from one VM session (or save all changes). You are prompted at the end of each session. If VMware application detects a redo log at power on (because you did not commit changes at last power off), you are prompted at the beginning of a session.

About the Redo Log

By default, VMware application creates and writes the redo log automatically in the same directory as the disk file for the VM. You can set or change the location of the redo log, before you power on a VM, using the VM configuration editor. Although you can use a remote file system, you are advised to locate the redo log on a local file system for better performance. If you use multiple IDE drives that are nonpersistent or undoable, the same location is used for all redo logs.

You should not open or edit the redo log file.

You can simply delete a redo log file between VM sessions. Equivalent to answering Discard, deleting the redo log has two effects: you will not be able to apply any changes from the previous VM session, nor will you be prompted at the beginning of the next session as shown in Figure 6. However, if you know that you do not wish to commit changes you can delete the redo log, as long as you do so between VM sessions.

Normally space for the redo log is not a problem. However, if you keep and append to one redo log between several VM sessions, particularly long or active sessions, then you may need to monitor the size of the redo log size if disk space is in short supply.

Options for Redo Log at Power Off

When using an undoable disk, you can apply, discard, or save all changes made to the disk during each VM session. The first opportunity you have to make the decision is when you power off the VM. Then you are prompted to commit the changes, discard them, or keep the redo log until you are prompted again at the next power on.:

Based on your answer, VMware application applies (and discards), discards, or continues writing to the redo log. These choices are described below.

Commit (the default)

VMware application applies all changes in the redo log, and deletes the existing redo log. This is equivalent to the prior session being persistent.

Discard

VMware application discards the redo log without applying any changes. This is equivalent to the prior session being nonpersistent.

Keep

This choice allows you to keep the redo log as is and be prompted when you next power on that VM.

Options for Redo Log at Power On

If VMware detects a redo log when you power on a VM, you are prompted to commit the changes, discard them, or keep the redo log until you are prompted again at the next power on

Commit (the default)

VMware applies all changes in the redo log, deletes the existing redo log, and opens a new redo log for the current session. This is equivalent to the prior session being persistent.

Discard

VMware application discards the redo log without applying any changes and opens a new redo log for writing during the current virtual machine session. This is equivalent to the prior session being nonpersistent.

Append

VMware application continues writing changes to the redo log. You can append the changes from several sessions by choosing the Keep option at power off followed by the Append action at power on.

Cancel

This option cancels the power on.

Redo Log Options after Abnormal Termination

A VM session can terminate abnormally for a number of different reasons. In almost all cases, the redo log is protected and can be applied when and as you wish. Different scenarios are described below:

If the guest operating system hangs or crashes and you press reset or power off, you are prompted again. Even though the guest operating system crashed, you can commit, discard, or keep the redo log to apply later. You can safely apply your changes if and when you want.

If VMware application has an error, the redo log is safe as well. Depending upon the type of error, you will be prompted either at power off or power on for what action to take with the redo log.

If the host operating system hangs or crashes, you may receive a warning message about the redo log. You will see the prompt at the next power on or power off of the VM, and you can commit, discard, or keep the redo log file.

In summary, the redo log is preserved if either the host or guest OS aborts abnormally, and VMware will prompt you for an action at the next appropriate decision point.

Redo Log Example

An example that uses all of the disk modes follows. Your Windows 95 VM has a persistent disk and several applications which you use regularly. Because you want to download and install some experimental software from the Internet, you decide to change the disk mode to undoable. You download and install software during one VM session, and when you are prompted at the power off, you answer Keep.

At the beginning of the next, second session, you answer Append to the prompt. During this session changes are appended to the file. When you power off the second session you are still not sure you want to keep the changes, so again you answer Keep.

When you start the third session you are still not sure, so you answer Append. During this session you decide the changes are desirable, so you answer Commit in response to the prompt when you power off. (Alternatively, you could answer Keep at power off and then answer Commit at power on.) In either case, when you start the fourth session, the entire redo log is committed to the disk, and the new software is "permanently" incorporated into the guest operating system.