866-764-TECH(8324) · Subscribe to Application Solution Providers, Inc.News FeedSubscribe to Application Solution Providers, Inc.Comments

Add Seamless Scalability, High Availability and Simplified Storage Management to Citrix Virtual Solutions with Sanbolic Melio 2010 

Hi, my name is Andy Melmed and I am the Director of Enterprise Solutions for Sanbolic Inc., a developer of software products designed to simplify, share and extend the capabilities of SAN storage.

As a new guest blogger on the Citrix Community blogs, I plan to use this forum to explain how Citrix ISVs, VARs and customers around the globe are enhancing Citrix virtual solutions with virtual shared storage provided by Sanbolic. In my blogs, I’ll cover a wide range of topics that focus on using our software to improve the scalability, availability, flexibility and manageability of Citrix virtual solutions, including new product features, configuration best practices and recommendations, infrastructure design options, etc. I will also include references to newly published white papers and configuration papers to make sure you have the latest information on how Sanbolic is helping organizations realize the greatest return on their investments in Citrix technologies.

For my first posting, I’m going to explain how Sanbolic’s flagship product, Melio 2010, enhances Citrix XenDesktop virtual desktop and XenApp application delivery infrastructures powered by Citrix Provisioning Services (aka PVS). To begin, I’d like to pose the following questions:

Are you currently in the planning and design phases of deploying a virtual desktop and/or application delivery infrastructure using XenDesktop and/or XenApp?

Are you planning to take advantage of the performance, scalability and reliability capabilities of SAN storage to store the virtual images (vDisks) that will be streamed to virtual machines hosting desktops and XenApp servers?

Are you spending a lot of time looking for the best way to ensure these infrastructures achieve the highest levels of performance, scalability, availability and manageability in order to realize the greatest return on your investment?

If you answered “yes” to one or more of the above questions, I strongly recommend taking a few minutes to read the following white paper: http://www.sanbolic.com/pdfs/HA_Options_for_Citrix_Virtual_Solutions.pdf.

This paper highlights the storage options most frequently considered by organizations looking to enable high availability for Provisioning Services (the underlying technology used to stream desktop and server OS images on demand to virtual machines hosting virtual desktops and XenApp servers).

Once you’ve finished reading the paper it will be obvious why, out of all the options available for enabling high availability for Provisioning Services, only Sanbolic Melio 2010 actually enhances Citrix XenDesktop and XenApp!

The following diagram illustrates how Sanbolic Melio 2010 integrates into a XenDesktop virtual desktop infrastructure:

Organizations that have deployed XenDesktop and XenApp with Sanbolic Melio 2010 have achieved the following:

1. Simplified maintenance of vDisk images by consolidating all vDisks onto a single volume on SAN storage, with all vDisk changes available for streaming by multiple PVS Servers immediately, i.e., no need to replicate the vDisks to different PVS Servers to ensure vDisk version consistency.

2. Enhanced I/O performance using stripe sets (comprised of disks from multiple storage arrays) that leverage multiple storage controllers, caching and spindles to improve the user experience.

3. Quick and seamless scale-out by adding more PVS Servers or more storage resources on the fly, with little effort and no interruption to user productivity.

4. Reduced storage costs through greater utilization of storage resources.

5. Centralized management of storage resources as all physical disks are virtualized and managed from a single console that can be accessed locally or remotely.

6. Improved fault-tolerance via high availability of PVS vDisks and databases.

7. Enhanced vDisk protection with cluster-wide or individual vDisk snapshots.

Compatible with all industry-standard server and storage hardware, Sanbolic Melio 2010 runs on Windows Server operating systems, allowing multiple PVS Servers to share concurrent read-and-write access to a single volume on SAN storage that contains the vDisks and optionally, device write cache files. This configuration enables high availability of PVS vDisks to ensure maximum uptime for virtual desktops and XenApp servers as well as high availability of PVS databases, enhancing system fault-tolerance.

For mid- to large-size XenDesktop and/or XenApp infrastructures, only highly scalable and highly available shared storage provided by Sanbolic Melio 2010 and SAN storage offers the levels of performance, scalability, flexibility and manageability necessary to meet both current and future demands while allowing organizations to achieve the greatest return on their investments in these industry-leading solutions.

If your interest in Sanbolic Melio 2010 is piqued by the information presented in the white paper and you’d like to see a live demonstration that shows how Melio 2010 enhances Citrix virtual solutions, please contact Sanbolic at sales@sanbolic.com and one of our sales representatives would be happy to schedule a demonstration for you.

For a more detailed look at how Sanbolic Melio 2010 enhances Citrix XenDesktop, check out http://www.sanbolic.com/pdfs/Optimizing_Citrix_XenDesktop_VDI_Solutions_with_Sanbolic_Melio_2010.pdf, which explains how Melio 2010 enables the seamless scale-out of XenDesktop to allow organizations to extend the benefits of VDI to a larger percentage of their users.

To learn more about Sanbolic’s SAN-storage enhancing software, please visit http://www.sanbolic.com. We’re confident you’ll see why Melio 2010 is the ideal choice for enhancing Citrix XenDesktop and XenApp virtual solutions. And while you’re there, check out all the other solutions we enhance, such as scalable file and web-serving farms, highly available SQL Server clusters, and enterprise-class server virtualization with Microsoft Hyper-V.

Sanbolic… Building better solutions with virtual shared storage!

Notice: The views expressed in this blog belong to Sanbolic, Inc. and have not been authorized by Citrix Systems, nor do they necessarily reflect the views of Citrix Systems.

Speed.  More speed. And to get more speed with desktop virtualization, we hear more and more about how important IOPS are to being able to support the virtual desktop. Not enough IOPS means slowness. No speed. I’ve had a few blogs about it and plan to have a few more. What I wanted to talk about was an interesting discussion I recently had with 3 Senior Architects within Citrix Consulting(Doug Demskis, Dan Allen and Nick Rintalan).  There are 3 smart guys who I talk to fairly regularly and the discussions get quite interesting.

This particular discussion was no different.  We were talking about the importance of IOPS, RAID configs, spindle speeds with regards to an enterprise’s SAN infrastructure. (Deciding if you are going to use a SAN for your virtual desktops is a completely different discussion that I’ve had before and Brian Madden had more recently). But for the sake of this article, let’s say you’ve decided “Yes, I will use my SAN.” If your organization already has an enterprise SAN solution, chances are that the solution has controllers with plenty of cache. Does this make the IOPS discussion a moot point? If we simply use an IOPS calculator (at least the ones I’ve seen) and do not take into account the caching capabilities of the SAN controllers, won’t we over-provision our virtual desktop environment and end up wasting more money/resources?

Many of us who are familiar with XenDesktop knows that changes made to the golden disk image, when delivered via Provisioning services, is stored in a PVS Write Cache.  From numerous tests and implementations, we know that 80-90% of the IO activity from a virtual desktop will be writes.  If we configure the SAN Controllers to be 75% write (assuming we have battery-backed write cache controllers), we allow the controllers to allocate more cache for write operations, thus helping to offload the write IO to the disk, which raises the number of effective IOPS the storage infrastructure can support. Think of the controller’s caching capabilities as a large buffer for our disks.  If our disks can only support so many write operations, the controller cache stores the writes until the disk is able to write it to the platter. This cache allows the infrastructure to keep moving forward with new operations even though the previous operations were not written to the disk yet.  They are all buffered. Just remember, we aren’t reducing the total number of IO operations, we are just buffering them with the controller cache.

Think about it another way. If we encounter a storm where each user will require 10MB of write operations and the storage controller has a 4GB cache, that one controller can support 400+ simultaneous users for this particular storm, and we haven’t even talked about the disk IOPS yet!!!  With this scenario, wouldn’t a single disk spindle be able to support this particular storm because the controller is buffering everything? And what’s also interesting is those write operations are being flushed to disk continuously so the number of users the controller will be able to support would be much, much higher.

So if we have cache on our controllers, which most SAN controllers I’ve seen lately have, are we over designing the storage infrastructure by only focusing on IOPS?  (this is assuming you are using SAN and not local disks on your hypervisor which I talk about a lot as well).  Just remember that those write operations must eventually get written to disk. So if we know what our controller cache is capable of, and we know the amount of storage required for a particular storm (logon, boot, logoff, etc), can’t we support more users (and I mean a lot more users) on the SAN?

What do you think?

Daniel – Lead Architect – Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect

It almost sounds like I’m talking about personal finances. You better plan your cache appropriately or you will run out. I’m not talking about money; I’m talking about system memory (although if you plan poorly we will quickly be talking about money).

It comes down to this… system cache is a powerful feature allowing a server to service requests extremely fast because instead of accessing disks, blocks of data are retrieved from RAM. Provisioning services relies on fast access to the blocks within the disk image (vDisk) to stream to the target devices. The faster the requests are serviced, the faster the target will receive. Allocating the largest possible size for the system cache should allow Provisioning services to store more of the vDisk into RAM as opposed to going to the physical disk.

Not planning system cache appropriately is the 8th mistake made when deploying virtual desktops

10. Not calculating user bandwidth requirements

9.   Not considering the user profile

8.   Lack of Application Virtualization Strategy

7.   Improper Resource Allocation

6.   Protection from Anti-Virus

5.   Managing the incoming storm

4.   Not Optimizing the Desktop Image

Unfortunately, many environments are not configured optimally. Simply adding RAM to a Provisioning services server is not enough; the system must be configured appropriately.

Operating System
The operating system plays a large role in how large the system cache can become.

    * Windows Server 2003/2008 x32: 960 MB

    * Windows Server 2003/2008/2008 R2 x64: 1 TB

Because the 64 bit operating system can have a larger system cache, a larger portion of the vDisk can be stored in RAM, which is recommended.

Windows 2008 is recommended over 2003 because of the improvements in the memory manager subsystem, which has shown some improvements.
RAM 8-32GB of RAM

The more RAM allocated for the server, the larger the system cache can become. The larger the cache means vDisks reads will be faster. If you have more vDisks, you will need more RAM. A quick estimate is to plan for 2GB of RAM/Cache for each vDisk you will host. If you want more details, then I recommend the great article: Advanced Memory and Storage Considerations for Provisioning Servicescreated by Dan Allen (Sr. Architect at Citrix). It goes into the details of how Windows deals with cache.
vDisk Storage
The vDisk can be stored on just about any type of storage (iSCSI, Fiber, local, NFS, CIFS, etc). However, there are a few instances where the storage selected will have an impact on how the Provisioning services server’s operating system caches the vDisk blocks.

1. Network Drive: If the Provisioning services server sees the vDisk drive as a network drive via a UNC path, the server will not cache the file.

2. CIFS Share: If the storage infrastructure is a network CIFS share, Provisioning services will not cache the vDisk in memory.
Optimizations In Windows Server 2003, large system cache must be enabled by configuring the server’s performance options, which is shown in the figure to the right.
In Windows Server 2008, this setting is not required due to the enhancements in the memory allocation system. Windows 2008 utilizes a dynamic kernel memory assignment that reallocates portions of memory on-the-fly, while previous versions had these values hard set during startup. As Windows 2008 requires more system cache, the operating system will dynamically allocate.


Daniel – Lead Architect – Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect

Have you used Provisioning Services 5.1 with read-only stores? Do you remember how much manual process was involved to switch from read-only to read-write? Provisioning Services 5.6 addresses this with the new Store Management Wizard.

In case you didn’t have the chance to check Read-only stores during the Synergy Provisioning Services deep dive class, I will provide you some insights into it.

First, you might ask when you should use Read-only vDisk storage with Provisioning Services. When you are using a SAN for vDisk storage and also using client-side write-back cache (disk or RAM), you can obtain the maximum benefit from the Read-only storage feature. In these environments, use of this feature completely eliminates the need to deploy shared/clustered file system software, reducing deployment costs and complexity, and maximizing scalability and performance.

Ok, now that you like the feature, how is the performance improved? It eliminates the overhead of the normal Provisioning Services disk locking mechanism. This impact is primarily visible during the target device boot and performance is improved 25-50% depending on the number of target devices booting concurrently (greater improvement is achieved with higher device counts).

In case you already know about this feature but you haven’t tested it yet because you thought it was a lot of work (it had to be done manually with Provisioning Services 5.1), I have great news: Provisioning Services 5.6 drastically improves the management aspect of the read-only stores with the new Store Management Wizard that can switch the read-only store modes from maintenance (read/write) to active (read/only) with a simple click. When you have to do any maintenance you change to read/write (maintenance mode) choosing a specific server and when updates to the vDisk are completed, you just change to read/only – again using the Store Management Wizard, so no more manual diskpart commands.

It works with iSCSI and Fibre Channel; you only need to make sure the partition is set to read/only at the NTFS level before you present it to all the other Provisioning Servers in your farm.

If you are entitled to Provisioning Services based on XenApp or XenDesktop licensing, you can download the new version 5.6 of Provisioning Services at www.citrix.com/mycitrix once you login.

Elisabeth Teixeira – Principal Engineer – Worldwide Technical Readiness

Follow me on Twitter: http://www.twitter.com/lizteixeira

Follow me in the Blogs: http://community.citrix.com/blogs/citrite/elisabetht

Once upon a time, there was a little school (70,000 users) with a  little problem (desktops over 5 years old) with a little idea. The school was trying to find a way to do more with the tax subsidies. The desktop environment was becoming ancient. The newest desktops were 5 years old with many more approaching 10 years.  And because the district consisted of many different schools, there was little similarity. There were different endpoints, different applications and even different quality of service.  With so many students having home PCs, the school was also interested in allowing these students to work with their applications while not at school.

The school decided to try something new… desktop virtualization.

But if you had to create a desktop virtualization design for a school or your organization, how would you begin? What would you focus on?  What do you think are the most important design components?  That is what we will focus on during a Ask the Architect TechTalk on June 18th at 1PM Eastern time.  Not only will we focus on the hypervisor, which is Microsoft Hyper-V, we will also focus on the three Citrix FlexCast models used, the image delivery solution, applications integration and how the XenDesktop farm is designed.

There will be many interesting points throughout the TechTalk including this one: To help save money, local Hyper-V disk drives will be used for the virtual desktops instead of more extensive SAN storage. I’ve spoken about this in a previous blog and this design puts it into effect.

Still aren’t convinced that you should tune in? Then how about looking at these tidbits for the environment.

  • Hyper-V Servers for desktops: 300
  • Hyper-V servers for infrastructure components: 8
  • Provisioning Services servers: 8
  • Blade PCs: 500
  • Shared Storage: 300-700 GB
  • Number of desktop images: 5

Still not convinced? Then how about taking a look at the ABC School District design document. You can also read about some of the design considerations for this organization in these blogs:

Don’t forget to register and I hope to see you there and hear some great questions.

Lead Architect – Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect
Facebook Fan Page: Ask The Architect

One of the main goals with desktop virtualization is to reduce the number of required desktop images. The fewer number of images, the easier it is to support and maintain the desktop environment, which makes desktop virtualization so promising when compared to the traditional desktop approach. The goal is a single image, but oftentimes, other factors play a role in slightly increasing that number. Take, for instance, the ABC School District Reference Design.

 The design called for 5 different desktop images, as shown in the figure.

If you look at the specifications, many of the configuration details are identical. So why create different images for different user groups? It really came down to future plans. The ABC School District decided that it would be easier to design the environment with unique images for the different areas:

  • Middle School
  • High School
  • High School Blade PCs
  • Teachers & School Administrators
  • Support Staff

Ideally, we probably could have reduced the number of images, with the aid of application virtualization. But the school district wanted to make sure unique images were available if certain applications were later identified to be incompatible with the different forms of application virtualization (application streaming and application hosting). Also, it would have been possible to integrate the High School and High School Blade PCs images into a single image, but because the Blade PCs are delivered without a hypervisor, there would be variations in the device drivers (something Provisioning services can easily handle). To make the management of the images easier, it was determined to separate these images as well.

So we are left with 5 images. Not bad for an environment with 20,000 end points.

Lead Architect – Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect
Facebook Fan Page: Ask The Architect


With the release of XenDesktop 4, Windows 7 is now a supported operating system for XenDesktop. Since Microsoft announced the end-of-life for Windows XP many institutions are considering moving their user population to Windows 7. Since Microsoft and Citrix work closely together, I was assigned to work at their Enterprise Engineering Center on some preliminary scalability testing XenDesktop 4 on Microsoft Hyper-V 2008 R2. Out of that joint operation, came several recommendations around deploying Windows 7 with XenDesktop which I wanted to get out to the field and disseminated as quickly as possible.

Microsoft has built Windows 7 as a virtualization-aware operating systems and as such it is already optimized for such an environment. However, my initial investigation has yielded the following performance optimizations that can be further applied to Windows 7 when deploying it via XenDesktop (XD) and/or Provisioning Services (PVS). Of course, as in the original [Windows XP Optimization blog|ocb:/2008/10/24/Windows XP Performance Optimizations for XenDesktop and Provisioning Server vDisks|Windows XP performance optimizations], none of the optimizations below are required, but they can be used if you want to streamline your Windows 7 desktop delivery. Used for this blog was Windows 7 Enterprise Edition.

Installing Windows 7

This may be obvious, but when creating the virtual hard disk (VHD) to store the Windows 7 image, use the Windows 7 Diskpart utility, not the Windows XP/2003 version. In other words, do not create the VHD from a Windows Server 2003 host and then install Windows 7 on it. The Windows XP/2003 version of Diskpart places a disk signature to the beginning of the disk and then starts the partition in the last few sectors, guaranteeing that the file system blocks will be out of alignment with the underlying storage system. I don’t want to spend a lot of time here on disk alignment issues, but if you want to know more about disk alignment, check out section 3.3 of the Virtuall (PQR) whitepaper on VDI storage, available at http://virtuall.eu/download-document/vdi-storage-deep-impact.

If Provisioning Services will be used, create virtual machines with multiple network interface cards (NIC) in the operating system image and on the underlying hypervisor hosts. Create two networks, one without a gateway to manage the streaming data from the provisioned server and one network that has a gateway for all other traffic. If you are planning on using Windows 7 with Microsoft Hyper-V, you will need two network cards – one will be the legacy network adapter for the PXE booting with provisioning services and the other will be the synthetic network adapter used for all other network traffic. The dual NIC configuration will provide the best performance on Hyper-V, since the synthetic NIC is optimized for a virtualized environment and has a higher throughput than the legacy NIC required for PXE booting. When the host is not Hyper-V, dual NICs will still allow the “disk traffic” from PVS to be separated from the normal ICA and network traffic of the workstation.

Also, if using Provisioning Services, do not join the Windows 7 image to the domain prior to creating the vDisk image. Create the vDisk and then boot from the vDisk image in private mode, join it to the domain. After the machine reboots from the domain join, install the Virtual Desktop Agent, shut it down and switch the vDisk to standard (read-only) mode and use that version of the vDisk for XenDesktop. For more information on the process of creating a vDisk image, see the Citrix Knowledge Base article CTX121028 – http://support.citrix.com/article/CTX121028.

Removable Windows 7 Features

Once you have installed Windows 7 into the VHD, you will find many new features. Windows 7 with its media-rich focus does install a couple of features that can be removed before taking an image if the users will be accessing Windows 7 through XenDesktop. Here are the features I saw installed with Windows 7 Enterprise that can most likely be uninstalled in the XenDesktop environment.

  • Windows Media Center: XenDesktop users are unlikely to be watching TV on their desktop.
  • Windows DVD Maker: Most users will not be creating DVDs through their XenDesktop.
  • Tablet PC Components: Users of XenDesktop are not likely to be using a tablet PC for connectivity.

Please note that if you are reviewing these optimizations to use FlexCast technologies to deliver locally streamed desktops, you may want to leave these features engaged, since users could be doing any of those tasks listed above.

Run the XenConvert Optimizer

The quickest way of optimizing Windows 7 is to use the optimizer that comes with XenConvert. The XenConvert Optimizer tool will automatically set the correct values on a Windows 7 operating system for many of the items that I had included in the previous Windows XP blog. The optimize button can be found on the following screen in XenConvert:

Once you click the button, you are presented with a box that allows you to deselect the optimizations that are not required in your environment. Items that are labeled “Vista” work on “Windows 7″ as well. The screenshot below shows the optimizations available from the tool:

Hint: The Optimizer can be manually executed outside of XenConvert by running C:\Program Files\Citrix\Provisioning Services\TargetOSOptimizer.exe.

Unfortunately, the optimizations usually upset the Windows Security system because it disables Windows Update. After optimizing, the Action Center will now show a message with an error. To stop the message, go to the Action Center and disable security messages for Windows Update and any other services that you have other software to support. For instance, in my environment I am using McAfee Security for the other options, so I have stopped the warning messages from appearing in Action Center.

Settings for the Default User Profile

This section lists a few of the settings that will improve the user experience but are set at the user profile level. Keep in mind that creating a default user profile in Windows 7 is quite a bit more complex than in previous versions of Windows. I have provided guidance around how to modify the default user profile at the end of this section, but you might want consider applying these changes through Active Directory Group Policy.

Force Offscreen Compositing for Internet Explorer

This setting is disabled by default in Windows 7 with Internet Explorer 8 and is still recommended for XenDesktop 4. Turning this setting off removes any of the flickering that may display when using Internet Explorer through XenDesktop, by telling Internet Explore to fully render the page prior to displaying it. To change it, complete the following steps:

1.    Open Internet Explorer
2.    Select Tools >> Internet Options from the menu
3.    Select the Advanced tab
4.    In the Browsing section, enable the checkbox for “Force offscreen compositing even under Terminal Services
5.    Click OK to save the changes
6.    Restart Internet Explorer

More information available at http://support.microsoft.com/kb/271246/en-us

Remove the Menu Delay

With Windows 7, the Start menu has a built-in delay of 400 milliseconds. To speed the menu response time, follow these steps to remove the delay:

1.    Start the Registry Editor (Regedit.exe)
2.    Navigate to HKEY_CURRENT_USER\Control Panel\Desktop{color}
3.    Set the value of MenuShowDelay to 0
4.    Exit the Registry Editor

Remove Unnecessary Visual Effects

Disabling unnecessary visual effects such as menu animations and shadow effects that generally just slow down the response time of the desktop. Keep in mind that right now XenDesktop 4 with Windows 7 doesn’t support the Aero effects but that is on the roadmap.

1.    Open Control Panel
2.    Select the System applet
3.    Click Advanced System Settings on the left
4.    Click the Settings button under the Performance section
5.    Click “Adjust for best performance” radio button
6.    If you want to keep the ClearType font settings, enable the “Smooth edges on screen fonts” checkbox
7.    If you want to keep the XP Visual Style, scroll to the bottom and check the last box titled “Use visual styles on windows and buttons
8.    Click OK twice to close the dialogs and then exit the System Properties screen

Set the Default Behavior for the Power Button

When using XenDesktop 4, setting the default behavior to “Log off” will be the best action. Users can still select other available options, but this selection will probably make the most sense and allow the Desktop Group settings to control whether the virtual workstation reboots or not at logoff. To change the default setting, complete the following steps.

1.    Right-click the Taskbar or Start button
2.    Click Properties
3.    Select the Start Menu tab
4.    Select the appropriate action under Power button action:
5.    Click OK to save the default action

Make the User Profile the Default User Profile

Since the changes above apply to every user, the quickest way to apply them for all users logging onto the workstation is to set them in the default user profile. In Windows XP you could copy the profile over to the default user, however in Windows 7 the “Copy To” button has been disabled for every profile except the Default User (the one you are most likely to replace). Instead now with Windows 7 there is only one method of replacing the default user profile, which is to use the “CopyProfile” function of Sysprep. If you don’t know how to do this, (and I did not want to learn it) you might want to check out the following Microsoft Support article, “How to customize default user profiles in Windows 7” –http://support.microsoft.com/kb/973289

For those readers wanting a bit more background as to the changes and options available, you can check out the Deployment Guys blog at http://blogs.technet.com/deploymentguys/archive/2009/10/29/configuring-default-user-settings-full-update-for-windows-7-and-windows-server-2008-r2.aspx.

Not wanting to “sysprep” my Windows 7 golden image, I went looking for an easier solution. I found it. I used the Forensit User Profile Manager 1.6 Vista tool available at http://www.forensit.com/desktop-management.html. This is a free tool (at least right now) and it replaces the Windows 7 profile management dialog with their own which will allow you to copy over the default profile. When you remove it, (which I did so the vDisk users will not be able to manage profiles) the default behavior returns and you cannot choose the “Copy To” any more.

NOTE: As before, be sure to remove any user or machine specific data for the ICA Client, the ICA Streaming Client, Password Manager, and EdgeSight before copying the profile over. Since the image prep for these items is beyond the scope of this blog, I will save it for a topic another day.

Settings for the Machine

This section provides a list of the optimizations that will affect all users of the image. These settings are usually set after logging in as an administrator. Several of the optimizations from the Windows XP blog are handled when using the XenConvert Optimize tool mentioned at the beginning of the blog. This section represents the remaining ones.

Power Configuration Settings

Two of the power settings can adversely affect the performance of Provisioning Services. One of them is the hard disk power savings. If the PVS server is using a local hard disk for the vDisk cache, you do not want the operating system to power down the local drive. The other setting is the Hibernate setting. The PVS Optimizer tool will disable hibernating, but you can manually do it as well. Here are the steps for disabling the power settings:

1.    Open Control Panel
2.    Select the Power Options applet
3.    Click Change Plan Settings
4.    Click Change Advanced power settings
5.    For the default power scheme, set “Turn off hard disks after” setting to Never
6.    You may want to repeat this procedure for the other power plans
7.    Click OK to save the changes
8.    Exit the Power Options applet

Modify the Windows Service Timeout

With Windows 7, the possibility still exists that in environments with large amounts of virtual machines rebooting simultaneously that Virtual Desktop Agent (VDA) may fail to register because the Windows Service timeout is reached before Citrix Desktop Service starts. I recommend changing the 30-second default to 120-seconds to give the service plenty of time to start before the Citrix Desktop Service starts.

1.    Start Registry Editor (Regedit.exe)
2.    Navigate to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
3.    If the ServicesPipeTimeout value is not present, use the following steps to create it:
       a.    Click theControl
       b.    On the Edit menu, point to New, and then click DWORD Value
       c.    Type ServicesPipeTimeout, and then press Enter
4.    Right-click the ServicesPipeTimeout key and then click Modify
5.    Click Decimal
6.    Type 120000, and then click OK (120-seconds in milliseconds)
7.    Quit the Registry Editor
8.    Reboot for the changes to take effect

Disable Remaining Unnecessary Services

You can go through the list of other services that are configured on Windows 7 and disable any ones that will not be used in your environment. One nice thing about Windows 7 is that some of the more critical services will explain in the description what will not work if the service is disabled. Here are few services that you may be able to disable:

Function Discovery Resource Publication: Publishes this computer and resources attached to this computer so they can be discovered over the network. If this service is stopped, network resources will no longer be published and they will not be discovered by other computers on the network. If the device will not be sharing any resources, you can safely disable this service.

Background Intelligent Transfer Service: Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows update or MSN Explorer, will be unable to automatically download programs and other information. In most instances this service can be disabled safely since auto-updating features are disabled for standard (read-only) vDisks.

Desktop Windows Manager Session Manager: Provides Desktop Window Manager startup and maintenance services. Basically, it is used or Aero and other special effects, like transparency and glass window frames, 3-D window transition animations and Windows Flip. If you are following the guidelines above to reduce most of the special effects, or the video card drivers on the host does not support Aero, you can safely disable this service.

Theme Service: Provides user experience theme management. As above, if you are following the guidelines above to reduce most of the special effects this is a prime candidate for being disabled.

Offline Files: The offline files service performs maintenance activities on the offline files cache, responds to user logon and logoff events, implements the internals of the public API, and dispatches interesting events to those interested in offline files activities and changes in cache state. Since most XenDesktops will be running in a data center remotely, the need for offline files and synchronization is not present.

Most of the other services are not set to automatic startup in the Enterprise edition, so I didn’t bother reviewing them.

Final Recommendations

Here are few final recommendations, two of which are carry-overs from the Windows XP optimization blog that I believe still apply for Windows 7.

Flush the DNS cache

Although I have not had any issues with Windows 7 and ip address caching, I am leaving this recommendation in the list because it will not hurt anything and it only takes 10 seconds to complete. Flush the DNS Cache using the ipconfig /flushdns command. This prevents any IP addresses cached on the read-only disk from interfering with DNS resolution at a later date.

Run ChkDsk

This recommendation is a good idea since it verifies the file system or disk has no missing file links. Run chkdsk -f from a command prompt and verify that no issues are present.

Re-enable Windows Security Center

The XenConvert process seems to disable the Windows Security Center service resulting in yet another message in the Action Center. Unfortunately, I was unable to find any way to disable that message. So my current solution was to just re-enable Security Center after XenConvert disabled it during the image creation process and leave all the other warning messages disabled as mentioned at the beginning.

Wrapping it up

I realize that Windows 7 is a new operating system and as I learn more about its behavior, I will try to get that information out here on my blog. Of course comments are welcome if readers have optimization ideas that they have tried with Windows 7 and either XenDesktop or Provisioning Services.

As for my next blog topic, I am quite excited to share with you information regarding my experience at the Microsoft EEC which focused on testing XenDesktop 4 with Windows Server 2008 R2 Hyper-V. Stay tuned!!

If you found this blog useful and would like to be notified of future blogs, please feel free to follow me on twitter @pwilson98.