• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Daniel Feller
Related Tags
posted by Daniel Feller

This best practice was requested by a comment on a previous blog posting. With Provisioning Services, we are able to use a single image for hundreds of XenApp target servers.  Making a change to the image is a big deal because every XenApp server will use the new image after a reboot (of course this is also a huge benefit).  How do we keep control over these images and make sure you don't break your entire environment with a new update?

Truthfully, it is a fairly straight forward process, but just like all processes, you need to follow them if you want things to go smoothly.  High-level process overview is in the following figure:


 
These are all logical systems, meaning that they could be virtual servers, physical servers, different volumes on the same storage infrastructure. The recommended process is as follows:

  1. When you have a valid vDisk on your production Provisioning Services server, make a copy of it and store it in your library.  The library is just that, a location where you keep the current and old revisions of vDisk images.  
  2. When you need to make an update, copy the vDisk from your library to your test environment Provisioning Services server.  
  3. Make your changes in the test environment. When the changes are done, update the revision number and filename of the vDisk. Copy the vDisk back into your library and to the production Provisioning Services server.
  4. Tell the production Provisioning Services server to auto-update vDisks.  This is actually a really cool feature. The auto-update process will automatically update the vDisk file of all affected target devices upon next reboot.  How can you tell which target device will be updated?  By the Class information.  Each target device and vDisk file has a Class field.  The class fields are the link for auto-updates.  Provisioning Services will look to see if there are any vDisks with a higher revision number (which there is as we just updated the vDisk and incremented the revision number).  Provisioning Services then checks the Class of the vDisk.  Any target device with the same Class will receive the new vDisk upon next reboot.  This is a great way to simplify the management of your XenApp farms.

Ok, so we updated our XenApp servers with a new vDisk, but what happens if there is a problem with the vDisk updates?  Have you ever installed a hotfix to find out it broke other things? I bet so.  If you followed the process outlined above, you have a build in rollback feature by doing the following:

  1. You make a copy of the previous vDisk image from your library to the Production Provisioning Services server.  
  2. You increment the revision number on the old vDisk image to a number that is higher than the updated vDisk image.
  3. You implement the auto-update feature of Provisioning Services
  4. Reboot the XenApp servers

As you can see, the processes for updates and rollbacks are very similar and it works great.  Stay tuned for more best practices regarding Provisioning Services and XenApp.  

By the way, if you haven't done so already, take a look at the Provisioning Services for XenApp TechTalk presented by yours truly.  I'm a little biased, but I think it is a good one. 
Daniel - Sr. Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf

Labels

citrix consulting citrix_consulting Delete
best practices best_practices Delete
provisioning services provisioning_services Delete
xenapp xenapp Delete
xenapp xenapp Delete
provisioning-server provisioning-server Delete
team-consulting team-consulting Delete
nonspecific nonspecific Delete
lang-eng lang-eng Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 01, 2009

    Anonymous says:

    Hello, The Classes and Version is pretty cool but it's pretty finicky.  I'...

    Hello,

    The Classes and Version is pretty cool but it's pretty finicky.  I've had some success with it but if you design your collections around what vDisk are used it is pretty each to drag a drop the new vDisk to the collect and ALL of the machine are automatically updated on the next reboot.  If there is a problems, simply drag and drop the previous version onto the collection.  It's pretty simple straight forward.  The only drawback is if you need to schedule the vDisk change (say, swap out in the middle of the night) you would have to script it (which isn't too bad).

    Joe

  2. May 11, 2009

    Rob Montgomery says:

    Hi all,  For conveniently using the best practices described above without...

    Hi all,

     For conveniently using the best practices described above without involving extra budgeting I have recently switched to using iSCSI SAN solution. I was going to take some of the old PC out of production and balance, however, a colleague suggested giving them a second life by turning them into network storages.

    So basically, I dosnloaded StarWind Server iSCSI application, installed it onto 3 of the PCs and in a couple of moments I had additional network space extended for using with Xen.

    Thanks

  3. Jul 01

    Anonymous says:

    One aspect that appears to missing from guide is what to do aroound antivirus an...

    One aspect that appears to missing from guide is what to do aroound antivirus and signatire updates. What would be the recommended approach to securing the platform/environment with a read only image?

    Neil

    1. Jul 02

      Anonymous says:

      I agree with the previous post; this seems to be a big unknown at this point as ...

      I agree with the previous post; this seems to be a big unknown at this point as a lot of the available documentation and online resources do not cover much related to this area.

      1. Anonymous replies:

        You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account. You can also Sign Up for a new account.

  4. Jul 27

    Jason Conomos says:

    Hi there,  I have been dealing with PVS since Version 4 and do really like...

    Hi there,

     I have been dealing with PVS since Version 4 and do really like the product (mostly in Xendesktop implementations however).

    In relation to the questions about Anti Virus updates.  I just installed the anti-virus client on the servers/workstations and let them update.  The updates are never that big (say a few meg at most during the course of the month).  If the servers or workstations rebooted, they would just pull down the files again.  Again it is only a few MB so there is minimal network load.

    On Patch Tuesday we would then as part of the patch deployment updated the image with new patches and update the AV definitions.

    Cheers

    Jase

Add Comment