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