Vizioncore's got VMware's back

esxRanger 2.0 offers a slick, simple way to back up VMs

Technically, backing up virtual servers running on VMware ESX and Infrastructure server should be simple, given that they’re just disk images, not actual disks. In practice, however, it’s not quite so straightforward. VMware virtual machines are constantly writing changes to that disk image, and unless you have backup agent software running within the VM itself, backing up those disk images is like trying to hit a moving target. This is where Vizioncore’s esxRanger 2.0 comes into play.

An add-on for VMware ESX 2.x and Virtual Infrastructure Server 3, esxRanger streamlines the backup process, adding substantial disk image compression and file-level restore capabilities. It runs as a stand-alone application on a Windows workstation, requiring the .Net Framework, and it communicates directly with a VMware server, as well as with VMware’s VirtualCenter, if present.

The application comes as an MSI installer, making setup a snap. After esxRanger is in place, you have two options: a CLI or a GUI tool. The GUI’s CLI roots are evident, especially in the bottom frame, which displays the CLI command equivalent to the steps selected within the GUI -- handy when scripting the CLI.

The backup and restore process itself is the very model of simplicity. Armed with the root credentials to the VMware servers and administration rights to Virtual Center, esxRanger’s backup method is straightforward: It creates a snapshot of the target server and then leverages tar and gzip to collect and compress the snapshots and the VMDK (VM Disk Format) hardware configuration file for the target VM into an SSH connection between the ESX or VI3 server and the workstation. From there, the resulting tarball is placed onto the destination medium, whether it is a local disk, a SAN, or a simple Windows share. Alternatively, the backup may be directly placed on a file system mounted on the VMware server, be that a SAN LUN (logical unit number) or an NFS file system.

Given the nature of the VMware disk image files and the compression utilities in use, the compression ratios are substantial. My testing showed that a 4GB Windows 2003 Server VM compressed to just less than 800MB and that an 8GB CentOS 4.2 VM compressed to about 500MB, both impressive numbers, even when accounting for the unused space on those disk images.

What’s more impressive is the speed of the backups. On my ESX 3 server running on a quad dual-core Opteron 875 server, each of the aforementioned backups took about three minutes to complete when the server was largely untasked. This time increased proportionally as the server’s load increased because all the compression is handled by the VMware server itself.

I began my testing with two VMware servers, one running ESX 2.5.2 and the other running Virtual Infrastructure Server 3. After configuring esxRanger to communicate with VirtualCenter, I was given a tree view of the VMware servers and was able to view the VMs running on each. To permit backups to occur on each VMware server, however, I also had to manually enter each server in the esxRanger configuration and add log-in credentials. It would be nice to be able to skip this step when running VirtualCenter.

After the authentication data is in place, backing up a running server is the very definition of simplicity: Select the target VM, select a destination directory (either local or on a network share), and select a few parameters for the backup, including compression ratio, archive name, where to mail the backup report, and so on. From there, running the backup immediately or scheduling the backup to run on a set schedule is possible.

There are a few extra options that can come in handy as well. Administrators can limit the number of simultaneous backups that may run at once, and they can limit the number of simultaneous backups running to a single LUN, for example. These options are available only when esxRanger is running with VirtualCenter, however.

After I’d backed up a few virtual servers, some running Windows and some running various Linux distributions, I deleted the VMs from within VirtualCenter. Back in the esxRanger GUI, I attempted to refresh the VirtualCenter tree but had no luck. Restarting the application, however, brought up the tree properly. I then restored those VMs back to the same server, as it’s not possible to restore a VM built on VI3 to an ESX 2 system. Within a few minutes, the servers appeared in Virtual Center, and because I had selected esxRanger to power them up following the restore, they were running.

I did have a few issues with esxRanger. In legacy mode, without VirtualCenter, you can still back up individual VMs, but there’s no flag to denote which VMs are running and which are stopped. Also, there’s no way to save a job in the GUI. You can schedule it to run at certain times, but there’s no list of such jobs. You can copy the CLI command to the clipboard and paste it into a Windows Scheduler job, but that’s it. It would be very nice to be able to view a list of recent backup jobs and be able to rerun them.

Click for larger view.

I also had a few odd issues when writing the backup to a network share, with esxRanger claiming that the share was no longer available, even though it was fully accessible from the workstation. When running esxRanger on a server-class system, however, I didn’t encounter these problems.

Overall, Vizioncore’s esxRanger 2.0 is a slick and simple solution to backing up VMware virtual machines. The CLI makes scripting the tool quite easy with a little legwork from the admins, but it would be nice to see the GUI incorporate some more backup management features such as an interactive job history, not just a report. That said, if you run production VMware servers, this is definitely a worthwhile tool.

InfoWorld Scorecard
Value (10.0%)
Setup (15.0%)
Reporting (15.0%)
Performance (20.0%)
Ease of use (20.0%)
Manageability (20.0%)
Overall Score (100%)
Vizioncore esxRanger 2.0 8.0 8.0 7.0 9.0 8.0 8.0 8.1