vzdump - backup utility for virtual machine
vzdump help
vzdump {<vmid>} [OPTIONS] <vmid> string The ID of the VM you want to backup. -all boolean (default=0) Backup all known VMs on this host. -bwlimit integer (0 - N) Limit I/O bandwidth (KBytes per second). -compress (0 | 1 | gzip | lzo) (default=lzo) Compress dump file. -dumpdir string Store resulting files to specified directory. -exclude string exclude specified VMs (assumes --all) -exclude-path string exclude certain files/directories (regex). -ionice integer (0 - 8) Set CFQ ionice priority. -lockwait integer (0 - N) Maximal time to wait for the global lock (minutes). -mailto string no description available -maxfiles integer (1 - N) Maximal number of backup files per VM. -mode (snapshot | stop | suspend) (default=stop) Backup mode. -node string Only run if executed on this node. -quiet boolean (default=0) Be quiet. -remove boolean (default=1) Remove old backup files if there are more than 'maxfiles' backup files. -script string Use specified hook script. -size integer (500 - N) LVM snapshot size im MB. -stdexcludes boolean (default=1) Exclude temorary files and logs. -stdout boolean Write tar to stdout, not to a file. -stopwait integer (0 - N) Maximal time to wait until a VM is stopped (minutes). -storage string Store resulting file to this storage. -tmpdir string Store temporary files to specified directory.
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 OpenVZ and QemuServer VMs.
There are several ways to provide consistency (option mode
):
stop
modeStop the VM during backup. This results in a very long downtime.
suspend
modeFor OpenVZ, 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 work like stop
mode, but uses
suspend/resume instead of stop/start.
snapshot
modeThis mode uses LVM2 snapshots. There is no downtime, but snapshot mode needs LVM2 and some free space on the corresponding volume group to create the LVM snapshot.
Newer version of vzdump encodes the virtual machine type and the backup time into the filename, for example
vzdump-openvz-105-2009_10_09-11_04_43.tar
That way it is possible to store several backup into the same
directory. The parameter maxfiles
can be used to specify the maximal
number of backups to keep.
The resulting archive files can be restored with the following programs.
For details see the corresponding manual pages.
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
You can specify a hook script with option --script
. This script is called at various phases of the backup process, with parameters accordingly set. You can find an example in the documentation directory (vzdump-hook-script.pl
).
vzdump skips the following files wit option --stdexcludes
/var/log/.+ /tmp/.+ /var/tmp/.+ /var/run/.+pid
You can manually specify exclude paths, for example:
# vzdump 777 --exclude-path C</tmp/.+> --exclude-path C</var/tmp/.+>
(only excludes tmp directories)
Configuration files are also stored inside the backup archive (/etc/vzdump), and will be correctly restored.
VZDump does not save ACLs.
Simply dump VM 777 - no snapshot, just archive the VM private area and configuration files to the default dump directory (usually /vz/dump/).
# vzdump 777
Use rsync and suspend/resume to create an snapshot (minimal downtime).
# vzdump 777 --mode suspend
Backup all VMs and send notification mails to root and admin.
# vzdump --all --mode suspend --mailto root --mailto admin
Use LVM2 to create snapshots (no downtime).
# vzdump 777 --dumpdir /mnt/backup --mode snapshot
Backup more than one VM (selectively)
# vzdump 101 102 103 --mailto root
Backup all VMs excluding VM 101 and 102
# vzdump --mode suspend --exclude 101,102
Restore an OpenVZ machine to VM 600
# vzrestore /mnt/backup/vzdump-openvz-777.tar 600
Restore an Qemu/KVM machine to VM 601
# qmrestore /mnt/backup/vzdump-qemu-888.vma 601
Clone an existing container 101 to container 300 using pipes
# vzdump 101 --stdout|vzrestore - 300
vzrestore(1)
qmrestore(1)
Copyright (C) 2007-2011 Proxmox Server Solutions GmbH
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.