Having three ESXi in production with more than 500GB of vmdk disk images, I was looking for an alternative to ghettoVCB.sh (and MKSBackup scheduler)…
Rsync seemed a good solution but is not bundled with ESXi. You have to compile one ! Thanks to this and this blog posts, you can compile rsync under CentOS 3.9 (or download one allready compiled by those people).
Unfortunately, rsync < 3.1.0 has a bug with VMFS filesystems (see bug #8177), fixed in 3.1.0 revision from late september 2013. So that I compiled a new statically linked binary, using 3.1.0 source.
You can download the binary here: esxi-static-rsync-3-1-0.tar.gz.
If you want to use it to backup your VMs, you can use one of these scripts :
ESXi: Hot Replication of Running Virtual Machines (Bash)(dead link)VMware ESX 4: sauvegarde d'une VM sans VSphere CLI, avec SSH, Rsync, Snapshot (Perl)(dead link)
If necessary and if you use rsync in daemon mode, don’t forget to open ESXi firewall on dst port 873 UDP/TCP.
Add a /etc/vmware/firewall/rsync.xml
file with following content:
<ConfigRoot> | |
<service> | |
<id>rsync</id> | |
<rule id="0000"> | |
<direction>outbound</direction> | |
<protocol>tcp</protocol> | |
<porttype>dst</porttype> | |
<port>873</port> | |
</rule> | |
<rule id="0001"> | |
<direction>outbound</direction> | |
<protocol>udp</protocol> | |
<porttype>dst</porttype> | |
<port>873</port> | |
</rule> | |
<enabled>true</enabled> | |
<required>false</required> | |
</service> | |
</ConfigRoot> |
Dont’t forget to reload the firewall with esxcli network firewall refresh
and verify your newly added rule with esxcli network firewall ruleset list
.
(2013-12-08: binary also works on ESXi 5.5.)