April 8, 2009

VCB Wrangler

I think that VMware Consolidated Backup is the coolest feature of VI3. I know that it wouldn't be the popular choice if a poll were taken, it would probably be way down the list from the much sexier VMotion and HA features. But if you really consider its impact on disaster recovery, it has to be regarded as a huge feature.

System imaging solutions have been around for years, and many of them are very good. But there was always a big problem with system imaging for backup purposes before the virtualization paradigm shift; what if you have to restore to different hardware? The good imaging solutions had answers for this, but I just never felt 100% confident that a boot CD and in-place upgrade procedure were going to work in a real emergency. So VCB has a real advantage going for it, by virtualizing your servers, restorations are no longer an issue, as a VM gets the same virtual hardware no matter what the underlying platform is.

When VCB came out, I was working in an environment with some really old and scary servers. You know the ones, beige with maroon accents, look like the set of Star Trek: The Next Generation. The previous admin had built some of them with 4 GB system partitions, and some were even set up without RAID. Basically your worst nightmare waiting to happen, but a great way to sell your boss on a virtualization purchase!

Because these servers were so critical to the business, getting VCB up and running was the first priority, VMotion and gang would have to wait. So what a bummer it was to find that VMware had really just released VCB as a couple of command line applications, and expected you to work it out with your own backup vendor as to how to actually use it. Our vendor didn't have VCB integration yet, so I immediately set out to write my own wrapper and scheduler for VCB. A few weeks later VCB Wrangler was born, and it has been running VM backups in that environment for almost a year now.

If you are looking for a free VCB solution that you could even customize yourself, VCB Wrangler could be the perfect thing, but only in certain environments.

Good environments for VCB Wrangler:
  • VMs with smallish system partitions (60 GB or less)

  • VMs on local SCSI, iSCSI or Fibre Channel SANs

  • VMs with large data partitions are using virtual storage adapters (virtual NICS homed in the iSCSI network) or RDM to directly access SAN storage

  • Backup software is handling incremental backups of large user data stores

Bad environments for VCB Wrangler:
  • VMs have really large virtual disks

  • VMs are hosted from NFS storage (VCB does not currently support direct-from-SAN backup with NFS)

  • You need incremental system imaging

The nice thing about VCB Wrangler is that you can schedule it to run as a Windows Scheduled Task, or you can configure your backup software to run it as a pre-backup script. Here's some more info copied from the SourceForge page:

VCB Wrangler utilizes the VMware Consolidated Backup command line application vcbMounter.exe to schedule and manage bare-metal server backups. The VCB API is built into VMware Infrastructure 3, and does not require additional agent installations in the virtual machines. VCB is capable of backing up a VM with any operating system installed, and does not require VMware Tools be installed inside the VM. Using VCB Wrangler to capture complete hard drive images of VMs provides a free system imaging solution for VI3.

Features:

+ Easy configuration using an XML file

+ Simple per-VM scheduling from one configuration file

+ Direct from SAN and over the network backup modes supported

+ Runs in scheduled task batch mode or interactive single backup mode from the same VBScript

+ Sends an email with details on each virtual machine backed up

+ Able to use passthrough authentication eliminating the need to store any passwords in files

+ Safely renames existing VCB images during backups and restores them if a backup operation fails, ensuring good images remain on disk

+ Written in VBScript and does not require anything be installed on the VCB proxy server

+ Freely customizable to meet the needs of any environment



If it sounds interesting, check out the VCB Wrangler SourceForge site, http://sourceforge.net/projects/vcb-wrangler/

12 comments:

  1. I've been using this tool in our VMWare environment for about 8 months now and it is a great tool. The peace of mind it gives me is well worth the price of admission. Kudos to Robert for all the effort he has put into this.

    ReplyDelete
  2. Ii would be nice to create more than one backu. per VM?
    How is it possbile to create with this tool a good backup concept?

    ReplyDelete
  3. Ah, it took me a little while to get what you mean, I think you would like multiple backups to be kept, rather than the backups overwrite the files and folder every time. I hadn't thought of that, because I wrote this thinking it would be kicked off as a pre-backup script from whatever backup software you are using. So the backup software is handling the archiving, like if you changed the same Word document every day and backed it up every night, you wouldn't worry about saving it with a different filename every time, you know the backup software has an archival catalog of each version.
    But I am writing a new version of VCB Wrangler, mainly to include single VMDK backups, so I'll think about possibly including something like this.
    You could do this now, just use a different .xml file for each day's backup set, and point the .xml to a different base folder. But that may be a little tedious to maintain.

    ReplyDelete
  4. Interessing!, Can you advice an free Backupsoftware for your script? I have heard that robocopy could be used. What program are u using?

    ReplyDelete
  5. The tool is great! Only I can't use spaces in the names of the VM's?!

    ReplyDelete
  6. does the email feature work with single manual vm backups? trying to figure it out so no email report function yet

    ReplyDelete
  7. No email with a manual run, but I can add that in the next version, which is only a year overdue :)

    If you have spaces in the VM names (Ugh, aren't you making the VM names match the computer names?!), you should be able to wrap them in double quotes and have it work.

    ReplyDelete
  8. I tried the double quotes but that doens't work!

    ReplyDelete
  9. Ah yes, I went through the code last night and realized if there are spaces it messes up the folder naming, and a few other things. I didn't account for spaces, but will fix that in version 2. For now, you could try to use the IP address and the -s ipaddr option.

    ReplyDelete
  10. I renamed all virtual machines in the mean time and replaced the spaces for a "-". This works for now :-)

    ReplyDelete
  11. How are you guys running a restore from these backups? I've been having some issues: Remote server closed connection after 0 response bytes read.

    I've been using the converter to do test restores and it fails on that error

    ReplyDelete