+ All Categories
Home > Documents > High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered...

High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered...

Date post: 28-Mar-2019
Category:
Upload: phamkhanh
View: 222 times
Download: 0 times
Share this document with a friend
37
Worldwide Consulting Solutions | WHITE PAPER | Implementation Guide www.citrix.com High Availability for TFTP with Provisioning Services Implementation Guide
Transcript
Page 1: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Worldwide Consulting Solutions | WHITE PAPER | Implementation Guide

www.citrix.com

High Availability for TFTP with

Provisioning Services

Implementation Guide

Page 2: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 2

Contents

Overview ............................................................................................................................................................. 3

Options ................................................................................................................................................................ 4

DNS Round Robin Entry.............................................................................................................................................. 5

DHCP with Multiple Entries ........................................................................................................................................ 5

Provisioning Services PXE Broadcast ......................................................................................................................... 5

Provisioning Services Boot Device Manager ............................................................................................................. 6

NetScaler Use Source IP................................................................................................................................................ 6

NetScaler Direct Server Return .................................................................................................................................... 7

NetScaler Global Server Load Balancing .................................................................................................................... 7

Summary ........................................................................................................................................................................... 8

Implementation Guide ...................................................................................................................................... 9

Prerequisites ................................................................................................................................................................... 10

NetScaler General Configuration ............................................................................................................................... 14

NetScaler – Use Source IP .......................................................................................................................................... 17

NetScaler – Direct Server Return ............................................................................................................................... 22

NetScaler – Global Server Load Balancing .............................................................................................................. 28

Appendix A – Environment Details ............................................................................................................. 35

Appendix B – Reference Documentation .................................................................................................... 35

Revision History ............................................................................................................................................... 37

Page 3: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 3

Overview

Citrix Provisioning Services is a software streaming technology that allows servers and desktops to

be provisioned and re-provisioned in real time from a single shared-disk image1. The service is

commonly integrated with Citrix virtualization solutions to optimize Operating System delivery and

management.

Often these solutions are critical to the operation of organizations and require high availability.

Providing high availability for Provisioning Services requires designing each component of the

service without a single point of failure across the network. The „bootstrap file‟, named

ardbp32.bin, is a key component that must be delivered to Provisioning Services target devices in

order for them to communicate with Provisioning Services over the network.

The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on

Provisioning Servers. This document focuses specifically on comparing high availability options for

delivery of the bootstrap file to target devices via TFTP. The advantages and disadvantages of each

option are outlined as well as the steps to implement the load balancing options with NetScaler.

The document scope does not include details of the implementation or operation of other aspects of

Provisioning Services.

1 http://support.citrix.com/proddocs/topic/technologies/pvs-provisioning.html

Page 4: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 4

Options

The options under consideration share common components including:

Dynamic Host Configuration Protocol (DHCP)2: Provides hosts with networking

information they need to communicate on the network. It provides a host with an IP

address, gateway, and DNS server(s) by default. Two additional “options” carry additional

information that are used by Provisioning Services target devices to obtain their bootstrap

file.

o Option 66: Defines the Boot Server Host Name, which corresponds to the TFTP

Server DNS name or IP address

o Option 67: Defines the Bootfile Name, which is typically ardbp32.bin

Pre-boot Execution Environment (PXE)3: Is a program included in computer firmware

that enables it to boot over the network. It relies on DHCP to obtain information necessary

to boot. When a computer first attempts a PXE boot it broadcasts a DHCP request over its

Network Interface Card (NIC)/(s).

Trivial File Transfer Protocol (TFTP)4: Provides PXE clients with their bootstrap file.

Clients are typically notified of the TFTP Server/(s) and the bootstrap file name through

DHCP options. The lab environment used to implement the options has a TFTP service

running on each Provisioning Services server, so they will be referenced as Provisioning

Services/TFTP Servers.

Domain Name System (DNS)5: Allows common names to be mapped to and from IP

addresses. By providing dynamic allocation of its directory information Provisioning

Services target devices may be presented with different Provisioning Services/TFTP Server

IP addresses providing a rudimentary level of redundancy.

The core concept with regards to providing high availability to TFTP is being able to deliver the

bootstrap file to the Provisioning Services target device. Once the bootstrap is delivered, the target

device can communicate to multiple Provisioning Services servers. There are many different ways

for providing high availability for the TFTP services, but the following seven are the most common:

1. DNS Round Robin Entry

2. DHCP with Multiple Entries

3. Provisioning Services PXE Broadcast

2 http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

3 http://en.wikipedia.org/wiki/Preboot_Execution_Environment

4 http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

5 http://en.wikipedia.org/wiki/Domain_Name_System

Page 5: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 5

4. Provisioning Services Boot Device Manager

5. NetScaler Use Source IP (USIP)

6. NetScaler Direct Server Return (DSR)

7. NetScaler Global Server Load Balancing (GSLB)

DNS Round Robin Entry

With this option, a TFTP server DNS name is carried in DHCP option 66. The DNS server

then would have two or more A records defined for the domain name and cycle through the list

of records in round robin fashion in response to DNS queries. This provides Provisioning

Services target devices with redundancy in obtaining their Bootfile.

Advantages of this option:

o It is easy to implement requiring limited changes to DHCP and DNS servers.

Disadvantages of this option:

o It may not monitor the state of target TFTP servers, depending on the DNS

server; therefore it could potentially send requests to servers that are not

functioning.

DHCP with Multiple Entries

This option requires a DHCP implementation that allows multiple Boot Server Host Name

entries to be carried within the option 66 field.

Advantages of this option:

o It is easy to implement requiring limited changes to DHCP servers only.

Disadvantages of this option:

o It does not monitor the state of target TFTP servers; therefore it could send

requests to servers that are not functioning.

Provisioning Services PXE Broadcast

With this option a PXE boot server is hosted by Provisioning Services servers. After

Provisioning Services target devices obtain their IP address and gateway through DHCP, they

start broadcasting a TFTP boot request. Provisioning Services servers hosting PXE boot

services on the same network as the target devices will receive boot requests and respond directly.

For those on different subnets, routers may be configured with a IP/UDP helper address entry,

which allows the router to forward the initial Provisioning Services Client PXE boot broadcasts.

Page 6: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 6

Without the helper address, the requests would otherwise be contained within the subnet and

unable to reach the PXE service.

Advantages of this option:

o It is easy to implement, requiring limited changes to routers only.

o IP/UDP helper address entries are typically already configured within networks

to deliver client DHCP requests to DHCP server farms.

Disadvantages of this option:

o It increases traffic on the network and can present risks to its capacity in the

event of a malfunctioning PXE client, or virus that sends excessive broadcasts.

Provisioning Services Boot Device Manager

This Provisioning Services option is different than the other options in that it does not rely on

the client PXE booting itself from a TFTP Server. Rather, the Boot Device Manager creates a

Bootfile that the target device can obtain via an ISO image mounted to the virtual machine as a

DVD drive. For this to be a high-availability option for delivery of the Bootfile, the network

share containing the ISO file must be redundant.

Advantages of this option:

o It has limited reliance on the network infrastructure.

Disadvantages of this option:

o It requires changes to the target device boot process (boot via DVD instead of

network).

o Updating the ISO file is a manual process, which is why the addresses used within

the file should be a fully qualified domain name, whose IP address can be updated

in DNS later.

NetScaler Use Source IP

This option relies on the NetScaler to load balance the target device‟s initial TFTP boot request

to a TFTP Server. The target devices must obtain the IP address of the NetScaler Virtual Server

IP (VIP) through DHCP option 66. Once the NetScaler receives the boot request, it is directed

to one of the TFTP servers from the pool by changing the destination IP address. The source IP

address is not changed, therefore the TFTP server replies to the target device directly.

Advantages of this option:

o Provides traffic surge protection for servers.

Page 7: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 7

Disadvantages of this option:

o None

NetScaler Direct Server Return

This option is similar to the NetScaler – Use Source IP option, but it makes its load balancing

decision based on the frame MAC Address and does not change the target destination IP

address. Therefore the target TFTP Server must have a loopback IP address corresponding to

the NetScaler VIP.

Advantages of this option:

o Provides robust scalability and availability as with the NetScaler-Use Source IP

option.

Disadvantages of this option:

o Requires configuring a loopback address on the TFTP Servers

NetScaler Global Server Load Balancing

This option takes advantage of the NetScaler ability to integrate with DNS to control responses

to queries while monitoring the availability of TFTP servers. Upon receiving a DNS query for

the TFTP boot server domain name, the NetScaler dynamically responds with the best option,

according to the selection algorithm configured.

Advantages of this option:

o Provides availability monitoring of Provisioning Services/TFTP Servers

Disadvantages of this option:

o Requires a NetScaler Platinum license or individual GSLB license

Page 8: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 8

Summary

Based on all of the options, the following provides a quick summary for how difficult they are to

implement, how scalable they are and how fault tolerant they are (ability to identify issues and

reroute requests appropriately).

Option Difficulty Scalability Fault Tolerance

DNS Round Robin Entry Low Medium Low

DHCP with Multiple Entries Low Low Low

Provisioning Services PXE Broadcast Low Medium Medium

Provisioning Services Boot Manager Medium Medium High

NetScaler Use Source IP Low High High

NetScaler Direct Server Return Medium High High

NetScaler Global Server Load Balancing High High High

Page 9: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 9

Implementation Guide

Of the previously mentioned high availability options for TFTP, the three NetScaler options require

additional help in the setup/configuration. This section of the document focuses on the

implementation of the NetScaler options.

For the NetScaler options, the following figure shows the conceptual network topology:

Page 10: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 10

Prerequisites

Below is a complete list of components required to implement the NetScaler based options

within a lab environment.

Prerequisites

The following components must be installed to complete the implementation scenarios contained in this section

Install a XenServer capable of hosting all required Virtual Machines (VMs)

Install 2 Provisioning Services VMs including:

o The TFTP Server component configured

o A license server & license

o A Provisioning Services Bootstrap with pertinent configuration

Install a Domain Controller(DC) VM including:

o A DHCP service with pertinent options set

o A DNS service with pertinent A records configured

Install a Vyatta Router VM with pertinent settings configured

Install a NetScaler VM with pertinent settings configured & license applied

Install 2 Provisioning Services Clients

o One on the XenServer internal network Provisioning Services – TFTP

o Another on the XenServer internal network Provisioning Services – TFTP2

Screenshot Description

Install a XenServer

XenServer version 5.6_SP2 running on an HP Proliant 380 with 16MB RAM and an internal HD was used for this setup

The XenServer hosts 6 VMs described in the following blocks and 3 Networks described below

Provisioning Services – TFTP is an internal network that corresponds to subnet 192.168.0.0/24

Provisioning Services – TFTP2 is an internal network that corresponds to subnet 10.95.95.0/24

Network 1 corresponds to an external network used for management access only that corresponds to subnet 172.17.2.0/24

See Appendix B - Reference Documentation for more information regarding installation

Page 11: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 11

Prerequisites

Install a NetScaler VM

NetScaler version 9.3_51_nc

Add an interface to network ProvisioningServices - TFTP

NOTE: The NetScaler should be configured in a High Availability pair

See Appendix B - Reference Documentation for more information regarding installation

Install a Vyatta Router VM

Vyatta Version 2.6.35-1

Add an interface to network ProvisioningServices - TFTP

Add an interface to network ProvisioningServices – TFTP2

See Appendix B - Reference Documentation for more information regarding installation

Install a Domain Controller with DHCP and DNS Roles

Add an interface to Provisioning Services– TFTP

Add an interface to Provisioning Services– TFTP2

Add an interface to Network 1

See Appendix B - Reference Documentation for more information regarding installation

Configure Domain Controller

Create Domain “pvslab.com”

See Appendix B - Reference Documentation for more information regarding installation

Page 12: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 12

Prerequisites

Configure DHCP Server

Open the Windows Server Manager

Select the DHCP Server Role

Configure Scope 192.168.0.0 corresponding to network Provisioning Services – TFTP1 with Address Pool 192.168.0.50-192.168.0.59

Configure Scope 10.95.95.0 corresponding to network Provisioning Services – TFTP2 with Address Pool 10.95.95.50-10.95.95.59

See Appendix B - Reference Documentation for more information regarding installation

Install Provisioning Services Client VMs

Provisioning Services Client1 is a XenServer VM with an interface on an internal network Provisioning Services – TFTP

Provisioning Services Client2 is a XenServer VM with an interface on an internal network Provisioning Services – TFTP2

Set Provisioning Services client Boot Option:

Select the Provisioning Services Client 1 VM

o Select General Tab

o Select Properties

o Select Boot Options

o Specify: Network and ensure other options are unchecked

Repeat for the Provisioning Services Client 2 VM

See Appendix B - Reference Documentation for more information regarding installation

Page 13: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 13

Prerequisites

Install Provisioning Services/TFTP Server VMs

For both Provisioning Services/TFTP Server 1 & 2:

Add an interface to Provisioning Services– TFTP

Add an interface to Network 1

Install Provisioning Services Version 5.6.2including:

o TFTP Server ProvisioningServices Bootstrap withpertinent configuration

See Appendix B - Reference Documentation for more information regarding installation

Page 14: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 14

NetScaler General Configuration

Base Configuration

Screenshot Description

Configure the NetScaler with a NetScaler IP (NSIP) address and a default gateway.

2

Download your license and the latest NetScaler firmware from www.mycitrix.com.

Page 15: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 15

Base Configuration

Screenshot Description

Connect to the NetScaler

Enter the NetScaler‟s IP Address (NSIP) in the web browser: http://192.168.0.95

Log into the Configuration system with theID and Password

NOTE: The default credentials are:

Username = nsroot

Password = nsroot

Apply license file

Under:

>System>License>Manage Licenses>Add

Upload your license file to the NetScalerusing the License utility

3

Upgrade the NetScaler

Under:

>NetScaler>Upgrade Wizard

Follow the wizard prompts. Enter „Yes‟when prompted whether to reboot.

Re-connect to the NetScaler after it hasrebooted

Page 16: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 16

Base Configuration

Screenshot Description

Enable Load Balancing

Under:

>System>Settings>Configure Basic Features

Select:

Enable Load Balancing

Add Provisioning Services/TFTP Servers

Under:

>Load Balancing>Servers

In order to load balance TFTP services, the servers hosting the service must first be defined by doing the following:

Select Add from the bottom menu bar

In the Create Server window, enter in thefollowing information for the firstProvisioning Services/TFTP Server:

o Server Name: pvs-server1

o IP Address: 192.168.0.98

o Select Create

For the second ProvisioningServices/TFTP Server, enter in thefollowing:

o Server Name: pvs-server2

o IP Address: 192.168.0.99

o Select Create

Select Close

Each Server entry should appear “green”.If not check reachability from theNetScaler SNIP to the servers

Page 17: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 17

NetScaler – Use Source IP

The network topology pertaining to implementation of this option is shown in the following

figure:

With this option, each of the Provisioning Services Client VMs are restarted and follow the

respective paths, outlined above, sequentially to obtain their bootfile.

Provisioning Services Client 1

o Broadcasts a DHCP request, which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Sends a TFTP boot request to the NetScaler VIP obtained from the Boot Server

Host Name field in DHCP.

o The NetScaler makes a load balancing decision and subsequently in this case

changes the destination IP address to that of Provisioning Services/TFTP Server

1 where it directs the boot request.

Page 18: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 18

o Provisioning Services/TFTP Server 1 receives the boot request with the source

IP address of Provisioning Services Client 1 and sends it the initial segment of its

bootfile

Provisioning Services Client 2

o Broadcasts a DHCP request which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Sends a TFTP boot request to the NetScaler VIP via its gateway, the Vyatta

router.

o The NetScaler makes a load balancing decision and subsequently in this case

changes the destination IP address to that of Provisioning Services/TFTP Server

2 where it directs the boot request.

o Provisioning Services/TFTP Server 2 receives the boot request with the source

IP address of Provisioning Services Client 2 and sends it the initial segment of its

bootfile.

Configuration

Screenshot Description

Configure a Subnet IP (SNIP)

Under:

>Network>IPs>

Select Add from the bottom menu bar

In the Configure IP window enter the following:

o IP Address: 192.168.0.94

o Select: OK

This will be used as the source IP address for monitoring the Provisioning Services/TFTP Servers.

Page 19: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 19

Configuration

Screenshot Description

Add Provisioning Services Service Group

Under:

>Load Balancing>Service Groups

Select Add from the bottom menu bar

In the Create Service Group window enter the following:

o Service Group Name: Provisioning Services Service Group

o Protocol: ANY

o Select: pvs-server1 (192.168.0.99)

Select the Members tab:

o Select Server Based

o Highlight pvs-server1

o Port: *

o Select Add

o Highlight pvs-server2

o Port: *

o Select Add

Select the Advanced tab:

o Select:: Use Source IP

o Select Create

o Select Close

NOTE: The service group monitor was left as ping-default

Page 20: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 20

Configuration

Screenshot Description

Add Provisioning Services Virtual Server

Under:

>Load Balancing>Services

Select Add from the bottom menu bar

In the Create Virtual Server window, enter the following information:

o Name: tftp-any

o IP Address: 192.168.0.90

o Protocol: ANY

o Port: *

Select the Service Groups tab:

o Select: Provisioning Services Service Group

Select the Method & Persistence tab:

o Under Persistence Select: SOURCEIP

Page 21: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 21

Configuration

Screenshot Description

Configure DHCP Options

Open the Windows Server Manager

Select the DHCP Server Role

Configure Scope 192.168.0.0corresponding to network ProvisioningServices – TFTP2 with Scope Options:

o 066 Boot Server Host Name =192.168.0.90

o 067 Bootfile Name =ARDBP32.bin

Configure Scope 10.95.95.0 correspondingto network Provisioning Services – TFTP2with Scope Options:

o 066 Boot Server Host Name =192.168.0.90

o 067 Bootfile Name =ARDBP32.bin

Page 22: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 22

NetScaler – Direct Server Return

The network topology pertaining to implementation of this option is shown in the following

figure:

With this option each of the Provisioning Services Client VMs are restarted and follow the

respective paths, outlined above, sequentially to obtain their bootfile.

Provisioning Services Client 1

o Broadcasts a DHCP request which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Sends a TFTP boot request to the NetScaler VIP, obtained from the Boot Server

Host Name field in DHCP.

o The NetScaler makes a load balancing decision and directs the boot request to

Provisioning Services/TFTP Server 1. However in this case it does not change

the IP destination to Provisioning Services/TFTP Server 1, rather only the

Page 23: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 23

destination MAC address is modified. The frame arrives at Provisioning

Services/TFTP Server 1 with the same destination IP address as the NetScaler

VIP.

o Provisioning Services/TFTP Server 1 receives the boot request on its external

interface and forwards it to its loopback adapter with the same IP address as the

NetScaler VIP. It then sends to the source IP address, which is Provisioning

Services Client 1, the initial segment of its bootfile.

Provisioning Services Client 2

o Broadcasts a DHCP request which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Sends a TFTP boot request to the NetScaler VIP via its gateway, the Vyatta

router.

o The NetScaler makes a load balancing decision and directs the boot request to

Provisioning Services/TFTP Server 2. However in this case it does not change

the IP destination to Provisioning Services/TFTP Server 2, rather only the

destination mac address is modified. The frame arrives at Provisioning

Services/TFTP Server 2 with the same destination IP address as the NetScaler

VIP.

o Provisioning Services/TFTP Server 2 receives the boot request on its external

interface and forwards it to its loopback adapter with the same IP address as the

NetScaler VIP. It then sends to the source IP address, which is Provisioning

Services Client 2, the initial segment of its bootfile.

Page 24: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 24

Configuration of the DSR method is similar to the configuration for USIP, yet requires the

following changes to the NetScaler configuration:

Base Configuration

Screenshot Description

MAC Based Redirection Mode

Under:

>System>Load Balancing>Virtual Servers>

Highlight the „tftp-any‟ Virtual Server

Select: Open

Select: Advanced TAB

Select: MAC Based next to Redirection Mode

Select: Ok

Configuration of the DSR method also requires configuring a loopback on each Provisioning

Services/TFTP Server with an IP address which corresponds to the NetScaler VIP and setting

the TFTP service to listen on that loopback. Instructions are included for MS Windows Servers

only:

Base Configuration

Screenshot Description

Add MS Loopback adaptor to TFTP servers

For both Provisioning Services/TFTP Server 1 & 2:

From the Windows Start button:

o Right-click: Computer

o Select: Properties

o Select: Device Manager

o Right-click: <Computer Name>

o Select: Add Legacy Hardware

o Click: Next

o Select: Install the hardware I manually select from a list

o Click: Next

o Select: Network Adapters

o Click: Next

o Select: Microsoft

o Select: Microsoft Loopback Adapter

o Click: Next twice

o Click: Finish

Page 25: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 25

Base Configuration

Screenshot Description

Add VIP IP address to MS Loopback adaptor

For both Provisioning Services/TFTP Server 1 & 2:

From the Windows Start button:

o Select: Control Panel

o Select: Network and Internet

o Select: Network and SharingCenter

o Select: Local Area Connection 3

(The loopback being the lastadded will be the highestnumber)

o Select: Properties

o Select: Internet Protocol Version4

o Select: Properties

o Select: Use the following IPaddress

o Enter:

IP Address:192.168.0.90

Subnetmask:255.255.255.0

o Click: Ok & Close all otherwindows

NOTE: It is not necessary to specify a default gateway. This should already be specified on the primary interface as the Vyatta router.

Page 26: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 26

Base Configuration

Screenshot Description

Configure adapters to send and receive for loopback

This step is necessary in order to allow the server interfaces to send and receive traffic destine for the IP addresses of both the loopback and external interfaces

For both Provisioning Services/TFTP Server 1 & 2:

From the Windows Command prompt enter:

o netsh

o interface

o ipv4

o set interface "Local AreaConnection"weakhostreceive=enabled

o set interface "Local AreaConnection 3"weakhostreceive=enabled

o set interface "Local AreaConnection 3"weakhostsend=enabled

For more information see this article on Microsoft TechNet:

http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx

Page 27: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 27

Base Configuration

Screenshot Description

Bind TFTP Service to Loopback

This step is necessary in order to allow the Provisioning Services/TFTP Servers to receive TFTP requests on the loopback interface.

For both Provisioning Services/TFTP Server 1 & 2:

Open Windows Explorer:

o Browse to C:\Program Files\Citrix\Provisioning Services

o Double click tftpcpl.cpl

o Select the TFTP Network TAB

o Select the loopback 192.168.0.90

o Click OK

o Click Yes to restart the TFTP service

To verify open a DOS prompt and enter:

o Netstat –na | findstr 192.168.0.90:69

o The output should reflect the loopback listening on UDP port 69

Page 28: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 28

NetScaler – Global Server Load Balancing

The network topology pertaining to implementation of this option is shown in the following

figure:

With this option each of the Provisioning Services Client VMs are restarted and follow the

respective paths, outlined above, sequentially to obtain their bootfile.

Provisioning Services Client 1

o Broadcasts a DHCP request, which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Attempts to resolve the Boot Server Host Name „tftp‟ from the DNS Server.

o The DNS Server is configured with an alias for „tftp‟ that references the NetScaler

Authoritative DNS (ADNS) listener. A DNS name query is forwarded to

NetScaler1, from the DNS server, on behalf of Provisioning Services Client 1.

Once the NetScaler1 ADNS process receives the request it queries the GSLB

Page 29: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 29

process dynamically and based on the least connected algorithm returns the

Provisioning Services/TFTP Server 1 in the DNS reply.

o The DNS Server sends this DNS reply to Provisioning Services Client 1

o Sends a TFTP boot request to the Provisioning Services/TFTP Server 1 and it

initiates TFTP transfer of the bootfile to the Provisioning Services Client 1.

Provisioning Services Client 2

o Broadcasts a DHCP request, which is replied to by the DHCP Server carrying its

IP address, Gateway, Boot Server Host Name, and Bootfile Name.

o Attempts to resolve the Boot Server Host Name „tftp‟ from the DNS Server.

o The DNS Server is configured with an alias for „tftp‟ that references the NetScaler

Authoritative DNS (ADNS) listener. A DNS name query is forwarded to

NetScaler2, from the DNS server, on behalf of Provisioning Services Client 2.

Once the NetScaler2 ADNS process receives the request it queries the GSLB

process dynamically and based on the least connected algorithm returns the

Provisioning Services/TFTP Server 2 in the DNS reply.

o The DNS Server sends this DNS reply to Provisioning Services Client 2

o Sends a TFTP boot request to the Provisioning Services/TFTP Server 2 and it

initiates TFTP transfer of the bootfile to the Provisioning Services Client 2.

Page 30: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 30

The NetScaler - GSLB method is configured as follows:

Configuration

Screenshot Description

Enable GSLB Service

Under:

>System>Settings>Configure Advanced Features

Configure the ADNS Service

Under:

>Load Balancing> Services>

Select Add from the bottom menu bar

In the Configure IP window enter the following:

o Service Name: ADNS

o Protocol: ADNS

o Server: 192.168.0.94

o Port: 53

Select Create

Select Close

Add GSLB Site

Under:

>GSLB>Sites

Site1 – “Provisioning Services – TFTP”

o Select Add from the bottom menu bar

o In the Create GSLB site window enter the following:

o Name: Provisioning Services - TFTP

o Site Type: LOCAL

o Site IP Address: 192.168.0.94

o Select Create

Page 31: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 31

Configuration

Screenshot Description

Add GSLB Services

Under:

>GSLB>Services

Provisioning Services – TFTP – SERVER1

Select Add from the bottom menu bar

In the Create GSLB Service window enterthe following:

o Service Name: Provisioning Services –TFTP – SERVER1

o Server Name: pvs-server1

o Service Type: UDP

o Port: 69

Select Create

Provisioning Services – TFTP – SERVER2

Again In the Create GSLB Service windowenter the following:

o Service Name: Provisioning Services –TFTP – SERVER2

o Server Name: pvs-server2

o Service Type: UDP

o Port: 69

Select Create

Select Close

Page 32: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 32

Configuration

Screenshot Description

Add GSLB Virtual Server

Under:

>GSLB>Virtual Servers

Select Add from the bottom menu bar

In the Create GSLB Virtual Server window

Under the Services Tab:

o Select: Provisioning Services – TFTP – SERVER1

o Select: Provisioning Services – TFTP – SERVER2

NOTE: The “Effective State” will show DOWN the state of the services is not being communicated via MEP since a remote site is not being used.

Under the Domain Tab:

o Select Add

o Enter Domain Name: tftp.gslb.pvslab.com

Select Create

Select Close

Page 33: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 33

Configuration

Screenshot Description

Update DHCP Options

Open the Windows Server Manager

Select the DHCP Server Role

Configure Scope 192.168.0.0corresponding to network ProvisioningServices – TFTP2 with Scope Options:

o 066 Boot Server Host Name =tftp.pvslab.com

o 067 Bootfile Name =ARDBP32.bin

Configure Scope 10.95.95.0 correspondingto network Provisioning Services – TFTP2with Scope Options:

o 066 Boot Server Host Name =tftp.pvslab.com

o 067 Bootfile Name =ARDBP32.bin

Page 34: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 34

With the TFTP – GSLB option the DNS server must be configured with a Name Server for the

NetScaler ADNS service, a „gslb‟ subdomain, and an alias directing queries for the „tftp‟ name to

it.

Configuration

Screenshot Description

Configure DNS Server

Open the Windows Server Manager

Select the DNS Server Role

Right-click on the pvslab.com domain entry and select "New Delegation"

o Click: Next

o Enter: gslb

o Click: Next

Select Add Name Server

o Name: ns1

o Select: <Click here to add an IP Address>

o IP: 192.168.0.94

o Click: OK

o Click: Next

o Click: Finish

Right-click on the pvslab.com domain entry and select "New Alias (CNAME)"

o Alias Name: tftp

o FQDN: tftp.gslb.pvslab.com

o Click: Ok

See Appendix B - Reference Documentation for more information regarding installation

Page 35: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 35

Appendix A – Environment Details

Component Details

Provisioning Services Version 5.6.2

XenServer Version 5.6_2

NetScaler VPX Version 9.3-51.5

Windows Server Version 2008 R2

Vyatta Router Version 2.6.35-1

Appendix B – Reference Documentation

How to Add DHCP PXE Options to Microsoft DHCP Server

http://support.citrix.com/article/CTX115094

Requirements for Internet Hosts -- Communication Layers

http://datatracker.ietf.org/doc/rfc1122/?include_text=1

The Cable Guy: Strong and Weak Host Models

http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx

Provisioning Server High Availability Considerations http://support.citrix.com/servlet/KbServlet/download/18737-102-

445549/Provisioning_Server_High_Availability_Considerations2.pdf

Installing Windows Server 2008 DHCP Server http://www.windowsnetworking.com/articles_tutorials/How-to-Install-Configure-

Windows-Server-2008-DHCP-Server.html How to Add DHCP PXE Options to Microsoft DHCP Server

http://support.citrix.com/article/CTX115094

Using Provisioning Services Boot Device Manger with XenDesktop and XenServer http://blogs.citrix.com/2009/02/25/using-pvs-boot-device-manger-with-

XenDesktop-and-XenServer/

Using the Manage Boot Devices Utility http://support.citrix.com/proddocs/topic/provisioning-56/pvs-boot-devices-

utility.html

Vyatta Router – Quick Start Guide http://www.vyatta.com/sites/vyatta.com/files/pdfs/Vyatta_QuickStart_R6.1_v02_

1.pdf

Citrix XenServer - Quick Start Guide

Page 36: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 36

http://docs.vmd.citrix.com/XenServer/5.6.0fp1/1.0/en_gb/QuickStartGuide_BasicVersion.html

Citrix NetScaler VPX Getting Started Guide - Release 9.3 http://support.citrix.com/article/CTX128668

Provisioning Server and Citrix License Server Interaction FAQ http://support.citrix.com/article/CTX117378

Redundancy and Scalability for TFTP using NetScaler Direct Server Return

http://blogs.citrix.com/2010/11/11/redundancy-and-scalability-for-tftp-using-

NetScaler-direct-server-return/

Configuring Load Balancing in Direct Server Return Mode

http://support.citrix.com/proddocs/topic/NetScaler-load-balancing-93/ns-lb-

usecases-dsrmode-con.html#ns-lb-usecases-dsrmode-con

Load Balancing TFTP – Anything But Trivial

http://blogs.citrix.com/2011/05/02/load-balancing-tftp-anything-but-trivial/

Citrix NetScaler Networking Guide

http://support.citrix.com/servlet/KbServlet/download/27520-102-

659875/NetScaler-Networking-Guide.pdf

Using a NetScaler Appliance in the Use Source IP Mode

http://support.citrix.com/article/CTX117346

Does Use Source IP Mode Work in a NetScaler One-arm Mode Deployment?

http://support.citrix.com/article/CTX110459

FAQ: The USIP Address Mode of the NetScaler Appliance

http://support.citrix.com/article/CTX121974

How to Load Balance Trivial File Transfer Protocol Servers

http://support.citrix.com/article/CTX116337

How to Configure the Direct Server Return on a NetScaler Appliance

http://support.citrix.com/article/CTX110501

High Availability for Desktop Virtualization

http://support.citrix.com/servlet/KbServlet/download/21773-102-

650177/XD%20-%20High%20Availability%20-%20Implementation%20Guide.pdf

How to Add DHCP PXE Options to Microsoft DHCP Server

http://support.citrix.com/article/CTX115094

Page 37: High Availability for TFTP with Provisioning Services · The bootstrap file is typically delivered via Trivial File Transfer Protocol (TFTP) services hosted on Provisioning Servers.

Page 37

Revision History

Revision Change Description Updated By Date

1.0 Document complete Matt Brooks – Principal Consultant Nicholas Rintalan – Sr. Architect

December 1, 2011

About Citrix

Citrix Systems, Inc. (NASDAQ:CTXS) is the leading provider of virtualization, networking and software as a service

technologies for more than 230,000 organizations worldwide. It’s Citrix Delivery Center, Citrix Cloud Center (C3)

and Citrix Online Services product families radically simplify computing for millions of users, delivering applications

as an on-demand service to any user, in any location on any device. Citrix customers include the world’s largest

Internet companies, 99 percent of Fortune Global 500 enterprises, and hundreds of thousands of small businesses

and prosumers worldwide. Citrix partners with over 10,000 companies worldwide in more than 100 countries.

Founded in 1989, annual revenue in 2010 was $1.9 billion.

©2011 Citrix Systems, Inc. All rights reserved. Citrix®, Access Gateway™, Branch Repeater™, Citrix Repeater™,

HDX™, XenServer™, XenApp™, XenDesktop™ and Citrix Delivery Center™ are trademarks of Citrix Systems, Inc.

and/or one or more of its subsidiaries, and may be registered in the United States Patent and Trademark Office

and in other countries. All other trademarks and registered trademarks are property of their respective owners.


Recommended