We just completed an upgrade from vSphere/ESX 4.1 to ESXi 5.1. Under 4.1 we used VCB with NetBackup (7.1, I believe). We had purchased NetBackup Enterprise client licenses for some of the ESX servers (four of the six), and our reseller had led us to believe that we would only need ONE Enterprise license under ESX 5.1, as a single ESX host could act as the backup host for the entire cluster. When Symantec informed us otherwise, and also mentioned that three of our existing licenses needed to be upgraded (incorrect tier), and that the price would be $10k to get started and then $3500/year for updates/support in subsequent years, we went shopping.
We ended up finding ghettoVCB, and so far it is really everything we need.
As mentioned, we currently have six ESXi 5.1 servers. The systems use either NFS storage servers or Fibre Channel. We have a very cost effective secondary storage array that serves up NFS from a very large ZFS pool...we use this for the ghettoVCB backups, which we eventually spin off to tape. We created a VIB file to persistantly enable emailing logs (firewall hole). Once the VIB is created you need to run a couple of commands to install it:
#!/bin/bash
ssh -i /.ssh/esxi/ghettoVCB-esxi host1 < /dev/null > /dev/null 2>&1
ssh -i /.ssh/esxi/ghettoVCB-esxi host2 < /dev/null > /dev/null 2>&1
ssh -i /.ssh/esxi/ghettoVCB-esxi host3 < /dev/null > /dev/null 2>&1
ssh -i /.ssh/esxi/ghettoVCB-esxi host4 < /dev/null > /dev/null 2>&1
ssh -i /.ssh/esxi/ghettoVCB-esxi host5 < /dev/null > /dev/null 2>&1
ssh -i /.ssh/esxi/ghettoVCB-esxi host6 < /dev/null > /dev/null 2>&1
The cron job simply runs this script at the desired time:
0 18 * * 2 /usr/local/etc/ghettoVCB-run
The final piece is setting up a private SSH key to run the actual job. To do that, you need to create a key for OpenSSH and install that in the authorized_keys file on each ESXi host (in the /etc/ssh/keys-root folder). The private key is the one specified in the script above (-i), and the public key goes in the file. The entire thing ends up on one line and will end up looking like this:
command="/vmfs/volumes/NFS:deadspace:disk0/ghettoVCB.sh -g /vmfs/volumes/NFS:deadspace:disk0/ghettoVCB.conf -a > /dev/null",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-dss SSH_KEY_HERE root@cronhost