Once a company has a XenDesktop or XenApp environment that is pretty mature, they often turn to Citrix Provisioning Services (PVS) to help scale the environment. There are many reasons to use or not use PVS for your VDI or XenApp environment and that’s a whole other discussion. The purpose of this blog post is to get you familiar with how to implement it. There are not a whole lot of step by step guides out there and PVS can be a real beast to wrap your head around if you are not familiar with it.
Now for the disclaimer. This guide will describe how I do things for my PVS environments. This will probably be different for your environment so make sure you thoroughly understand the reasoning behind each step and how it applies to your environment. What works for me may not work for you.
So let’s get started!
INSTALLATION
You must be logged into the PVS server using a service with DBO rights or the install will fail. Have your DBA set the service account to SA temporarily for the install. After install, remove SA rights and just give these rights only:
• dbcreator; required for creating the database
• securityadmin; required for creating the SQL logins for the stream and soap services
• db_datareader
• db_datawriter
• execute permissions on stored procedures
I find this to be the most pain free method of getting PVS installed with no DB errors. Now on to the actual steps:
1. Enable Application Server role (.NET features will be automatically installed)
2. Start Wizard, hit Console installation, run through all of it. Just hit next accept all the license agreements and let it install everything until you get to the path to install part.
3. Choose Path for install (change to D:)
5. Once done, click Server Installation on wizard home page > Install Server
6. Install SQLncx64 when prompted
And you’re done! Not very hard at all.
CONFIGURATION
Now we get to the slightly harder part, configuration. This is going to depend a lot on how you have your hardware setup. I want each of my Windows 7 provisioned desktops to have 2 NICs. One NIC is for regular network traffic and the other for streaming traffic. You don’t have to have 2 NICs and separate your traffic like this but I do for production environments. It is really only beneficial for large scale implementations so if you are doing something smaller scale or for a test environment, 1 NIC will suffice. Just keep in mind everything below in my guide is written as if you have 2 NICs:
9. For DHCP, choose service that runs on this computer and choose Microsoft DHCP. So the PVS server will have the DHCP server role running and it will be handing out streaming network IPs to the VMs as they boot. They will get regular network IPs from your regular DHCP servers just like any physical box on the network. More on this later.
10. For PXE boot, choose service that runs on this computer and choose Microsoft DHCP as well.
11. Create farm or join farm depending on what you’re doing.
12. Either choice will will ask for database info on next page
13. Type in your DB info and hit Next
14. Choose a database ***DO NOT USE A PRE-CREATED DB, just type the new DB name in the Database name box and it will create it automatically once you hit Next***. I’ve run into numerous issues in the past attempting to pre-create a database. I’m telling you now, get SA rights temporarily as I mentioned in the first part of this guide if you can. It will make your life easier.
15. My E: drive on my PVS Server is a high performance flash based IO accelerator card in this case. That is where I will put my Store. You will want some very read friendly storage for your Store as this is where you will be putting all your golden images.
16. Type in your license server info.
17. Keep user account as Network service account
18. Hit Yes wen prompted for configuring the database with the account
19. Leave password updates to the default of 7
20. Check the teamed NIC for the “Provisioning” network, not the regular network traffic network. In this case my streaming traffic/provisioning network is only routable within my blade enclosure and my interface has an IP of 192.0.0.1
21. Check the Use the PVS TFTP service option
22. Leave the default for stream servers boot list. It should be the IP of the server itself on the “provisioning” network.
23. Advanced button has some settings, leave default
24. Hit finish on confirmation page. It should look something like this.
25. Go to your NIC for PVS traffic (or teamed NIC) on your PVS server and disable IPv6. Leaving it enabled can lead to issues.
26. If using your server for DHCP as well as I mentioned above, install the DHCP Server role.
27. Select just the PVS network
28. 0.0.0.0 for the DNS servers
32. I skipped authorization when taking the screenshots but you should do it now if possible.
BUILDING YOUR BASE IMAGE
Now on to building your Windows 7 base image. This is the base image that will be completely clean, very little customization. This will be the primer for your golden images later.
Building an image is not to be taken lightly. These two articles from Citrix are a good read so you have a solid understand of what you are going to do.
CTX121028 “Best Practices for Creating a XenDesktop Image” is an older article but still a good read if you are building your image for the first time:
http://support.citrix.com/article/CTX121028
CTX131481 “Recommended Install Order for Preparing Target Device Captured by Provisioning Server to Deploy vDisk” is a bit newer and is also a good resource you should read through before proceeding:
http://support.citrix.com/article/CTX131481
34. So first you need to build a VM out. Just go to XenCenter and run the “New VM” wizard. Choose the Windows 7 (64-bit) template.
35. Give it a name and description
36. Choose the MSDN Windows 7 ISO
38. 2 vCPUs, 4 GB RAM (4096 MB)
39. Choose local storage for the disk. You can add more disks or even increase the size of a disk under Properties.
40. Delete ALL the NICs, you will recreate in the right order in the next step.
41. Click Add and add the PVS bond first, THEN the network bond. So in the example Bond 4+5 first, then Bond 2+3. Note: This is a critical step. Changing the order or adding/removing NICs later is not recommended as it breaks stuff between the XenServer Tools and PVS Target agent in my experience. Get your network setup right the first time and in the right order to avoid issues. Always put the PVS network first, network traffic second.
42. Hit Finish on confirmation page to build the VM
43. Go to the console of the new VM and run through the Windows 7 setup wizard. When it comes time to name the PC, make sure it is not a name that already exists on your network. In this example I will use “Win7MSDNBaseISO” for demo purposes but you should come up with some kind of naming scheme for your environment since you will eventually have several golden images and you don’t want to confuse them. Something like “GOLD-ACCT01” for your Accounting departments first golden image, etc.
44. Login and install XenServer Tools. Without it your NICs will act wonky. Like sending malformed packets and such which cause an HTTP 400 server error to any website you navigate to. You will need to reboot after the install. Once it’s back up, it will detect the NICs and likely prompt you to reboot again after installing the new hardware so go ahead and do it.
45. Log back in and then run your Windows Updates and/or Microsoft Updates. Don’t install any company related apps yet if at all possible. Make it as generic and clean as possible. Remember, you are building a base image to suck into a vDisk, not a golden image just yet. Whether you have just one golden image for your whole company (not likely in most environments) or several per department, try to keep the base image as lean as possible. You’ll also notice your NICs are now labeled are looking a lot healthier than before as well. Adapter 0 may say Unidentified network since your provisioning network should ideally be private. **NOTE: You can add the machine to the domain but, DO NOT install the VDA agent yet.
46. If you click on the network tab, you will notice both NICs have IPs whereas before the XenSever tools install it was Unknown.
47. Snapshot your VM. It’s not necessary but I like to as a precaution. From here if I mess up on something or forgot something, it’s easy to revert to my snapshot and fix whatever needs fixing. Beyond this point it becomes tricky.
48. Now install the Provisioning Server Target Device Software from the PVS ISO. Just click the Autorun.exe.
49. Click Target Device Installation
50. Hit Target Device Installation on the 2nd page too and it will launch the wizard. Run through the EULA and hit Next through all the windows until the install is done.
51. Uncheck the Launch Imaging Wizard link and hit Finish.
52. Hit Yes to reboot and mount your PVS boot disk as the VM comes back up or you can just shut down for now if you don’t have one yet.
53. Open up Provisioning Services Boot Device Manager (BDM) on your PVS server and create an ISO if you don’t have one already. It needs to have the IP address of the server on the provisioning network NIC.
54. Options can all be default
55. Use DHCP, swith the Boot Device to Citrix ISO Image Recorder, then hit Burn. Drop the ISO in an ISO Library your XenCenter can see.
56. Here’s where things may differ for you if you have used older versions of PVS before Imaging Wizard is where its at today. The old way of doing things was pre-creating a device on your PVS server with the same MAC address as the VM’s NIC, pre-creating a vDisk and calculating the necessary size, formatting it, assigning the vDisk to the device, then running BNImage to capture the system and push it into the vDisk. None of this manual work is necessary anymore. The Imaging Wizard works really well and will do everything for you. I actually first took screenshots of everything the manual way just for reference so you know where to look if something breaks. But then I figured that showing that whole process might confuse you so I will show you the Imaging Wizard way only. If you need me to, I can post an addendum to this article showing the manual way. Just leave a comment if you’d like to see it.
So now log back in once the VM is up and start Imaging Wizard. Enter your PVS server farm details.
57. Hit next and let it Create a new vDisk. Just hit Next again.
58. Give the vDisk a name. The vDisk size in the store will automatically be calculated. I left the VHD type to Fixed but you can choose Dynamic. Citrix has started recommending Dynamic as a best practice these days. I like to do 16 MB block size if doing Dynamic personally. It just means it will grow in 16 MB chunks. Again, make sure you select a good naming scheme for your vDisks as it becomes very important to keep them organized.
59. Choose KMS for key management (assuming you are using KMS)
60. Leave the image volume sizes all default
61. Type in a target device name, choose your streaming traffic NIC, and choose a collection:
62. On the confirmation page, click Optimize for Provisioning Services.
63. This will make a ton of registry changes that will optimize your image for PVS using ngen.exe in a cmd prompt window. Just hit OK and wait several minutes as it completes this process.
64. Once it’s done, hit Finish to begin prepping the vDisk on your PVS server’s store. It will immediately allocate the space for the vDisk since you are using Fixed so make sure there is enough room.
65. Once it’s done, it will ask to Reboot. Hit No.
66. Now right click on the VM in XenCenter and change the DVD Drive boot order to first and disable everything else.
67. Change the ISO in the DVD drive to the ISO you burned above.
68. Now go back to your PVS console and verify the device now has the vDisk attached under it’s properties. You can also choose to list the local hard disk in the boot menu.
69. Now you can reboot your VM. It will boot using your ISO, connect to the PVS server, obtain an IP on the PVS network, connect the virual disk you created. The vDisk is still in private mode. You can verify this in the PVS console easily. Just refresh and you will see a green check mark next to the device. It will have an IP and will tell you which PVS server it is connected to.
70. Log back into your VM now. It will automatically kick off the vDisk capture by loading XenConvert to capture the image. It will begin pushing your image to the vDisk you created on your PVS server.
71. Sometimes there may be errors (non-critical) but make sure to read the log and verify there is nothing critical in there. Then hit Finish.
72. You will be logged back into your Windows 7 VM at this point. Go ahead and shut it down.
73. Go to your PVS server and change the Boot From properties on your device to vDisk.
74. Now go to the storage options of your VM and detach the local storage on your XenServer. You don’t need it anymore. Then boot up your VM again. This time you will be booting directly into the vDisk image you had pushed across before on the server.
75. In the system tray menu, you can verify your vDisk is connected. Also in Explorer, you will only see the c: drive which is your vDisk.
76. I HIGHLY recommend you make a backup copy of the .vhd in your Store right now. It is a clean image with no apps and if something happens, this is the image you can revert back to. Think of it as your “Stage 1” vDisk. Make the copy and store it away somewhere safe. Once you do that, since it is still in private mode and if you haven’t done so already earlier, go ahead and add it to the domain. Then reboot when prompted. Don’t forget to add your necessary security groups as local admins before rebooting.
77. Log back in and install and other apps your company may need for the base image. You can begin installing core applications like Adobe Reader, Flash, SEP, SnagIt, NAC agent, etc. Apps that need to reside on every PC on the network. Nothing specific. You should also do your OS customizations at this time if you have any. Then lastly, install the XenDesktop 5.6 VDA agent. Make sure you use AutoSelect.exe to install it and not the .msi on the CD or you will have issues. Your path will be something like this if you left the XenDesktop 5.6 install files somewhere on your DDC:
\\yourDDCservername\Downloads\XD5.6_VDI_Single2\XenDesktop56\AutoSelect.exe
80. Leave the default Virtual Desktop Agent
81. I usually uncheck Receiver. I like to deploy it later using the Enterprise version I want our users to be using.
82. Leave PVD disabled for now. You can enable personal vDisk later if you need to.
83. Type in the names of the DDCs. You can seperate multiple DDCs with spaces. They must be FQDNs. Hit the Check button to verify they can be resolved. Then hit Next when done.
84. Leave the VDA config settings the default and hit next
85. Hit next at the summary page
86. Hit Close and it will restart the VM.
87. When the VM is back to the login prompt, go ahead and shut it down. Then go to the PVS Console and swtich the vDisk from private to standard mode (multi-device) mode which makes it read-only. If you see a lock next to the vDisk, you may need to clear it first.
That’s it, you are now complete with your base image setup.
CREATING A XENSERVER VM TEMPLATE
88. Now you need to create a VM template that PVS will use to spin up new VMs with. You can simply create a copy of the VM you had been working on and convert that copy into a template or you can create one manually. I suggest copying and converting to a template, less change of screwing something up. If doing it manually though, in XenCenter run the “New VM” wizard. Choose the Windows 7 (64-bit) template.
89. Give it a name and description
92. 2 vCPUs, 4 GB RAM (4096 MB)
93. Choose “Create a diskless VM that boots from the network” and hit Next.
94. Delete ALL the NICs, you will recreate in the right order in the next step. Click Add and add the PVS bond first, THEN the network bond. Same as before when you created the original VM. It is critical you get this right and it matches the VM.
95. Uncheck “Start the new VM automatically” and hit Finish.
96. Make sure to change the boot options to DVD drive only and move it to the top since we are using BDM (PVS boot disk). Also make sure to mount the PVS boot disk ISO at this time.
97. Right click the VM and click “Convert to Template…”
98. Hit Convert at the confirmation prompt
99. Now you can verify it is a template (blue box next to it) in XenCenter
PROVISIONING VMS USING THE PVS SERVER AND XENDESKTOP DDC
100. Now it’s time to start provisioning new VMs. In the PVS Console, right click on your site name and click “XenDesktop Setup Wizard…”
101. Hit Next at the Welcome screen
102. Type in the FQDN of only one of your DDCs and hit Next
103. Select the XenServer host you want to run your machines on and then hit Set Template to set the VM template.
104. Type in credentials for your XenServer and hit Log On, you will see all the templates on the host. Choose the VM template you had created in the steps above and hit OK and then Next.
105. Choose your Device Collection and vDisk
106. Now you can create a new Catalog or use an existing catalog. In this example, I am going to use an existing catalog. Select your Admins and hit Next.
107. Choose the number of VMs to create. I will choose 5 in this example. Leave the default of creating new AD computer accounts.
108. Choose the OU you want your new VMs to be put in. You can also choose the naming scheme for the new VMs at this point. You could use something like “VM-ACCT###” for your Accounting VMs for example. Hit Next.
109. You will see the Summary screen. Hit Finish and your VMs will start to be created. The progress bar will show you the progress but you can also go to XenCenter and watch the VMs beign created. They will not be powered on by default since you haven’t instructed your DDC to do so yet.
110. Now go to your DDC and open up Desktop Studio. Under Machines, you will see your catalog and it will show there are 5 free machines that have not been assigned.
111. Double click on the catalog and you will see the 5 machines but their SIDs since they have not been powered on yet.
112. Click on Assignments in the left and create a new Desktop Group
113. Choose your Catalog, add all 5 machines, and hit Next
114. Add your users and hit Next
115. Admins should already be selected so hit Next
116. Choose a Display Name and Desktop Group Name. The Display Name will be shown to the end user in the Web Interface. The Desktop Group name is for within Desktop Studio. Hit Finish.
117. Now go to your Web Interface (or the DDC itself in this example). Login using an account you have assigned one of your VMs to. If it’s the only thing on your WI, the desktop will start booting up immediately.
118. Log into your new VM and create and you will see the Welcome message. Yes my wallpaper, quicklaunch, visualizations are different from default Win7 because I was playing with some profile customizations when I took these screenshots. Just ignore that.
119. Create a new text document on the desktop. Then log off.
120. You will notice in XenCenter the VM you were on is now being shutdown automatically. Basically getting it ready for the next user with a clean slate.
121. Click the desktop icon again on the WI and it will launch the VM again. It will likely be another VM entirely you will be logging onto, but of course it will look the same. You will notice your text document is gone now. Exactly as expected.
That’s it! You are now up and running with your first provisioned desktops. Now you can create copies of the VHDs and begin customizing your images for different departments. Make sure the disks are in private mode when making your changes. You can also use the versioning feature for little changes to the images like Windows Updates. More on this later.
SETTING UP WRITE CACHE
So Write Cache is that big scary thing that can make or break your PVS implementation. Where you put it makes a world of difference. There are several options available where write cache can be stored. Most people opt for caching on a hidden local drive on the VM i.e. on your XenServer local disks or direct attached storage on the XenServer. It’s cheap and it works well for most implementations. Keep in mind it is not shared when you do this. Citrix has a good article called “How to Add a Persistent Volume to Your Provisioned Virtual Machine in XenServer” located here:
http://support.citrix.com/article/CTX125590
and another excellent blog post here on PVS write cache size considerations:
http://blogs.citrix.com/2011/10/06/pvs-write-cache-sizing-considerations/
So in our example so far, I had created the vDisk to leave the write cache on the PVS server. You can put the vDisk in private mode and skip directly to 127 if you like. But I want to leave old vDisk and provisioned desktops intact as an example and create a completely new vDisk and set of provisioned desktops with write cache on the XenServers instead. So we’re going to create a new vDisk from the old vDisk and then attach the new write cache drive to that. This is pretty straight forward but if you need more screenshots, leave a comment and I’ll take some:
122. Go to your Store, copy the .vhd file, paste it in the same location. Call the new VHD file whatever you like.
123. In the PVS Console, right click Store and click “Add or Import Existing vDisks. Search the store and add the vDisk you just created.
124. Under properties, make sure to enable “Enable Active Directory machine account password management” and KMS Service because they will likely not be checked when importing just the vhd.
125. Make sure the vDisk is in private mode
126. Go to your device collection and assign the vdisk to a device. You can use the original VM you were using to build out the Windows 7 image. Make sure it is set to boot from vDisk.
127. Go to XenCenter, click the Storage tab on your VM, and hit Add. You can name it something like “Win7MSDNBaseISO-WC”. We will leave the size as 10 GB. That’s a pretty decent size for a Windows 7 box rebooted once a week. Then hit Add.
128. Ensure the new disk was created with position 1. Position 0 should be your c: drive.
129. Now power on the VM, booting from the DVD and with the PVS boot disk in the drive. You will notice that Windows has detected a new drive under Disk Management. Initialize it.
130. Right click the new disk, New Simple Volume, choose the full size of the drive, assign it z:, and format it as NTFS, label the volume “Write Cache”, then hit Finish on the confirmation page to format it.
131. Shut down the VM. Detach the c:, leaving only the 10 GB z:. Copy it. Rename it to a template name, then hit Convert to template.
132. Go to your PVS console, under Store, and switch the vDisk to Standard Image and under Cache type, switch it to “Cache on device hard drive” and hit OK.
133. Go to your Site in the PVS Console and run through the XenDesktop setup wizard again like you did before but using your new template. Also go to your DDC and setup your desktop group, assignments, etc. like before but create a new desktop group so you know which ones are the new “local write cache” machines.
134. Launch one of your new VMs. You will see the Z: now called “Write Cache”. Also on the XenServer under local storage, you will see 10 GB drives created for all your VMs.
MAINTAINING YOUR VDISKS
Never update XenServer Tools in a vDisk after you have installed the PVS Target. It will destroy it. The PVS Target software talks to the XenServer Tools software and if it changes, the whole thing falls apart. In my experience, even changing hardware settings like the NIC order can cause all sorts of bad behavior. The best thing to do is build a new image and vDisk if you need to update XenServer Tools or the PVS Target software. This ensures you get an absolutely clean image. But if you don’t want to rebuild you can reverse image (kind of a pain) or just import the .vhd back into XenServer, makes your updates, then export back out to .vhd, then import it into your PVS Store as a new vDisk. Just make sure you delete any ghost NICs, hidden video drivers, etc. left behind by the old versions. Just open:
cmd
type:
set devmgr_show_nonpresent_devices=1
then:
start devmgmt.msc
and delete anything greyed out. Other than that, you can put your vDisk in private mode and update anything else like normal, including Citrix Receiver. When doing little changes to a VM, take advantage of versioning. Little changes being stuff like Windows Updates, app updates, etc. If installing a giant application like Photoshop or AutoCAD or something, you’ll probably want to merge soon since the reads would be happening all over your disk for something that large.
I hope this post has been helpful to you. As you can see at over 130+ steps, there is a lot to know when deploying PVS with XenDesktop. Deploying with XenApp is mostly the same until you get to the OS and I can cover all that in another post. If you have any questions, comments, or tips please let me know in the comments section below. If I left out something, please let me know too. 🙂
Jason Samuel is a visionary product leader and trusted advisor with a proven track record of shaping strategy and driving technology innovation. With extensive expertise in enterprise end-user computing, security, cloud, automation, and virtualization technologies, Jason has become a globally recognized authority in the IT industry. His career spans consulting for hundreds of Fortune 500 enterprises across diverse business sectors worldwide, delivering cutting-edge digital solutions from Citrix, Microsoft, VMware, Amazon, Google, and NVIDIA that seamlessly balance security with exceptional user experiences.
Jason’s leadership is amplified by his dedication to knowledge-sharing as an author, speaker, podcaster, and mentor within the global IT and technology community. Recognized with numerous prestigious awards, Jason’s contributions underscore his commitment to advancing technology and empowering organizations to achieve transformative results. Follow him on LinkedIn.
Daniel
June 27, 2012 at 3:15 PM
Seriously… Thank you for doing this. I am in the middle of deploying this at a large firm and it is a great guide. Did you mess around with the personal vDisk feature. Would love to hear your thoughts.
Daniel
Jason Samuel
June 29, 2012 at 9:08 AM
@Daniel
You’re welcome Daniel! I will be writing an article on PVD soon.
Jordan
July 5, 2012 at 6:19 PM
Nice article Jason,
A new big fan of your blog.
Jason Samuel
July 6, 2012 at 10:10 AM
@Jordan
Thanks Jordan!
Charles
July 15, 2012 at 9:51 AM
Excellent guide Jason!
I successfully reached step #69, but after rebooting the Base Image (Win 7 VM) and moving to step # 70 (XenConvert process) the VM fails to boot from the ISO, it boots back to Win7 OS from the attached HDD, at this point I can re-run the Imaging Wizard again to test modified settings but no luck. I re-tried & looked at number of settings but just can’t boot off the ISO created in step #55 using BDM. Yes, the first boot device in the boot list for the XenServer VM is DVD-Drive (correct ISO is inserted), second device is Hard Disk (unchecked) and third device is Network (also unchecked). No matter that HD is unchecked in the boot list, the VM still ends up booting into the Win7, skipping the boot from DVD-drive or inserted ISO first on the list.
Also when I browse the Citrix Boot ISO it appears completely empty, with no XenConvert folder or executable or any other files or folders on it. Not sure what BDM is supposed to write into the ISO, but it was created in under 2 seconds after clicking the Burn button.
How can I validate the ISO was correctly created by BDM? Where are the folder / files that BDM transfers to the ISO stored on the PVS 6.1 server?
Also it be awesome if you could share your manual way (without Imaging Wizard) screen shots mentioned in step #56.
(The Win7 base image VM has only single hard drive attached to it, I read that with multiple vhd attached other than the OS there is a possibility for issues.)
Thanks
Charles
July 15, 2012 at 10:26 AM
The size of the iso file created by BDM is only 300KB.
Jason Samuel
July 25, 2012 at 10:54 AM
@Charles
Thanks Charles. Yes the boot ISO does burn in a few seconds and is very small at 300 KB. It will look empty if you mount it or extract it in Windows. It writes the bootstrap to a boot partition so you can’t see it. Try setting the device in the PVS console into vDisk mode (if it’s there) and temporarily detaching the VM’s local disk. This way you are forced to use the boot ISO and can see any error messages it throws clearly. Windows won’t be able to boot since there is no c: drive available. If it starts looking for a vDisk and complains one is not found, that’s good because you know it’s talking to the PVS server. If not, something is wrong with your ISO and/or connectivity to the PVS sever’s streaming IP/NIC. It could be a number of things like the VM not getting a DHCP IP or that it can’t talk to the PVS server’s IP that you designated for streaming traffic.
The manual way I described using BNImage is by going to:
c:\Program Files\Citrix\Provisioning Services\
on your Win 7 VM and running BNImage.exe to push the image across to the PVS server. But this still requires you be connected to the vDisk first. So you have to get past ISO/booting problem first before using it.
Charles
July 25, 2012 at 12:13 PM
Thanks for the feedback Jason, I solved the issue with;
http://support.citrix.com/article/CTX133188/
Jason Samuel
July 25, 2012 at 2:42 PM
Excellent!
kishore
September 13, 2012 at 5:00 AM
could you please provide screen shots for pvs common issues and how to slove that issues.
Scott
September 13, 2012 at 2:11 PM
Nice job sir!!!
Stuart Miles
September 25, 2012 at 7:36 AM
Really nicely detailed article. I have a weird issue here – and have tried many tweaks and settings. Wondered if anyone else had the same issue.
A target machine booting from PVS into Win 7 on a GB network takes about 30 40 seconds – the same machine on a 10Mbit port takes 10 minutes. Watching network traffic initially it seems fine then when you get the Windows logo up it just does nothing (or something veeeeerrry slowly!) anyone else experienced anything like this?
Daniel
September 26, 2012 at 9:15 AM
@Stuart Miles
make sure you have these regkeys. They are part of the the best PVS practices.
you can read the doc here http://support.citrix.com/article/CTX117374
Target Device (image):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters\
DWORD = EnableOffload
Value “0”
Provisioning Server and Target Device:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters\
Key: “DisableTaskOffload” (dword)
Value: “1”
Stuart Miles
September 26, 2012 at 9:35 AM
Cheers Daniel, we’ve been bashing our heads for a while on this and gone through most of the standard docs.
We had a breakthrough today and altered the I/O Burst size to 16kb and this seemed to cure the issue!
I don’t think there were many more options to tweak!
Stuart Miles
September 26, 2012 at 9:35 AM
@Daniel
Cheers Daniel, we’ve been bashing our heads for a while on this and gone through most of the standard docs.
We had a breakthrough today and altered the I/O Burst size to 16kb and this seemed to cure the issue!
I don’t think there were many more options to tweak!
Giovanni
October 10, 2012 at 8:22 AM
Hi,
is there a difference beetween using the bootable ISO and the DHCP scope options 67/68?
Thanks.
David
October 12, 2012 at 5:15 AM
Hi,
This is a great well article.
I do have a question. When uploading the initial vDisk why do we set to boot from the ISO before the upload has taken place ?
I would think that we boot still from the hard disk to send the disk image into PVS ?
thanks
Rafael
October 26, 2012 at 4:58 PM
Dude, I’m getting to grips with all this for the exams and seriously, you’ve helped me really understand it. Thank you so much.
Jason Samuel
November 9, 2012 at 1:23 PM
@David
You need to get the PVS Target software to connect to the PVS server. Or there will be nothing to send the ISO to. The PVS Target will show as being disconnected and you won’t have a vDisk available.
Jason Samuel
November 9, 2012 at 1:23 PM
@Rafael
Glad to help! 🙂
Peter Petersen
December 6, 2012 at 3:55 PM
I don’t suppose there is a guide like this only using ESX as the backend hypervisor is there?
This is very well written and helpful!
Maikel Gaedker
February 27, 2013 at 3:03 PM
Great article and some really helpful comments too.
kawish
March 31, 2013 at 3:26 AM
Confused!!!
131. Shut down the VM. Detach the c:, leaving only the 10 GB z:. Copy it. Rename it to a template name, then hit Convert to template.
If i am booting from the vDisk, Why or how should i detach C: Drive?? Please explain.
BV
May 19, 2013 at 3:14 AM
Great write up, my only comment is to add a line about not using GPT in step 130. I had to scratch my head to figure out why even after all the 132 steps i am unable to cache on hard drive. I made a mistake of formating the 10G WC as MBR and paid my dues 🙂
sai.kumar
October 8, 2013 at 12:21 PM
great job…..
chethan
November 25, 2013 at 12:33 AM
HI Jason,
If I want to place page files also into write cache drive, how can I do it by following the same steps as you mentioned.
I am in a confusion that at what stage I have to configure page file, so that while streaming from the template, including write cache, page file also should get configured for all the target devices.
Your blog was really helpful, great work !
Jason Samuel
November 25, 2013 at 1:27 PM
@chethan
The page file will automatically be put on the write cache drive when you spin up the VMs in standard mode.
Carl Webster
January 7, 2014 at 8:36 AM
Very nice article Jason.
Webster
Carl Webster
January 7, 2014 at 9:34 AM
Citrix no longer recommends multiple NICs in either the server or image. Simpler is better. Do you still use multiple NIC?
Jason Samuel
January 7, 2014 at 11:03 AM
@Carl Webster
A blog post from Nick Rintalan at Citrix from just a few days ago says it’s not necessary anymore:
http://blogs.citrix.com/2014/01/02/new-citrix-best-practices/
Though the official stance from Citrix is still to isolate stream traffic:
http://support.citrix.com/article/CTX117374
On most all deployments I’ve done the stream traffic has come nowhere near saturating the teamed NIC. The only real benefit I’ve seen is when you’re doing troubleshooting and need to do a packet capture from your PVS server. You don’t have to worry about filtering out regular network traffic. Just pick your adapter and capture away. That’s really the only benefit I can think of in real world deployments. If you’ve got your hardware scaled and configured correctly for the size of your environment, it really shouldn’t matter if you isolate or not.
Tridib R Saikia
January 7, 2014 at 2:17 PM
Fantastic Jason… really helpful…. Thank you.
Mike Thompson
September 10, 2014 at 12:05 PM
Returned to this site as a reference. Great article!
Keith Spragg
January 5, 2015 at 9:36 AM
I’ve read a lot of “how to” and “step-by-step” articles, but I was blown away by how detailed and accurate the XenDesktop guide was. This must have taken an AGE to write!
Thank you for your efforts – I’ve been able to set up XenDesktop to go along side our XenApp installation.
Jason Samuel
January 5, 2015 at 10:46 AM
Glad to help! 🙂
Narayanasamy
February 11, 2015 at 9:07 AM
It is very nice and thanks for this article
I need to boot a VM via network boot instead of BDM iso. My VM able to find my dhcp server and get the IP but after that it saying ‘No Entry Found in Database for Device’
I created the device with VM mac in PVS server
I did goolge and read many citrix blog, articles nothing help to me
Can you please tell me how to solve the above issue
My PVS server is -7.6
My VM – VMware ESX