Ardbp32.bin Load Balancing – HTTP


Thought it was time for an update – This is something I’d previously written when implementing Provisioning Services 5.6 sp1 and XenServer 5.6 FP1 into a a reasonable sized Presentation Server 4.5 farm that wanted to move away from their currrent physical servers to embrace the wonders of virtualization.

It’s been said before but load balancing TFTP is difficult, and as Provisioning server by default will use TFTP to deliver the ardbp32.bin file to target devices this presents a challenge. This challenge has been well documented already in the following document form the Citrix Blogs

• TFTP is difficult to load balance. The following article describes the difficulties of bootstrap resilience:

What we did was slightly different. I wanted to use the Netscaler to load balance this as Netscaler VPX has been deployed to make other areas of the infrastructure highly avialable so we set about looking for a way and came up with the following..

Instead of using TFTP to deploy the ardbp32.bin file we would use HTTP.

How To:

The following configuration steps were taken in addition to the standard Provisioning Server Build in order to allow the Ardbp32.bin file to be delivered via HTTP and Load Balanced by the Netscaler appliances.

[warning]I’ve been informed by a colleague that this method does not work when using VMWare VSphere.[/warning]
  • In order to deliver the Ardbp32.bin file over HTTP the Windows 2008 R2 IIS 7 server was deployed on each provisioning server.To limit the changes made to the Provisioning server installation the Physical path of the Default site in IIS was changed to the default location of the ardbp32.bin file:  C:programdataCitrixProvisioning ServicesTftpboot
  • This is a simple HTML file that contained the word PVSUP was created for the Netscaler Load Balancing Monitor to check.

    This was saved in the root of the IIS Default Site: C:programdataCitrixProvisioning ServicesTftpboot

  • The DHCP server role has also been configured on each Provisioning server to provide the provisioned virtual machines with an IP on the PVS VLAN and the location of the bootstrap file.DHCP Option 67 if configured within the PVS scope to point to:  http://<PVS-VIP >/ardbp32.bin
  • The Netscaler was configured with a basic HTTP VserverAn HTTP Service Group is created:
    add serviceGroup SvcGrp_PVS HTTP

    Both Provisioning Server IP addresses are bound to the Service Group and their HTTP port defined:

    bind serviceGroup SvcGrp_PVS_HTTP <PVS1IP> 80
    bind serviceGroup SvcGrp_PVS_HTTP <PVS2IP> 80

    A Vserver is created and the Provisionging Server VIP, HTTP protocol and Port for ncoming connections is defined:

     add lb vserver Vsrv_PVS_HTTP HTTP <PVS-VIP> 80

    The PVS Service Group is bound to the PVS Vserver:

    bind lb vserver Vsrv_PVS_HTTP SvcGrp_PVS_HTTP
  • In order to ensure that the Provisioning Server is able to provide the Ardbp32.bin file over HTTP a HTTP ECV monitor was created that constantly checks for the existence of the ‘Healthcheck.htm’ file created on the Provisioning Servers and that its response should contain the word ‘Healthcheck’.The following commands were issues to create this monitor:
add lb monitor PVS_Monitor HTTP-ECV
bind lb vserver Vsrv_PVS_HTTP PVS_Monitor
add lb monitor PVS_Monitor HTTP-ECV -send "GET /Healthcheck.htm" -recv PVSUP -LRTM ENABLED -destPort 80

Hope this helps someone else.

About the author

Stu Carroll

Citrix CTA & Director of Enterprise Technologies @ Coffee Cup Solutions


  • Unfortunately this method increased my boot times to 10+ minutes. Any ideas why?

    • Hi Hecker,

      Thanks for the comment, Sorry for the late reply I’ve not been checking my comment recently.

      I have had another instance of this occuring that I’m still currently investigating. In this instance XenServer 6.0.2 was used and PVS 6.1. Are you using either (or both) of these platforms. I’ve not had a chance to do any testing in my lab but when I do I’ll update the blog and drop you an email



    • Hi Jarian,

      Thanks for the comment, sorry for the late reply I’ve not been monitoring the blog too much recently.

      I believe this was tested on ESX 4.0 – I’ll have to give it a try on VSphere 5.0 when I next get the oppertunity. Glad it’s booting faster this is what I’ve experienced in the most part when using XenServer!



By Stu Carroll

Stu Carroll

Citrix CTA & Director of Enterprise Technologies @ Coffee Cup Solutions

Get in touch

Need help? Get in touch

Secured By miniOrange