Virtual machine time travel using continuous data protection and checkpointing

Virtual machine (VM) time travel enables reverting a virtual machine's state, both transient and persistent, to past points in time. This capability can be used to improve virtual machine availability, to enable forensics on past VM states, and to recover from operator errors. We present an approach to virtual machine time travel which combines Continuous Data Protection (CDP) storage support with live-migration-based virtual machine checkpointing. In particular, we present a novel approach for CDP which enables efficient reverts of the storage state to past points in time and makes it possible to undo a revert, and this is achieved using a simple branched-temporal data structure. We also present a design and implementation of a simple live-migration-based checkpointing mechanism in Xen.

[1]  Song Jiang,et al.  Current practice and a direction forward in checkpoint/restart implementations for fault tolerance , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[2]  Andrew Warfield,et al.  SecondSite: Disaster Protection for the Common Server , 2006, HotDep.

[3]  David A. Patterson,et al.  Undo for Operators: Building an Undoable E-mail Store , 2003, USENIX Annual Technical Conference, General Track.

[4]  Jeff Dike,et al.  A user-mode port of the Linux kernel , 2000, Annual Linux Showcase & Conference.

[5]  Andrew Warfield,et al.  Parallax: Managing Storage for a Million Machines , 2005, HotOS.

[6]  Michael Vrable,et al.  Scalability, fidelity, and containment in the potemkin virtual honeyfarm , 2005, SOSP '05.

[7]  Rudolf Bayer,et al.  Organization and maintenance of large ordered indexes , 1972, Acta Informatica.

[8]  Norman C. Hutchinson,et al.  Deciding when to forget in the Elephant file system , 1999, SOSP.

[9]  R. Bayer,et al.  Organization and maintenance of large ordered indices , 1970, SIGFIDET '70.

[10]  Qing Yang,et al.  TRAP-Array: A Disk Array Architecture Providing Timely Recovery to Any Point-in-time , 2006, ISCA 2006.

[11]  Paula Ta-Shma,et al.  Architectures for Controller Based CDP , 2007, FAST.

[12]  Margo I. Seltzer Berkeley DB: A Retrospective , 2007, IEEE Data Eng. Bull..

[13]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[14]  Andrew Warfield,et al.  Facilitating the Development of Soft Devices , 2005, USENIX Annual Technical Conference, General Track.

[15]  Geoffroy Vallée,et al.  Checkpoint/Restart of Virtual Machines Based on Xen , 2006 .

[16]  Eric Jul,et al.  Self-migration of operating systems , 2004, EW 11.

[17]  Samuel T. King,et al.  Debugging Operating Systems with Time-Traveling Virtual Machines (Awarded General Track Best Paper Award!) , 2005, USENIX Annual Technical Conference, General Track.

[18]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[19]  Randal C. Burns,et al.  Ext3cow: a time-shifting file system for regulatory compliance , 2005, TOS.

[20]  Erez Zadok,et al.  Versatility and Unix Semantics in a Fan-Out Unification File System , 2004 .

[21]  Jochen Liedtke,et al.  Transparent Orthogonal Checkpointing through User-Level Pagers , 2000, POS.

[22]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[23]  M. Rosenblum,et al.  Optimizing the migration of virtual computers , 2002, OSDI '02.

[24]  Renato J. O. Figueiredo,et al.  VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[25]  Alain Azagury Point-in-Time Copy: Yesterday, Today and Tomorrow , 2002 .

[26]  David B. Lomet,et al.  The BT-tree: A Branched and Temporal Access Method , 2000, VLDB.

[27]  David K. Gifford,et al.  A caching file system for a programmer's workstation , 1985, SOSP '85.

[28]  Vassilis J. Tsotras,et al.  Comparison of access methods for time-evolving data , 1999, CSUR.

[29]  Steven D. Gribble,et al.  Configuration Debugging as Search: Finding the Needle in the Haystack , 2004, OSDI.