{"id":4452,"date":"2016-08-18T07:00:39","date_gmt":"2016-08-18T15:00:39","guid":{"rendered":"https:\/\/www.atumvirt.com\/?p=4452"},"modified":"2016-08-18T07:00:39","modified_gmt":"2016-08-18T15:00:39","slug":"choosing-a-provisioning-services-boot-option","status":"publish","type":"post","link":"https:\/\/avtempwp.azurewebsites.net\/2016\/08\/choosing-a-provisioning-services-boot-option\/","title":{"rendered":"Choosing a Provisioning Services Boot Option"},"content":{"rendered":"

Provisioning Services works by streaming an operating system over the network. This very basic premise empowers administrators to tackle incredibly powerful use cases, reduce storage costs and scale to phenomenal levels at a reasonable cost. However, in order to accomplish this, some \u201cmagic\u201d needs to happen in order to get the operating system going. It\u2019s worth noting that the boot process is remarkably similar once the boot files have arrived at a machine, but they are detailed incredibly well in the Citrix Provisioning Services Boot Process Diagram<\/a>. This article will discuss the various options available for delivering the boot files \u2013 known as \u201cbootstrap\u201d \u2013 to your Provisioning Services Target Devices. It is worth noting that \u201cTarget Devices\u201d can be virtual or physical, something that is not possible with Machine Creation Services (and for that matter, Provisioning Services Target Devices do not need any other Citrix components besides license server to function).<\/p>\n

TFTP (w\/ PXE or DHCP)<\/h4>\n

By far the most widely deployed method for delivering the bootstrap files, this method is extremely flexible. The bootstrap files are delivered via TFTP (UDP Port 69) from any compatible TFTP server. When using the configuration wizard, if you specify that TFTP runs on the server it will start the Citrix TFTP Server.<\/p>\n

TFTP delivers<\/i><\/b> the file but it is up to PXE or DHCP to deliver the location<\/i><\/b> and filename<\/i><\/b>. This is accomplished by using either the built in PXE service (again, using the configuration wizard) or DHCP options 66\/67 on your DHCP server (boot server \/ boot filename).<\/p>\n

This option is very flexible as you can edit ARDBP32.bin using the \u201cConfigure Bootstrap\u201d option from the PVS server very quickly and the next time the file is transferred the changes are live.<\/p>\n

There are limitations to using the built in TFTP\/PXE services. First, the PXE service will indicate that the local server is the source of the boot file. Also, there are issues related to multi-NIC servers where you cannot change\/edit the NIC that the PXE service broadcasts as the boot server, though you can edit the TFTP service to listen on a different IP via registry editing or using the control panel applet (BNTFTP.cpl in the Provisioning Services directory. Note: On some operating systems this may not load or may crash).<\/p>\n

Finally, when using this method in your environment you must<\/i><\/b> take into consideration high availability of the services. The built in PXE\/TFTP services, as mentioned, refer to their own server\/services, so if you have two servers on a single subnet, scenarios can exist where certain services are unreachable or experiencing difficulty. The TFTP<\/i><\/b> service can be load balanced using a NetScaler or other load balancing device, as described here<\/a>.<\/p>\n

BDM (ISO)-TSB<\/h4>\n

It is also possible to boot using a Boot Device Manager (BDM) ISO or drive. This utility can be dangerous if you click quickly so please use caution when loading it! Using this utility, you can specify the PVS servers from which to login to obtain PVS info and continue booting. This option is also required if you want to use static IP addresses.<\/p>\n

Due to the overhead and complication of mounting ISO\u2019s on every device, this is not used as often as the TFTP method. The BDM utility can also \u201cBurn\u201d partitions to attached hard disks. It is this functionality that makes the utility \u201cdangerous\u201d as I described as by default the tool selects the first disk attached to machine it is running on<\/i><\/b> which presents a particular hazard as there is a slight delay when clicking \u201cNext\u201d on the previous screen. This can lead to \u201cclick happy\u201d admins accidentally overwriting the C: partition\/disk on their PVS server \u2013 bad times indeed! Be cautious and read all dialogs.<\/p>\n

This boot method relies on the Citrix Two Stage Boot service running on the PVS servers to transfer the bootstrap file via a proprietary protocol based on TFTP on port UDP 6969.<\/p>\n

BDM (Partition\/Monolithic)<\/h4>\n

This method, similar to the TFTP method, relies on the \u201cconfigure bootstrap\u201d information of the farm (As of 7.9, there is a method which returns the first server in the farm only so in a large farm you don\u2019t necessarily need to make them all match, but this could change in the future). Once the bootstrap information\/settings are configured, you can provision this by using the XenDesktop Setup Wizard. It is worth noting that this method requires XenDesktop to provision initially. The bootstrap data is written to a partition on a disk attached to the target device, and as of 7.9, can be updated in the future as well.<\/p>\n

Once provisioned, this disk can be copied manually to other non-XenDesktop setup wizard provisioned machines as needed, but keep in mind there is no officially supported way to update it in the future if you do not use the provisioning wizard. (The target device has a \u201cBDM\u201d flag and also relies on a non-settable HypervisorID in the database that is used to connect to the host and edit the BDM). As this method requires a XenDesktop host connection, it is used for virtual machines only.<\/p>\n

This method does not<\/i><\/b> rely on the two stage boot service as all information is written to the attached partition.<\/p>\n

Summary<\/h4>\n
TFTP (w\/ PXE or DHCP)<\/h5>\n

\u00b7 Relies on external load balancing (potential off-host communication)<\/p>\n

\u00b7 Relies on TFTP service or third party TFPT server UDP port 69<\/p>\n

\u00b7 Prone to outages<\/p>\n

\u00b7 Built-in TFTP control panel configuration does not work on 2012 R2.\u00a0 Multi-nic binding scenarios could be difficult<\/p>\n

\u00b7 Third-party TFTP servers often without support<\/p>\n

\u00b7 Multi-threaded TFTP servers traditionally don\u2019t scale well<\/p>\n

\u00b7 Relies on either PXE or DHCP options for boot sever name<\/p>\n

BDM (ISO)-TSB<\/h5>\n

\u00b7 Highly customizable<\/p>\n

\u00b7 DNS or Static IP Definitions<\/p>\n

\u00b7 Relies on Two-stage boot service (and proprietary protocol on port UDP 6969)<\/p>\n

\u00b7 Can \u201cburn\u201d ISO or partitions<\/p>\n

\u00b7 BDM Utility does not identify which SCSI ID or other unique identifier for disks. Prone to misconfiguration (BE CAREFUL! CAN OVERWRITE YOUR MBR!)<\/p>\n

BDM-Monolithic<\/h5>\n

\u00b7 Cannot customize<\/p>\n

\u00b7 Relies on \u201cCONFIGURE BOOTSTRAP\u201d settings for farm (more on this in a moment)<\/p>\n

\u00b7 Cannot use DNS<\/p>\n

\u00b7 Includes all components required for boot (No TFTP, load balancing, TSB needed)<\/p>\n

\u00b7 High degree of \u201cFault isolation\u201d<\/p>\n

\u00b7 Can be cumbersome to replace\/update before 7.9<\/p>\n

\u00b7 Only available via XenDesktop setup wizard<\/p>\n

\u00b7 Newer (first release in 2013), not as widely used<\/p>\n

Is one \u201cbetter\u201d than the other? The short answer is \u201cNo\u201d, but that comes with a very large \u201cit depends on your environment.\u201d The TFTP method is extremely flexible, fast, widely deployed, and well supported, however it relies on a number of components that you must configure for high availability in a well-designed system. The BDM ISO incurs an overhead, but allows you to easily swap the boot files and even burn them for physical machines. It also includes UEFI support. The BDM (monolithic) partition does not rely on outside services, but can only be used with virtual machines.<\/p>\n","protected":false},"excerpt":{"rendered":"

Provisioning Services works by streaming an operating system over the network. This very basic premise empowers administrators to tackle incredibly powerful use cases, reduce storage costs and scale to phenomenal levels at a reasonable cost. However, in order to accomplish this, some \u201cmagic\u201d needs to happen in order to get the operating system going. It\u2019s […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,43],"tags":[105,106],"_links":{"self":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts\/4452"}],"collection":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/comments?post=4452"}],"version-history":[{"count":0,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts\/4452\/revisions"}],"wp:attachment":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/media?parent=4452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/categories?post=4452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/tags?post=4452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}