X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=vzdump.adoc;h=d9ccfe6adc4c45cfef8864217d02c5a0a99cc8d3;hp=7137a5a91f8529099f75d17a401a9a74431d4047;hb=d083d3d384304e74892ad5d6907c8eb9f1444fb8;hpb=38fd0958719a329859b3d0d719c37d5df15a2d8d diff --git a/vzdump.adoc b/vzdump.adoc index 7137a5a..d9ccfe6 100644 --- a/vzdump.adoc +++ b/vzdump.adoc @@ -25,52 +25,79 @@ Backup and Restore include::attributes.txt[] endif::manvolnum[] -'vzdump' is an utility to make consistent snapshots of running virtual -machines (VMs). It basically creates an archive of the VM private -area, which also includes the VM configuration files. 'vzdump' -currently supports LXC containers and QemuServer VMs. +'vzdump' is a utility to make consistent backups of running guest +systems. It basically creates an archive of the guest private area, +which also includes the guest configuration files. 'vzdump' currently +supports LXC containers and QemuServer VMs. There are several ways to +provide consistency (option `mode`), depending on the guest type. -There are several ways to provide consistency (option `mode`): +.Backup `mode` for VMs: `stop` mode:: -Stop the VM during backup. This results in a very long downtime. +This first performns a clean shutdown of the VM to make sure it is +stopped. It then starts the VM in suspended mode and uses the qemu +backup feature to dump all data. If the VM was running, we start +(resume) it immediately after starting the qemu backup task. This +keeps the downtime as low as possible. `suspend` mode:: -For containers, this mode uses rsync to copy the VM to a temporary -location (see option `--tmpdir`). Then the VM is suspended and a second -rsync copies changed files. After that, the VM is started (resume) -again. This results in a minimal downtime, but needs additional space -to hold the VM copy. - -For QemuServer, this mode will suspend the VM, start -a live backup, and resume the VM. +This mode does not really make sense for qemu. Please use snapshot +mode instead. `snapshot` mode:: -For containers, this mode uses the snapshotting facilities of the -underlying storage. A snapshot will be made of the container volume, -and the snapshot content will be archived in a tar file. - -For QemuServer, this mode will do a live backup similar to the -`snaphost` mode, but without suspending/resuming the VM. +This mode simply starts a qemu live backup task. If the guest agent +is enabled (`agent: 1`) and running, it calls 'guest-fsfreeze-freeze' +and 'guest-fsfreeze-thaw' to improve consistency. A technical overview of the Proxmox VE live backup for QemuServer can be found online -https://git.proxmox.com/?p=pve-qemu-kvm.git;a=blob;f=backup.txt[here], +https://git.proxmox.com/?p=pve-qemu-kvm.git;a=blob;f=backup.txt[here]. + +NOTE: Qemu backup provides snapshots on any storage type. It does +not require that the underlying storage supports snapshots. + + +.Backup `mode` for Containers: + +`stop` mode:: + +Stop the guest during backup. This results in a very long downtime. + +`suspend` mode:: + +This mode uses rsync to copy the container data to a temporary +location (see option `--tmpdir`). Then the container is suspended and a second +rsync copies changed files. After that, the container is started (resumed) +again. This results in minimal downtime, but needs additional space +to hold the container copy. ++ +When the container is on a local filesystem and the target storage of the backup +is an NFS server, you should set `--tmpdir` to reside on a local filesystem too, +as this will result in a many fold performance improvement. +Use of a local `tmpdir` is also required if you want to backup in `suspend` +mode a local container using ACLs to an NFS server. + +`snapshot` mode:: + +This mode uses the snapshotting facilities of the underlying +storage. A snapshot will be made of the container volume, and the +snapshot content will be archived in a tar file. + Backup File Names ----------------- -Newer version of vzdump encodes the virtual machine type and the +Newer versions of vzdump encode the virtual machine type and the backup time into the filename, for example vzdump-lxc-105-2009_10_09-11_04_43.tar -That way it is possible to store several backup into the same +That way it is possible to store several backup in the same directory. The parameter `maxfiles` can be used to specify the -maximal number of backups to keep. +maximum number of backups to keep. Restore ------- @@ -78,7 +105,7 @@ Restore The resulting archive files can be restored with the following programs. -`pct restore`:: Containers restore utility +`pct restore`:: Container restore utility `qmrestore`:: QemuServer restore utility @@ -87,20 +114,27 @@ For details see the corresponding manual pages. Configuration ------------- -Global configuration is stored in '/etc/vzdump.conf'. - - tmpdir: DIR - dumpdir: DIR - storage: STORAGE_ID - mode: snapshot|suspend|stop - bwlimit: KBPS - ionize: PRI - lockwait: MINUTES - stopwait: MINUTES - size: MB - maxfiles: N - script: FILENAME - exclude-path: PATHLIST +Global configuration is stored in '/etc/vzdump.conf'. The file uses a +simple colon separated key/value format. Each line has the following +format: + + OPTION: value + +Blank lines in the file are ignored, and lines starting with a '#' +character are treated as comments and are also ignored. + +We currently support the following options: + +include::vzdump.conf.5-opts.adoc[] + + +.Example 'vzdump.conf' Configuration +---- +tmpdir: /mnt/fast_local_disk +storage: my_backup_storage +mode: snapshot +bwlimit: 10000 +---- Hook Scripts ------------ @@ -116,14 +150,14 @@ File Exclusions First, this option is only available for container backups. 'vzdump' skips the following files with option `--stdexcludes` - /var/log/.+ - /tmp/.+ - /var/tmp/.+ - /var/run/.+pid + /var/log/?* + /tmp/?* + /var/tmp/?* + /var/run/?*pid Or you can manually specify exclude paths, for example: - # vzdump 777 --exclude-path '/tmp/.+' --exclude-path '/var/tmp/.+' + # vzdump 777 --exclude-path /tmp/ --exclude-path '/var/foo*' (only excludes tmp directories) @@ -133,17 +167,17 @@ Configuration files are also stored inside the backup archive Examples -------- -Simply dump VM 777 - no snapshot, just archive the VM private area and +Simply dump guest 777 - no snapshot, just archive the guest private area and configuration files to the default dump directory (usually '/var/liv//vz/dump/'). # vzdump 777 -Use rsync and suspend/resume to create an snapshot (minimal downtime). +Use rsync and suspend/resume to create a snapshot (minimal downtime). # vzdump 777 --mode suspend -Backup all VMs and send notification mails to root and admin. +Backup all guest systems and send notification mails to root and admin. # vzdump --all --mode suspend --mailto root --mailto admin @@ -151,19 +185,19 @@ Use snapshot mode (no downtime). # vzdump 777 --dumpdir /mnt/backup --mode snapshot -Backup more than one VM (selectively) +Backup more than one guest (selectively) # vzdump 101 102 103 --mailto root -Backup all VMs excluding VM 101 and 102 +Backup all guests excluding 101 and 102 # vzdump --mode suspend --exclude 101,102 -Restore a container to a new VM 600 +Restore a container to a new CT 600 # pct restore 600 /mnt/backup/vzdump-lxc-777.tar -Restore a Qemu/KVM machine to VM 601 +Restore a QemuServer VM to VM 601 # qmrestore /mnt/backup/vzdump-qemu-888.vma 601