Friday, September 20, 2013

Script XenServer Backups

http://technocrat.kagan.cc/2013/08/script-xenserver-backups.html

After upgrading to Citrix XenServer 6.1 Advanced Edition a while ago, I have been enjoying great features, such as "High-Availability" and "VM Protection Policies". I especially liked VM protection with automated snapshots and exports that took practically no time to set up and worked fairly well for a number of small to midsize environments we have partitioned our virtual infrastructure into. Well, my enjoyment proved to be short-lived, XenServer 6.2 came along delivering scalability improvements and also introducing many changes, click here for more information.

I found many of those changes (like XenServer being fully open source; inclusion of software maintenance; simple, single edition packaging; socket based perpetual and annual licensing; etc.) interesting and welcomed them with open arms. All but one:
This spelled the end of my automated protection days (once again, read more about it here). Luckily, I was still able to draw on my by-now-virtually-nonexistent Linux skills (yes, with a lot of help from plentiful online resources) to replace automation magic with scripting and scheduling.

In case someone else finds this helpful and to give credit where it's due, here's a collection of resources:


  • Great post that provides step-by-step instructions and script samples for pretty much everything you are going to need to get started - http://www.charleslabri.com/back-up-xenserver-6-to-network-share-with-fancy-scripting-and-lots-of-fun-and-no-downtime/
  • Email notifications required a quick modification of the "/etc/ssmtp/revaliases" file (a line similar to root:username@xyz.com:smtp.xyz.com); more details here
  • To get things scheduled right refer to one of many resources that describe cron, for example this one
  • To delete old backup files a quick refresher on the find command might be needed, check out the following reference or this two part article - part 1, part 2
  • Finally, if you run Windows based VMs and want to use VSS (seems to work well under W2K8 not so much under W2012), you may want to look into running "C:\Program Files\Citrix\XenTools\install-XenProvider.cmd" to install VSS provider
That's it. I have used information above to schedule jobs that take VM snapshots, export them to NFS-based shares, and keep a set number of them. So far, everything works pretty well.

* http://nchrissos.wordpress.com/2013/09/05/free-backup-for-citrix-xenserver-live-virtual-machines/
http://www.charleslabri.com/back-up-xenserver-6-to-network-share-with-fancy-scripting-and-lots-of-fun-and-no-downtime/
http://www.howtogeek.com/131181/how-to-backup-citrix-xen-vms-for-free-with-xen-pocalypse-bash/