Skip to main content

Script XenServer Backups

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.

Comments

Popular posts from this blog

Skype for Business and VTC Interoperability

Skype for Business (SfB) has a very, very strong potential, I have written about it in my previous post. I can't think of any other platform that shows as much promise in terms of bridging personal and business communications as well as unifying different modes and mediums. And all of this may have started with a strategic acquisition of Skype by Microsoft in 2011.

That said, the road ahead is not without challenges. For example, interoperability with other platforms. Making SfB work with existing Video TeleConferencing (VTC) systems, many of which represent significant capital investments in organizations' infrastructure, could be of a particular importance.

After reading statements like Skype for Business is based on Session Initiation Protocol (SIP) standards and supports H.264 (MPEG-4 video coding standard) one can come to a quick conclusion that integration and/or interoperability with other VTC solutions is easy or nearly automatic. Unfortunately, the industry is not qui…

PoSh Disable and Move AD Users

A quick and easy way to disable user accounts and move them into designated OU:

Import-Csv "C:\TEMP\users.csv" | ForEach-Object { `      $u=$_."sAMAccountName"; $l="Disabling and moving: " +$u; write-output $l; `      Get-ADUser -Identity $u | `      Disable-ADAccount -PassThru | `      Move-ADObject -TargetPath "OU=Disabled Users,OU=Organization,DC=domain,DC=local"
Input is provided via a CSV file:
users.csv (username) sAMAccountName  jdoe1  jdoe2  jdoe3  jdoe4  jdoe5  

To generate input file run something like this, review and edit as necessary:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan 180.00:00:00 | `      where {$_.enabled} | `      Get-ADUser | `      select sAMAccountName | `      Export-Csv -Path "C:\TEMP\users.csv"

WordPress displays weird characters

Sometimes after a database conversion (e.g. from MySQL to MariaDB) or due to encoding issues a situation might arise when WordPress is showing weird characters. A quick way of remedying the situation would involve examining the pages to discover a pattern (what characters are being substituted, in the example below the apostrophe was replaced by â€™) then running an queries against the database to reverse the effect. Here's a quick example (common tables that store content):



UPDATE wp_posts SET post_content = REPLACE(post_content, 'Â', '')     UPDATE wp_posts SET post_content = REPLACE(post_content, '’', "'")     UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'Â', '')     UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, '’', "'")     
Please, keep in mind that to permanently resolve the issue you would need to get to the root of the problem and may need to adjust encoding, run a databas…