Commit 13a2e80f04a24b5466ff22328f5374a461181c0a
1 parent
c88676f8
info about VM snapshots
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2096 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
70 additions
and
5 deletions
Changelog
qemu-doc.texi
| ... | ... | @@ -743,6 +743,8 @@ show USB devices plugged on the virtual USB hub |
| 743 | 743 | show all USB host devices |
| 744 | 744 | @item info capture |
| 745 | 745 | show information about active capturing |
| 746 | +@item info snapshots | |
| 747 | +show list of VM snapshots | |
| 746 | 748 | @end table |
| 747 | 749 | |
| 748 | 750 | @item q or quit |
| ... | ... | @@ -777,11 +779,18 @@ info capture |
| 777 | 779 | @item log item1[,...] |
| 778 | 780 | Activate logging of the specified items to @file{/tmp/qemu.log}. |
| 779 | 781 | |
| 780 | -@item savevm filename | |
| 781 | -Save the whole virtual machine state to @var{filename}. | |
| 782 | +@item savevm [tag|id] | |
| 783 | +Create a snapshot of the whole virtual machine. If @var{tag} is | |
| 784 | +provided, it is used as human readable identifier. If there is already | |
| 785 | +a snapshot with the same tag or ID, it is replaced. More info at | |
| 786 | +@ref{vm_snapshots}. | |
| 782 | 787 | |
| 783 | -@item loadvm filename | |
| 784 | -Restore the whole virtual machine state from @var{filename}. | |
| 788 | +@item loadvm tag|id | |
| 789 | +Set the whole virtual machine to the snapshot identified by the tag | |
| 790 | +@var{tag} or the unique snapshot ID @var{id}. | |
| 791 | + | |
| 792 | +@item delvm tag|id | |
| 793 | +Delete the snapshot identified by @var{tag} or @var{id}. | |
| 785 | 794 | |
| 786 | 795 | @item stop |
| 787 | 796 | Stop emulation. |
| ... | ... | @@ -895,11 +904,14 @@ CPU registers by prefixing them with @emph{$}. |
| 895 | 904 | |
| 896 | 905 | Since version 0.6.1, QEMU supports many disk image formats, including |
| 897 | 906 | growable disk images (their size increase as non empty sectors are |
| 898 | -written), compressed and encrypted disk images. | |
| 907 | +written), compressed and encrypted disk images. Version 0.8.3 added | |
| 908 | +the new qcow2 disk image format which is essential to support VM | |
| 909 | +snapshots. | |
| 899 | 910 | |
| 900 | 911 | @menu |
| 901 | 912 | * disk_images_quickstart:: Quick start for disk image creation |
| 902 | 913 | * disk_images_snapshot_mode:: Snapshot mode |
| 914 | +* vm_snapshots:: VM snapshots | |
| 903 | 915 | * qemu_img_invocation:: qemu-img Invocation |
| 904 | 916 | * disk_images_fat_images:: Virtual FAT disk images |
| 905 | 917 | @end menu |
| ... | ... | @@ -926,6 +938,57 @@ a temporary file created in @file{/tmp}. You can however force the |
| 926 | 938 | write back to the raw disk images by using the @code{commit} monitor |
| 927 | 939 | command (or @key{C-a s} in the serial console). |
| 928 | 940 | |
| 941 | +@node vm_snapshots | |
| 942 | +@subsection VM snapshots | |
| 943 | + | |
| 944 | +VM snapshots are snapshots of the complete virtual machine including | |
| 945 | +CPU state, RAM, device state and the content of all the writable | |
| 946 | +disks. In order to use VM snapshots, you must have at least one non | |
| 947 | +removable and writable block device using the @code{qcow2} disk image | |
| 948 | +format. Normally this device is the first virtual hard drive. | |
| 949 | + | |
| 950 | +Use the monitor command @code{savevm} to create a new VM snapshot or | |
| 951 | +replace an existing one. A human readable name can be assigned to each | |
| 952 | +snapshots in addition to its numerical ID. | |
| 953 | + | |
| 954 | +Use @code{loadvm} to restore a VM snapshot and @code{delvm} to remove | |
| 955 | +a VM snapshot. @code{info snapshots} lists the available snapshots | |
| 956 | +with their associated information: | |
| 957 | + | |
| 958 | +@example | |
| 959 | +(qemu) info snapshots | |
| 960 | +Snapshot devices: hda | |
| 961 | +Snapshot list (from hda): | |
| 962 | +ID TAG VM SIZE DATE VM CLOCK | |
| 963 | +1 start 41M 2006-08-06 12:38:02 00:00:14.954 | |
| 964 | +2 40M 2006-08-06 12:43:29 00:00:18.633 | |
| 965 | +3 msys 40M 2006-08-06 12:44:04 00:00:23.514 | |
| 966 | +@end example | |
| 967 | + | |
| 968 | +A VM snapshot is made of a VM state info (its size is shown in | |
| 969 | +@code{info snapshots}) and a snapshot of every writable disk image. | |
| 970 | +The VM state info is stored in the first @code{qcow2} non removable | |
| 971 | +and writable block device. The disk image snapshots are stored in | |
| 972 | +every disk image. The size of a snapshot in a disk image is difficult | |
| 973 | +to evaluate and is not shown by @code{info snapshots} because the | |
| 974 | +associated disk sectors are shared among all the snapshots to save | |
| 975 | +disk space (otherwise each snapshot would have to copy the full disk | |
| 976 | +images). | |
| 977 | + | |
| 978 | +When using the (unrelated) @code{-snapshot} option | |
| 979 | +(@ref{disk_images_snapshot_mode}), you can always make VM snapshots, | |
| 980 | +but they are deleted as soon as you exit QEMU. | |
| 981 | + | |
| 982 | +VM snapshots currently have the following known limitations: | |
| 983 | +@itemize | |
| 984 | +@item | |
| 985 | +They cannot cope with removable devices if they are removed or | |
| 986 | +inserted after a snapshot is done. | |
| 987 | +@item | |
| 988 | +A few device drivers still have incomplete snapshot support so their | |
| 989 | +state is not saved or restored properly (in particular USB). | |
| 990 | +@end itemize | |
| 991 | + | |
| 929 | 992 | @node qemu_img_invocation |
| 930 | 993 | @subsection @code{qemu-img} Invocation |
| 931 | 994 | ... | ... |