2015-03-07

Last Modified: Apr 17, 2015 @ 6:33 am

Navigation

Planning

Citrix License Server Version

vDisk Storage

Robocopy Script

Installs

.Net Framework

PvS Console

PvS Server

Database Configuration

Database Script

Configuration Wizard – New Farm

Configuration Wizard – Join Farm

Troubleshooting – Networking Services Don’t Work After Reboot

Firewall

Disable BIOS Boot Menu

Private Mode vDisk – No Servers Available for vDisk

Multi-homed Provisioning Server

Antivirus Exclusions

TFTP High Availability

DHCP Failover

Health Check

Planning

Provisioning Services Planning – Reference List – http://support.citrix.com/article/CTX137199

PvS Firewall Rules

Provisioning Services can be downloaded from the main XenApp or XenDesktop download page. For example: XenDesktop 7.6 Enterprise Edition.


Citrix License Server Version

Make sure the Citrix Licensing server is 11.12.1 or newer.


vDisk Storage

Do the following on both PvS Servers. The vDisks will be stored locally on both servers. You must synchronize the files on the two servers: either manually (e.g. Robocopy), or automatically (e.g. DFS Replication).

Create D: Drive

In the vSphere Web Client, edit the settings for each of the Provisioning Services server virtual machines.

On the bottom, use the drop-down list to select New Hard Disk and click Add.


Expand the New Hard disk by clicking the arrow next to it.

Change the disk size to 500 GB or higher. It needs to be large enough to store the vDisks. Each full vDisk is 40 GB plus a chain of snapshots. Additional space is needed to merge the chain.

Feel free to select Thin provision, if desired. Click OK when done.

Login to the session host. In Server Manager, open the Tools menu and click Computer Management.

Under Storage right-click Disk Management and click Rescan Disks.

On the bottom right, right-click the CD-ROM partition and click Change Drive Letters and Paths.

Click Change.

Change the drive letter to E: and click OK.

Click Yes when asked to continue.

Right-click Disk 1 and click Online.

Right-click Disk 1 and click Initialize Disk.

Click OK to initialize the disk.

Right-click the Unallocated space and click New Simple Volume.

In the Welcome to the New Simple Volume Wizard page, click Next.

In the Specify Volume Size page, click Next.

In the Assign Drive Letter or Path page, select D: and click Next.

In the Format Partition page, change the Volume label to vDisks and click Next.

In the Completing the New Simple Volume Wizard page, click Finish.

If you see a pop-up asking you to format the disk, click Cancel since Disk Management is already doing that.

vDisk Folders

On the new D: partition, create one folder per Delivery Group. For example create one called Win7Base and create another folder called Win7SAP. Each vDisk is composed of several files so its best to place each vDisk in a separate folder. Each Delivery Group is usually a different vDisk.

Robocopy Script

Here is a sample robocopy statement to copy vDisk files from one Provisioning Services server to another. It excludes .lok files and excludes the WriteCache folders.

Service Account

Provisioning Services should run as a domain account that is in the local administrators group on both Provisioning Services servers. This is required for KMS Licensing.

From Citrix eDocs: The Provisioning Services Soap Service account must be added to the Administrator node of Citrix Studio and must have the Machine Administrator or higher role. This ensures that the PvD desktops are put into the Preparing state when the Provisioning Services (PVS) vDisk is promoted to production.

.NET Framework 3.5 SP1 & 4.5 – 2008 R2 Only

Provisioning Server on Windows Server 2008 R2 requires .NET Framework 3.5 SP1 to be installed prior to installing Provisioning Server.

On each Provisioning Server, in Server Manager, right-click Features and click Add Features.

In the Select Features page, check the box next to .NET Framework 3.5.1 and click Next.

In the Confirm Installation Selections page, click Install.

In the Installation Results page, click Close.

.NET Framework 4.0 has bug. Upgrade to 4.5. More information at All the target devices are not selected when using shift select within the PVS console to select a number of target devices.

.NET Framework 4.5.1 can be installed from Windows Update or you can download it from Microsoft.

Provisioning Services Console 7.6

Go to the downloaded Provisioning Services 7.6 and run PVS_Console_x64.exe from the Console folder.

Click Install.

In the Welcome to the InstallShield Wizard for Citrix Provisioning Services Console x64 page, click Next.

In the License Agreement page, select I accept the terms and click Next.

In the Customer Information page, click Next.

In the Destination Folder page, click Next.

In the Setup Type page, click Next.

In the Ready to Install the Program page, click Install.

In the InstallShield Wizard Completed page, click Finish.

Provisioning Server 7.6 – Server Install

If vSphere, make sure the Provisioning Services server virtual machine is running VMxNet3 NIC.

Go to the downloaded Provisioning Services 7.6 and run PVS_Server_x64.exe from the Server folder.

Click Install when asked to install SQL2012nclx64.

Click Yes when asked to install.

In the Welcome to the Installation Wizard for Citrix Provisioning Services x64 page, click Next.

In the License Agreement page, select I accept the terms and click Next.

In the Customer Information page, select Anyone who users this computer and click Next.

In the Destination Folder page, click Next.

In the Ready to Install the Program page, click Install.

In the Installation Wizard Completed page, click Finish.

Database Script

By default, the Provisioning Services Configuration Wizard will try to create the database using the credentials of the person that is running the Wizard. This isn’t always feasible. An alternative is to create a script that a DBA can run on the SQL server.

Go to C:\Program Files\Citrix\Provisioning Services and run DBScript.exe.

Change the selection to New database for 2012 or higher.

Enter a path to save the script file.

Fill in the other fields.

Select an Active Directory group containing your Citrix administrators and click OK.

In SQL Server Management Studio, open the SQL script.

Execute the script to create the database.

The person that runs the Provisioning Services Configuration Wizard will need db_owner permission to the new Provisioning Services database.

Provision a Windows service account that will run the services on the Provisioning Services server. This account must have a SQL login on the SQL server containing the PvS database. The Provisioning Services Configuration Wizard will grant this account the correct permissions in the database.

Configuration Wizard – New Farm

If you used DBScript.exe to pre-create the database, skip to Configuration Wizard – Join Farm.

The Configuration Wizard launches automatically. If the database wasn’t pre-created, then the person running the wizard must have dbcreator and securityadmin roles on the SQL Server. If true, click Next. If not true, then cancel the wizard and launch it as somebody that does have those roles.

The DHCP Services page appears. DHCP is typically hosted on a different server so select The service that runs on another computer. It is also possible to install DHCP on the PvS Servers. Click Next.

In the PXE Services page, select The service that runs on this computer and click Next.

In the Farm Configuration page, click Create Farm.

In the Database Server page, enter the name of the SQL server and click Next.

In the New Farm page enter the following:

Enter a descriptive Database name. Put the word Citrix in the database name so the DBA knows what it is for.

Enter a descriptive Farm name.

Enter a descriptive Site name

Enter a descriptive Collection name. All of these names can be changed later.

Select the Active Directory group that will have administrator permissions to Provisioning Services and click Next.

In the New Store page, browse to one of the vDisk folders and give the store a name. Then click Next.

In the License Server page, enter the name of your Citrix license server, check the box next to Validate license server and click Next.

In the User account page, notice it defaults to Network service account. This won’t work with KMS licensing so change it to Specified user account. Enter credentials for an account that is a local administrator on all Provisioning Services servers and click Next.

In the Active Directory Computer Account Password page, check the box and click Next.

In the Network Communications page, click Next.

In the TFTP Option and Bootstrap Location page, check the box and click Next.

In the Stream Servers Boot List page, click Advanced.

Check the box next to Verbose mode, click OK, and then click Next.

In the Finish page, click Finish.

Click OK if you see the firewall message.

In the Finish page, click Done.

Configuration Wizard – Join Farm

The Configuration Wizard launches automatically.

There are two methods of handling SQL permissions:

The person running the wizard must have db_owner on the database and securityadmin role on the SQL Server. This allows the wizard to add the service account to SQL logins and grant it access to the database.

Or the person running the wizard can be limited to just db_owner permission to the database. The service account must be added manually to SQL logins by a DBA.

The DHCP Services page appears. DHCP is typically hosted on a different server so select The service that runs on another computer. It is also possible to install DHCP on the PvS Servers. Click Next.

In the PXE Services page, select The service that runs on this computer and click Next.

In the Farm Configuration page, click Join existing farm.

In the Database Server page, enter the name of the SQL server and click Next.

In the Existing Farm select the database and click Next.

In the Site page, select an existing site and click Next.

If you used the script to create the database then there probably are no stores defined. Do so now.

Otherwise, in the New Store page, select the existing store and click Next.

In the User account page, notice it defaults to Network service account. Change it to a service account that is local administrator on both Provisioning Services servers. Click Next.

In the Active Directory Computer Account Password page, check the box and click Next.

In the Network Communications page, click Next.

In the TFTP Option and Bootstrap Location page, check the box and click Next.

In the Stream Servers Boot List page, click Advanced.

Check the box next to Verbose mode, click OK, and then click Next.

In the Finish page, click Finish.

Click OK if you see the firewall message.

In the Finish page, click Done.

Troubleshooting – Networking Services Don’t Work After Reboot

If your PXE service or TFTP service does not work after a reboot of the Provisioning Services server, do the following:

One option is to set the Citrix PVS PXE Service, Citrix PVS TFTP Service, and Citrix PVS Two-stage boot Service to Automatic (Delayed Start).

The TFTP and Two-stage Boot services can be delayed by setting registry keys. From Carl Fallis at Citrix Discussions:

Keys = HKLM\System\CurrentControlSet\services\BNTFTP (and PVSTSB)\Parameters

Value = InitTimeoutSec (DWORD). 1 – 4 seconds. Default is 1.

Value = MaxBindRetry (DWORD). 5 – 20 retries. Default is 5.

Disable Firewall

The Windows firewall must be disabled to allow communication on all Provisioning Server ports.

In Server Manager, click Tools and run Windows Firewall with Advanced Security.

Click Windows Firewall Properties.

On the Domain Profile tab, change the Firewall state to Off.

Disable BIOS Boot Menu

The versioning process in Provisioning Services will present a boot menu when booting any version except Production.

To avoid this, create the DWORD registry value HKLM\Software\Citrix\ProvisioningServices\StreamProcess\SkipBootMenu on both Provisioning Servers and set it to 1. Note: the location of this key changed in Provisioning Services 7.0.

Then restart the Citrix PVS Stream Service.

Private Mode vDisk – No Servers Available for vDisk

Citrix CTX200233 – Error: “No servers available for disk”: When you set a vDisk to Private Image mode (or new Maintenance version), if the Target Device is not connected to the server that contains the vDisk then you might see a message saying “No Servers Available for vDisk”.

To avoid this, create the DWORD registry value HKLM\Software\Citrix\ProvisioningServices\StreamProcess\SkipRIMSForPrivate on both Provisioning Servers and set it to 1. Note: the location of this key changed in Provisioning Services 7.0.

Then restart the Citrix PVS Stream Service.

Multi-Homed Provisioning Server

From slide 20 of http://www.slideshare.net/davidmcg/implementing-and-troubleshooting-pvs:, Multi-homed Provisioning Services server is not recommended but if you insist, and if running Provisioning Services 6.1 or older, configure the following. Provisioning Services 7.6 configuration wizard should have asked you for the management NIC.

HKLM\Software\Citrix\ProvisioningServices\IPC

New Reg_Sz (string) named IPv4Address with the IP of the NIC for IPC

HKLM\Software\Citrix\ProvisioningServices\Manager

New Reg_Sz (string) named GeneralInetAddr with the IP of the NIC and port

e.g. 10.1.1.2:6909

Citrix Knowledgebase article – Timeout Error 4002 in Provisioning Server Console after Clicking “Show Connected Devices”: when there are multiple streaming NICs assigned to the PVS Server, when Show Connected Devices was clicked in the PVS console, the following symptoms might be experienced: Server timeout error 4002, unusual delay of 3 to 4 minutes to list the connected devices, or PVS console stops responding. Complete the following to resolve the issue:

On the PVS Server machine, under HKLM\software\citrix\provisioningServices\Manager key, create registry DWORD RelayedRequestReplyTimeoutMilliseconds, and set it to 50 ms (Decimal).

Create a DWORD RelayedRequestTryTimes, and set it to 1.

Open the PVS Server console and test by selecting the Show Connected Devices command.

Antivirus Exclusions

From http://www.michelstevelmans.com/citrix-provisioning-services-7-recommended-antivirus-exclusions:

A few recommended Server Side file exclusions:

C:\Program Files\Citrix\Provisioning Services\BNTFTP.exe

C:\Program Files\Citrix\Provisioning Services\MgmtDaemon.exe

C:\Program Files\Citrix\Provisioning Services\Inventory.exe

C:\Program Files\Citrix\Provisioning Services\MgmtDaemon.exe

C:\Program Files\Citrix\Provisioning Services\PVSTSB.exe

C:\Program Files\Citrix\Provisioning Services\SoapServer.exe

C:\Program Files\Citrix\Provisioning Services\StreamProcess.exe

C:\Program Files\Citrix\Provisioning Services\StreamService.exe

C:\Program Files\Citrix\Provisioning Services\drivers\BNITDI.sys

C:\Program Files\Citrix\Provisioning Services\drivers\CFsDep2.sys

C:\Program Files\Citrix\Provisioning Services\drivers\CVhdMp.sys

C:\ProgramData\Citrix\Provisioning Services\Tftpboot\ARDBP32.BIN

D:\Pagefile.sys

D:\Store => ( i.e. local vdisk store)

A few recommended Target Device exclusions:

C:\Program Files\Citrix\Provisioning Services\BNDevice.exe

C:\Program Files\Citrix\Provisioning Services\TargetOSOptimizer.exe

C:\Program Files\Citrix\Provisioning Services\drivers\BNIStack6.sys

C:\Program Files\Citrix\Provisioning Services\drivers\CFsDep2.sys

C:\Program Files\Citrix\Provisioning Services\drivers\CNicTeam.sys

C:\Program Files\Citrix\Provisioning Services\drivers\CVhdBusp6.sys

D:\.vdiskcache (the location of your vDisk cache file)

D:\dedicateddumpfile.sys

D:\pagefile.sys

An even easier approach would be to exclude the complete Provisioning services folder.

Microsoft’s virus scanning recommendations (e.g. exclude group policy files) – http://support.microsoft.com/kb/822158.

TFTP High Availability

If your Target Devices are not on the same VLAN as the Provisioning Servers, you will need to load balance TFTP.

Implementation Guide – High Availability for TFTP – http://support.citrix.com/article/CTX131954

NetScaler 10.1 and newer has native support for TFTP protocol. Older versions of NetScaler are more difficult to configure.

DHCP Failover

The DHCP infrastructure must be highly available. And session hosts should be configured with DHCP Reservations. With multiple DHCP servers, any reservation should be created on all DHCP servers hosting the same DHCP scope. The easiest way to accomplish this is with the new DHCP Failover feature in Windows Server 2012.

Build two DHCP servers on Windows Server 2012.

Create a scope for the Provisioning Services Target Devices.

Right-click the existing scope and click Configure Failover.

In the Introduction to DHCP Failover page, click Next.

In the Specify the partner server to use for failover page, enter the name of the other DHCP server and click Next.

In the Create a new failover relationship page, enter a Shared Secret and click Next.

Click Finish.

Click Close.

Health Check

Sacha T. – Citrix PVS HealthCheck: PowerShell script to view the health/status of the Provisioning Services environment. Emails an HTML Report.

Related Pages

PvS – Console Configuration

Back to Provisioning Services

Show more