[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC V9 3/4] domain snapshot design: xl
Changes to V8: * xl won't manage snapshots, that means it won't maintain json files, won't maintain snapshot chain relationship, and then as a result won't take care of deleting snapshot and listing snapshots. * remove snapshot-delete and snapshot-list interface * update snapshot-revert interface * update snapshot-create/revert implementaion =========================================================================== XL Design 1. User Interface xl snapshot-create: Create a snapshot (disk and RAM) of a domain. SYNOPSIS: snapshot-create <domain> [<cfgfile>] [--name <string>] [--live] OPTIONS: --name <string> snapshot name --live take a live snapshot If option includes --live, then the domain is not paused while creating the snapshot, like live migration. This increases size of the memory dump file, but reducess downtime of the guest. If option doens't include --name, a default name will be generated according to the creation time. If specify @cfgfile, use cfgfile. (e.g. if --name specifies a name, meanwhile there is name specified in cfgfile, name in cfgfile will be used.) xl snapshot-revert: Revert domain to status of a snapshot. SYNOPSIS: snapshot-revert <domain> <cfgfile> [--running] [--force] OPTIONS: --running after reverting, change state to running --force try harder on risky reverts Normally, the domain will revert to the same state the domain was in while the snapshot was taken (whether running, or paused). If option includes --running, then overrides the snapshot state to guarantee a running domain after the revert. 2. cfgfile syntax #snapshot name. If user doesn't provide a VM snapshot name, xl will generate #a name automatically by the creation time. name="" #snapshot description. Default is NULL. description="" #memory location. This field should be filled when memory=1. Default is NULL. memory_path="" #disk snapshot information #For easier parse config work, reuse disk configuration in xl.cfg, but #with different meanings. #disk syntax meaning: 'external path, external format, target device' #e.g. to specify exernal disk snapshot, like this: #disks=['/tmp/hda_snapshot.qcow2,qcow2,hda', '/tmp/hdb_snapshot.qcow2,qcow2,hdb',] #e.g. to specify internal disk snapshot, like this: disks=[',,hda',',,hdb',] 3. xl snapshot-xxx implementation "xl snapshot-create" 1), parse args or user configuration file. 2), save domain (store saved memory to memory_path) 3), create disk snapshots according to disk snapshot configuration 4), unpause domain "xl snapshot-revert" 1), parse user configuration file 2), destroy current domain 3), revert disk snapshots according to disk snapshot configuration 4), restore domain from saved memory. 4. Notes * user should take care of those snapshots, like: saved memory file, disk snapshots info (internal, external, etc.), snapshot chain relationship * user should delete snapshots by themselves with CLI commands like: rm, qemu-img, etc. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |