[PVE-User] VZDump: use --sparse on the first rsync
    John O. Stevens 
    john_o.stevens at yahoo.com
       
    Fri Sep 16 14:29:22 CEST 2011
    
    
  
Hello all, and thanks for the good work so far!
I've noticed that dumps of VZ containers with sparse files
take more disk space than they should, and so here is my
proposed solution.
Rsync is called two times; this patch uses the --sparse option the first
time it's called, in order to gain better handling of sparse files, and
use the --inplace option the second time it's called.
(The first time rsync is called, normally there are no files for
--inplace to work anyway)
jos
diff -up a/PVE/VZDump/OpenVZ.pm b/PVE/VZDump/OpenVZ.pm
--- a/PVE/VZDump/OpenVZ.pm        2011-08-18 07:08:03.000000000 +0200
+++ b/PVE/VZDump/OpenVZ.pm        2011-09-16 11:14:09.000000000 +0200
@@ -148,7 +148,14 @@
 
     $rsyncopts .= " --bwlimit=$opts->{bwlimit}" if $opts->{bwlimit};
 
-    $self->cmd ("rsync $rsyncopts -aH --delete --no-whole-file --inplace '$from' '$to'");
+    if ($text eq 'first') {
+       $rsyncopts="$rsyncopts --sparse";
+    } else {
+       $rsyncopts="$rsyncopts --inplace";
+    }
+    $self->loginfo ("rsync options: $rsyncopts");
+
+    $self->cmd ("rsync $rsyncopts -aH --delete --no-whole-file '$from' '$to'");
 
     my $delay = time () - $starttime;
    
    
More information about the pve-user
mailing list