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
| @@ -2,6 +2,8 @@ version 0.8.3: | @@ -2,6 +2,8 @@ version 0.8.3: | ||
| 2 | 2 | ||
| 3 | - Support for relative paths in backing files for disk images | 3 | - Support for relative paths in backing files for disk images |
| 4 | - Async file I/O API | 4 | - Async file I/O API |
| 5 | + - New qcow2 disk image format | ||
| 6 | + - Support of multiple VM snapshots | ||
| 5 | 7 | ||
| 6 | version 0.8.2: | 8 | version 0.8.2: |
| 7 | 9 |
qemu-doc.texi
| @@ -743,6 +743,8 @@ show USB devices plugged on the virtual USB hub | @@ -743,6 +743,8 @@ show USB devices plugged on the virtual USB hub | ||
| 743 | show all USB host devices | 743 | show all USB host devices |
| 744 | @item info capture | 744 | @item info capture |
| 745 | show information about active capturing | 745 | show information about active capturing |
| 746 | +@item info snapshots | ||
| 747 | +show list of VM snapshots | ||
| 746 | @end table | 748 | @end table |
| 747 | 749 | ||
| 748 | @item q or quit | 750 | @item q or quit |
| @@ -777,11 +779,18 @@ info capture | @@ -777,11 +779,18 @@ info capture | ||
| 777 | @item log item1[,...] | 779 | @item log item1[,...] |
| 778 | Activate logging of the specified items to @file{/tmp/qemu.log}. | 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 | @item stop | 795 | @item stop |
| 787 | Stop emulation. | 796 | Stop emulation. |
| @@ -895,11 +904,14 @@ CPU registers by prefixing them with @emph{$}. | @@ -895,11 +904,14 @@ CPU registers by prefixing them with @emph{$}. | ||
| 895 | 904 | ||
| 896 | Since version 0.6.1, QEMU supports many disk image formats, including | 905 | Since version 0.6.1, QEMU supports many disk image formats, including |
| 897 | growable disk images (their size increase as non empty sectors are | 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 | @menu | 911 | @menu |
| 901 | * disk_images_quickstart:: Quick start for disk image creation | 912 | * disk_images_quickstart:: Quick start for disk image creation |
| 902 | * disk_images_snapshot_mode:: Snapshot mode | 913 | * disk_images_snapshot_mode:: Snapshot mode |
| 914 | +* vm_snapshots:: VM snapshots | ||
| 903 | * qemu_img_invocation:: qemu-img Invocation | 915 | * qemu_img_invocation:: qemu-img Invocation |
| 904 | * disk_images_fat_images:: Virtual FAT disk images | 916 | * disk_images_fat_images:: Virtual FAT disk images |
| 905 | @end menu | 917 | @end menu |
| @@ -926,6 +938,57 @@ a temporary file created in @file{/tmp}. You can however force the | @@ -926,6 +938,57 @@ a temporary file created in @file{/tmp}. You can however force the | ||
| 926 | write back to the raw disk images by using the @code{commit} monitor | 938 | write back to the raw disk images by using the @code{commit} monitor |
| 927 | command (or @key{C-a s} in the serial console). | 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 | @node qemu_img_invocation | 992 | @node qemu_img_invocation |
| 930 | @subsection @code{qemu-img} Invocation | 993 | @subsection @code{qemu-img} Invocation |
| 931 | 994 |