System which allows a running virtual machine to have access to it's own previously stored states
Publication Date: 2014-Jun-18
The IP.com Prior Art Database
A method for allowing a running virtual machine (VM) to have access to it's own previously stored states is disclosed.
Page 01 of 3
System which allows a running virtual machine to have access to it 's own previously stored states
Disclosed is a method for allowing a running virtual machine (VM) to have access to it's own previously stored states.
Typically, virtual machine implementations include the notion of permanently saving the current state of the machine's virtual disks, refer to as "snapshots". Snapshots are great way to store and name the state of the virtual disk. They can later be retrieved or reverted to at any point in the future, typically in an extremely quick and easy way. For example, if a shared virtual machine used for software testing, a snapshot of a "clean" state may be saved. From there, the users of the VM go about their business with wild abandon and there is no need to worry about what changes are make (installing software, tweaking configuration, deleting system files, etc.) because the saved "clean" snapshot can be retrieved at any time. Essentially, this undoes any damage done by users to the VM's disk.
The problem is that there may be something in a previous snapshot that is needed (e.g. some file that is no longer present) in the current state of the machine, but returning to the clean state would cause significant time reflecting other changes. Current solutions to this problem involve a time-consuming multi-step process of:
Saving the current machine state in snapshotY
Reverting back to snapshotX that has what is needed
Booting up the VM and then transferring what is needed to an area that can be
accessed by the later machine state (e.g. a file server)
Reverting back to snapshotY
Booting up snapshotY and retrieving the information transferred in step 3.
Instead of these steps, the disclosed method is to have the VM host provide access to
the VM guest to the VM's own previous snapshot states. VirtualBox
® , for example, already has a mechanism whereby VM software itself can provide access to the host machine's filesystem to the guest OS. These appear to the guest OS as network shares which must be mounted through the typical mechanism offered by the guest OS. Once mounted, the guest OS has direct access to the filesystem from the host machine. A similar mechanism could be employed to provide the guest OS access to the previous snapshots of the VM's disk.
An example embodiment is described in the context of VirtualBox. However, the disclosed method works with any VM that supports snapshots.
VirtualBox snapshots are implemented as "differencing disks". Each snapshot is stored as a file which represents the difference (likely bitwise) between the current and previous states of the disk.
When the virtual machine disk is created, it creates one file, call it, "MyDisk.vdi", to represent the entire virtual disk. This file is understood to be read-write as well as being
Page 02 of 3
the "current" state of the disk.
MyDisk.vdi (rw "current")
The disk is used (installing the OS, configuring software, etc.) and MyDisk.v...