rsync, --sparse and VM disk images

Chris Dew cmsdew at
Fri Oct 9 05:48:55 MDT 2009

Hi Bas,

I'm not sure if this is of interest, but I also had issues with VM
disk-image sparse-files (in my case KVM, rather than VMWare), which
I've now resolved.

All the best,

Chris Dew.

P.S. Apologies for any breach of etiquette - I could not see Bas'
email address on
so I've replied via this list.

In reply to:

Author: Bas Bahlmann || Steady IT Systeembeheer
Date: 2009-03-18 08:022009-03-18 08:02 -000UTC
To: rsync
Subject: Is it possible to make rsync VMware split .vmdk's aware?

I am using rsync for my customers to have disaster recovery off-site
with files from a VMware Server (under Linux). All works very well, but
when I defragment the VM's (once a week) or Exchange defragments it's
datastore the disk layout changes offcourse and sometimes a lot.

What do I do:

- I am making a local copy with vmware-vdiskmanager to an USB
disk in the split "thin-disk" format of the vmdk's

- Then I start rsync to our datacenter to replicate the split
"thin-disk" vmdk's

What happens:

Sometimes, because of the defragment within the VM or Exchange, the disk
layout changes so much that a split .vmdk file that was very little and
now becomes filled with 2Gb data. As a result rsync has to transfer 2Gb
of data for that .vmdk which takes a lot of time. In my opnion that's
not nessesary because the data is probably available in another split
.vmdk because it was moved across the virtual disk.

My question:

Is it possible to make an option in Rsync which reads out the vmdk
config file for the split disks so it can search for known data across
all the split .vmdk files within one virtual disk? If this is possible
this will improve the rsync process in a major way!

The .vmdk config file looks like this:

Contents of "PVSBS2K3-1.vmdk":

# Disk DescriptorFile





# Extent description

RW 4192256 SPARSE "PVSBS2K3-1-s001.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s002.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s003.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s004.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s005.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s006.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s007.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s008.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s009.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s010.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s011.vmdk"

RW 4192256 SPARSE "PVSBS2K3-1-s012.vmdk"

RW 2147202 SPARSE "PVSBS2K3-1-s013.vmdk"

# The Disk Data Base


ddb.geometry.biosHeads = "255"

ddb.geometry.biosSectors = "63"

ddb.geometry.biosCylinders = "3265"

ddb.uuid = "60 00 C2 92 f3 f3 f2 72-66 dc e5 10 bd 92 16 44"

ddb.virtualHWVersion = "4"

ddb.toolsVersion = "6535"

ddb.geometry.cylinders = "3265"

ddb.geometry.heads = "255"

ddb.geometry.sectors = "63"

ddb.adapterType = "lsilogic"

I am looking forward to your answer,

Thanks in advance,

Bas Bahlmann

The Netherlands

Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options:
Before posting, read:


More information about the rsync mailing list