A Quick Look at PHD Virtual Backup for Citrix XenServer
June 13, 2011
I recently had an almost disastrous experience with my lab XenServer host. After that episode, I decided I needed to find a way too reliably and easily backup and restore virtual machines (VMs). On a couple of mailing lists I subscribe to, I have seen people mention PHD Virtual for doing backups of their VMs on VMware ESX and Citrix XenServer. At Synergy 2011 in San Francisco, I came across the PHD Virtual booth on the exhibit floor. I like the information I was given so I asked the people at the booth if I could get a copy to test for my lab to see what the product was like.
This article will provide a quick look at PHD Virtual Backup for XenServer. It is not intended as a product review. This article is based on XenServer 5.6 SP2, PHD Virtual Backup 5.2 for Citrix XenServer and an external 2TB USB drive. Keep in mind that for a production environment, you would likely use a SAN. As you will see later in this article, backing up to a USB drive was lengthy and appropriate only for a lab environment.
What is PHD Virtual Backup for Citrix XenServer? It is an appliance that is imported into XenServer and allows you to use XenCenter to backup and restore your VMs. There are no separate physical servers needed. There are also no scripts, agents or additional software needed. Deduplication is used to reduce the storage needed for the backup images.
To get started, go to http://www.phdvirtual.com, click on Downloads and then PHDVB 5.2 for Citrix XenServer (Figure 1).
Fill in the registration information and click Submit (Figure 2).
Click Download Now (Figure 3).
Click Save (Figure 4).
Save the file to C:\PHDVirtual or a location of your choice (Figure 5).
Extract the files (Figure 6).
Exit your Internet browser. You will receive an e-mail with a license file and installation instructions. While waiting on the e-mail to arrive, the external USB drive needs to be prepared for use by PHD Virtual and XenServer. I am using an external USB drive because it was the least expensive mechanism for me as I have several already in my lab. For my testing, I prepared the drive for exclusive use by XenServer.
From XenCenter, click on the Console tab and press Enter (Figure 7).
Note: Thanks to my fellow CTP, Denis Gundarev, for his help with the following Linux commands.
From the console prompt, type fdisk –l (that is a lower case letter “L”). This will list all the drives and partitions that XenServer sees (Figure 8).
My external USB drive is shown as /dev/sdb. Your external drive may be different. The following commands will use my drive’s /dev/sdb designation. The commands to type are in bold and comments are in square brackets .
[root@XenServer1 ~]# fdisk /dev/sdb
The number of cylinders for this disk is set to 243143.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d [delete existing partitions, if any]
No partition is defined yet!
Command (m for help): n [new partition]
p primary partition (1-4)
Partition number (1-4): 1 [partition number 1]
First cylinder (1-243143, default 1): [press Enter twice]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-243143, default 243143):
Using default value 243143
Command (m for help): t [change file system type]
Selected partition 1
Hex code (type L to list codes): 83 [83 is the Linux Ext3 file system]
Command (m for help): w [write partition table]
The partition table has been altered!
Calling ioctl() to re-read partition table.
[root@XenServer1 ~]# mkfs.ext3 /dev/sdb1 [format partition]
mke2fs 1.39 (29-May-2006)
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
244137984 inodes, 488261529 blocks
24413076 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
14901 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@XenServer1 ~]# xe sr-create type=ext shared=false device-config:device=/dev/sdb1 name-label=ExtUSB [create Storage Repository]
Once the Storage Repository (SR) is created, it is available in XenCenter in the Storage tab (Figure 9). Creating the new SR on my 2TB external USB drive took about 20 minutes.
Select the ExtUSB SR in the Server View and click Add… (Figure 10).
Enter a Name, Description, Size, select ExtUSB and click Add (Figure 11).
The new Virtual Disk appears in XenCenter with no VM assigned (Figure 12).
To begin the install of PHD Virtual Backup, exit XenCenter. Double-click the phdvb.msi file (Figure 13).
Click Run (Figure 14).
Select I accept the terms in the License Agreement and click Install (Figure 15).
Click Finish (Figure 16).
Click the To deploy a PHD Virtual Backup Appliance for Citrix XenServer link in the Help popup (Figure 17).
Follow the instructions to deploy and configure the PHD Virtual Backup Appliance.
To attach the external USB SR, from XenCenter select the PHDVBA VM, click the Storage tab and click Attach… (Figure 18).
Select the Virtual Disk shown in Figure 11 and click Attach (Figure 19).
The drive now shows in XenCenter attached to the PHDVBA VM (Figure 20).
Select the ExtUSB SR in the Server View, and it now shows the PHDVBA VM (Figure 21).
The PHDVBA VM needs to be restarted to process the additional virtual disk. Right-click the PHDVBA VM and click Reboot. After the VM reboots, you can see it processing the additional virtual disk (Figure 22).
The process will complete in a few minutes (Figure 23). For my 2TB drive, this process took about 40 minutes.
Start the PHD Virtual Backup Console (Figure 24).
Click on Configuration and the Storage tab (Figure 25). This shows the external USB drive attached and ready for use.
Exit the PHD Virtual Backup Console.
Start PHD Virtual Backup (Figure 26).
Select VMs to be included in the backup and click Next (Figure 27).
If you were to have multiple PHD Virtual Backup appliances you would select which backup appliance to use. Click Next (Figure 28).
Select a backup schedule and click Next (Figures 29 – 32).
Enter a Job Name, select your desired Options and click Next (Figure 33).
Verify the backup job information. If everything is correct, click Submit (Figure 34). If not, click Previous and make the necessary corrections.
Click Finish (Figure 35).
Select the backup job and click Show Details (Figure 36).
Backup job details (Figure 37).
Click on XenCenter to see the multi-threaded backup running in the PHD Virtual Backup VM (Figure 38).
When the backup job is complete, click the History tab (Figure 39).
As seen in Figure 39, the backup job to an external USB drive took over five and a half hours! Obviously, an external USB drive is not something to be used for production XenServer hosts.
To test the restore ability of PHD Virtual, delete a VM and its attached virtual disks (Figures 40 and 41).
Back in the PHD Virtual console, select Backup Catalog, expand the item for the deleted VM, select the backup to restore and click Restore (Figure 42).
Click Next (Figure 43).
Enter a Job Name, Virtual Machine Name, select whether to Verify restore and click Next (Figure 44).
If you have multiple XenServer hosts, decide which host to restore the VM. If you have multiple storage repositories, decide which storage repository to use. Click Next (Figure 45).
If you have multiple network interfaces, select which interface to use. If you want to change the MAC address assigned to the restored VM, click Edit and make the necessary changes. Click Next (Figure 46).
Verify the restore job selections. If anything needs to be changed, click Previous, and make the necessary changes. Click Submit (Figure 47).
Click Finish (Figure 48).
Select Jobs, click the Current tab and click Show Details (Figure 49).
The restore job details are displayed (Figure 50).
When the restore is complete, click the History tab and select the restore job (Figure 51).
Exit the PHD Virtual Backup console. The restored VM is back in XenCenter (Figure 52).
Start and log in to the restored VM to verify it works (Figure 53).
I found PHD Virtual Backup for XenServer to be very easy to install, configure and backup and restore. It took longer to figure out how to get my external USB drive setup in XenServer (12 hours) than to run through the entire PHD Virtual process (8 hours).
How well did the deduplication work? PHD Virtual backed up 618GB of VMs into less than 43GB!
My only concern is that when an update is released for XenServer, PHD Virtual must be updated and certified before the XenServer update can be installed. In the case of my almost disastrous upgrade to XenServer 5.6 SP2, that would be a time period I amwilling to wait.
My next step will be to reconfigure my 8TB of iSCSI Windows Storage Server to carve off dedicated space for backups. Backing up to an external USB drive is just too slow for practical use, even in the lab.
PHD Virtual Backup for XenServer has found a permanent place in my lab.