include::attributes.txt[]
endif::manvolnum[]
-'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.
+Backups are a requirements for any sensible IT deployment, and {pve}
+provides a fully integrated solution, using the capabilities of each storage
+and each guest system type. This allows the system administrator to fine tune via
+the `mode` option between consistency of the backups and downtime of the guest
+system. Proxmox VE backups are always full backups - containing the VM/CT
+configuration and all data.
+Backups can be started via the GUI or via the `vzdump` command line tool.
+
+.Backup Storage
+
+Before a backup can run, a backup storage must be defined.
+Refer to the Storage documentation on how to add a storage. A backup storage
+must be a file level storage, as backups are stored as regular files.
+In most situations, using a NFS server is a good way to store backups.
+You can save those backups later to a tape drive, for off-site archive.
+
+.Scheduled Backup
+
+Backup jobs can be scheduled so that they are executed automatically on
+ specific days and times, for selectable nodes and guest systems.
+Configuration of scheduled backups is done at the Datacenter level in the GUI,
+which will generate a cron entry in /etc/cron.d/vzdump.
+
+Backup modes
+------------
+There are several ways to provide consistency (option `mode`),
+depending on the guest type.
-.Backup `mode` for VMs:
+.Backup modes for VMs:
`stop` mode::
-
-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.
+This mode provides the highest consistency of the backup, at the
+cost of a downtime in the VM operation.
+It works by executing an orderly shutdown of the VM, and then runs a background
+Qemu process to backup the VM data. After the backup is complete, the
+Qemu process resumes the VM to full operation mode if it was previously running.
`suspend` mode::
-This mode does not really make sense for qemu. Please use snapshot
-mode instead.
+This mode is provided for compatibility reason, and suspends the VM before
+calling the `snapshot` mode. Since suspending the VM results in a longer
+downtime and does not necessarily improve the data consistency,
+the use of the `snapshot` mode is recommended instead.
`snapshot` mode::
-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.
+This mode provides the lowest operation downtime, at the cost of a small
+inconstancy risk.
+It works by performing a Proxmox VE live backup, in which data blocks are copy
+while the VM is running. 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].
-NOTE: Qemu backup provides snapshots on any storage type. It does
-not require that the underlying storage supports snapshots.
-
+NOTE: For VMs, this _snapshot_ mode relates to the fact that the backup is
+performed while the VM is running. This has here nothing to do with file systems
+snapshots and can be operated on any kind of storage.
-.Backup `mode` for Containers:
+.Backup modes for Containers:
`stop` mode::
-Stop the guest during backup. This results in a very long downtime.
+Stop the container for the duration of the backup. This potentially results in
+a very long downtime.
`suspend` mode::
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.
+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. A snapshot will be made of the container volume, and the
-snapshot content will be archived in a tar file.
+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).
+
+NOTE: bind and device mountpoints are skipped during backup operations, like
+volume mountpoints with the backup option disabled.
Backup File Names
-----------------
-Newer versions of vzdump encode 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
OPTION: value
Blank lines in the file are ignored, and lines starting with a '#'
-character are treated as comments and are also ignored.
+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:
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
-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/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 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
# 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