The most common way of bootstapping PVS target devices is by relying on DHCP + TFTP, and since the 10.1 release of the  NetScaler we actually have simplified TFTP loadbalancing.

TFTP loadbalancing used to be a bit tricky as you can tell from reading this post, and I thought I’d share a diffferent way of bootstrapping the provisioned VMs that I actually believe can be even more robust, and it uses an enhanced form of PXE called gPXE.

Disclaimer: This is something I have been playing around with in my lab, and it seems to work just fine, although I can’t guarantee anything!
If it works for your environment, and you prefer it, please talk to your support representative regarding using it for any kind of production.
Also note that I have only used this together with the gPXE implementation of XenServer 6.x where it seems to work flawlessly.

Starting from XenServer version 6 the virtual interfaces of the guests are gPXE enabled, providing us a much more powerful preboot environment (note about gPXE, it is actually not further developed and will most likely be replaced by iPXE in the future).

Perhaps you have seen the gPXE prompt swoosh by without giving it much thought, but gPXE will allow us to do some things PXE can’t.


gPXE will for example allow you to post and get stuff from a web server, before you load any images, meaning you can query a web page that can look up serial number or mac address from an asset system before anything has been downloaded to the endpoint.

What this can give you in regards to general automation and systems management is for another blog post though, and in this example we stick to something much simpler; bootstrapping over HTTP.

With gPXE it is as simple as this!

From the wiki article:

HTTP can handle much larger files than TFTP, and scale to much larger distances. You can easily download multi-megabyte files, such as a Linux kernel and a root filesystem, and you can download from servers that are not on your local area network. We have successfully tested booting across the Atlantic usingHTTP

Sure, that is one benefit, but when it comes to PVS the fact hat you can put the bootstrap files on a regular web server will give you other benefits as well:

  • Standard web server, reliable and robust
  • Easy to loadbalance
  • Easy to monitor out of the box

If nothing else this is a fun experiment, and something for you to play around with.

This blog post covers a product configuration or procedure which Citrix does not currently offer support for.  Use of this configuration should only be used in a lab or test environment and not with production deployments.  The author is actively seeking feedback on the potential of implementing support for this configuration, but the form any level of support takes has yet to be determined.