]>
git.proxmox.com Git - pve-manager.git/blob - bin/vzdump
6 use PVE
:: RPCEnvironment
;
10 use Data
:: Dumper
; # fixme: remove
12 use base
qw(PVE::CLIHandler) ;
14 $ENV { 'PATH' } = '/sbin:/bin:/usr/sbin:/usr/bin' ;
18 die "please run as root \n " if $> != 0 ;
20 PVE
:: INotify
:: inotify_init
();
22 my $rpcenv = PVE
:: RPCEnvironment-
> init ( 'cli' );
24 $rpcenv -> init_request ();
25 $rpcenv -> set_language ( $ENV { LANG
});
26 $rpcenv -> set_user ( 'root @pam ' );
29 my $cmddef = [ 'PVE::API2::VZDump' , 'vzdump' , 'vmid' , undef ,
32 my $status = PVE
:: Tools
:: upid_read_status
( $upid );
33 exit ( $status eq 'OK' ?
0 : - 1 );
36 push @ARGV, 'help' if ! scalar ( @ARGV );
38 PVE
:: CLIHandler
:: handle_simple_cmd
( $cmddef, \
@ARGV, undef , $0 );
46 vzdump - backup utility for virtual machine
54 vzdump is an utility to make consistent snapshots of running virtual
55 machines (VMs). It basically creates a tar archive of the VM private area,
56 which also includes the VM configuration files. vzdump currently
57 supports OpenVZ and QemuServer VMs.
59 There are several ways to provide consistency (option C<mode>):
65 Stop the VM during backup. This results in a very long downtime.
69 For OpenVZ, this mode uses rsync to copy the VM to a temporary
70 location (see option --tmpdir). Then the VM is suspended and a second
71 rsync copies changed files. After that, the VM is started (resume)
72 again. This results in a minimal downtime, but needs additional space
75 For QemuServer, this mode work like C<stop> mode, but uses
76 suspend/resume instead of stop/start.
78 =item C<snapshot> mode
80 This mode uses LVM2 snapshots. There is no downtime, but snapshot mode
81 needs LVM2 and some free space on the corresponding volume group to
82 create the LVM snapshot.
86 =head1 BACKUP FILE NAMES
88 Newer version of vzdump encodes the virtual machine type and the
89 backup time into the filename, for example
91 vzdump-openvz-105-2009_10_09-11_04_43.tar
93 That way it is possible to store several backup into the same
94 directory. The parameter C<maxfiles> can be used to specify the maximal
95 number of backups to keep.
99 The resulting tar files can be restored with the following programs.
103 =item vzrestore: OpenVZ restore utility
105 =item qmrestore: QemuServer restore utility
109 For details see the corresponding manual pages.
113 Global configuration is stored in /etc/vzdump.conf.
118 mode: snapshot|suspend|stop
129 You can specify a hook script with option C<--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 (C<vzdump-hook-script.pl>).
131 =head1 EXCLUSIONS (OpenVZ only)
133 vzdump skips the following files wit option --stdexcludes
140 You can manually specify exclude paths, for example:
142 # vzdump 777 --exclude-path C</tmp/.+> --exclude-path C</var/tmp/.+>
144 (only excludes tmp directories)
146 Configuration files are also stored inside the backup archive (/etc/vzdump), and will be correctly restored.
150 VZDump does not save ACLs.
154 Simply dump VM 777 - no snapshot, just archive the VM private area and configuration files to the default dump directory (usually /vz/dump/).
158 Use rsync and suspend/resume to create an snapshot (minimal downtime).
160 # vzdump 777 --mode suspend
162 Backup all VMs and send notification mails to root and admin.
164 # vzdump --all --mode suspend --mailto root --mailto admin
166 Use LVM2 to create snapshots (no downtime).
168 # vzdump 777 --dumpdir /mnt/backup --mode snapshot
170 Backup more than one VM (selectively)
172 # vzdump 101 102 103 --mailto root
174 Backup all VMs excluding VM 101 and 102
176 # vzdump --mode suspend --exclude 101,102
178 Restore an OpenVZ machine to VM 600
180 # vzrestore /mnt/backup/vzdump-openvz-777.tar 600
182 Restore an Qemu/KVM machine to VM 601
184 # qmrestore /mnt/backup/vzdump-qemu-888.tar 601
186 Clone an existing container 101 to container 300 using pipes
188 # vzdump 101 --stdout|vzrestore - 300
192 vzrestore(1) qmrestore(1)
194 =include pve_copyright