]> git.proxmox.com Git - pve-docs.git/blobdiff - vzdump.adoc
update generated docs
[pve-docs.git] / vzdump.adoc
index 31f83d8c7d35ef5ff86ca60877e81ee3f760d43e..3276a32795dea2b4f334f8487d86815e77c8c8ef 100644 (file)
@@ -1,7 +1,7 @@
-include::attributes.txt[]
 ifdef::manvolnum[]
 PVE({manvolnum})
 ================
+include::attributes.txt[]
 
 NAME
 ----
@@ -22,54 +22,89 @@ endif::manvolnum[]
 ifndef::manvolnum[]
 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 container for the duration of the backup. This potentially 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 a local container
+using ACLs in suspend mode if the backup storage is an NFS server.
+
+`snapshot` mode::
+
+This mode uses the snapshotting facilities of the underlying
+storage. First, the container will be suspended to ensure data consistency.
+A temporary snapshot of the container's volumes will be made and the
+snapshot content will be archived in a tar file. Finally, the temporary
+snapshot is deleted again.
+
+NOTE: `snapshot` mode requires that all backed up volumes are on a storage that
+supports snapshots. Using the `backup=no` mountpoint option individual volumes
+can be excluded from the backup (and thus this requirement).
+
 
 Backup File Names
 -----------------
 
-Newer version of vzdump encodes the virtual machine type and the
+Newer versions of vzdump encode the guest 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
 -------
@@ -77,7 +112,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
 
@@ -86,20 +121,29 @@ 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. Values from
+this file are used as default, and can be overwritten on the command
+line.
+
+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
 ------------
@@ -112,57 +156,59 @@ directory ('vzdump-hook-script.pl').
 File Exclusions
 ---------------
 
-First, this option is only available for container backups. 'vzdump'
-skips the following files with option `--stdexcludes`
+NOTE: this option is only available for container backups.
+
+'vzdump' skips the following files by default (disable with the option
+`--stdexcludes 0`)
 
- /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:
+You can also manually specify (additional) 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)
 
 Configuration files are also stored inside the backup archive
-(`/etc/vzdump/`), and will be correctly restored.
+(in `./etc/vzdump/`) and will be correctly restored.
 
 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/').
+'/var/lib/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
 
-Use snapshot mode (no downtime).
+Use snapshot mode (no downtime) and non-default dump directory.
 
  # 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