|
[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 |