Citrix XenServer provides the capability of not only server consolidation but also disaster recover in case one of the virtual server becomes unresponsive. The technology behind this DR solution is called XenMotion.

Xenmotion is a feature of XenServer 4.0 that can move running virtual machine from one XenServer to another without downtime. This means during the process of migrating the virtual machine, the virtual machine is not being shutdown at any moment.

Being engineers in the company, we, the folks at the Citrix eLab, are dying to see how it will play out in a real situation, meaning what will happen if we migrate a XenApp server from one XenServer to another while live client sessions are connecting to it.

In order showcase this, we grab some servers in the lab and set up a test environment. We installed XenServers on couple Quad-Core servers. We also install Linux on a Quad-Core server to build up a makeshift NFS storage because central  storage is the requirement for the Xenmotion to work.

We create one virtual Windows 2008 server on one of the XenServer and install latest Delaware build on it. In order to simulate a real environment, we publish an application on XenApp for Windows 2008 (Delaware) and launch an ICA connection to the XenApp Server.  This ICA session is simulating a user is tying constantly in Excel spread sheet to create a movie library.

While the session is live, we use a script to start the XenMotion process. XenMotion of course can be started via the XenCenter UI, but we wanted to develop the script to achieve the goal. We think this script can potential be used, for example, in conjunction with Health Monitoring and Recovery (a feature of XenApp), to automatically move the XenApp server that running on the XenServer from one host to another in case the XenApp becomes unresponsive.

In our test, the whole XenMotion process took about couple minutes. During most of the process, the user was able to continually typing the words into Excel without any interruption. The only “hick up” the user will feel, which only takes about couple seconds, is at the end of the process while the actual switching of the XenServer virtual server takes place. But the session windows stay on and no actual data is lost! From the user’s perspective, it is just a very short period of network connection interruption.

From our experience, we can say that XenMotion can provides some DR solution for the XenApp deployment with minimum interruption of user sessions.

The following is the link to the video we shot showcasing the XenMotion in Action with XenApp.