Daniele Tosatto

Application delivery and virtualization news

Browsing Posts in VDI

The following registry changes are recommended for all deployment scenarios and would almost always be desirable in a Windows 7 hosted VM-based VDI desktop implementation:

Configuration Optimizer Registry Modification (in REG format)
Disable Last Access Timestamp Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] “NtfsDisableLastAccessUpdate”=dword:00000001
Disable Large Send Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters]
“EnableOffload”=dword:00000000
Disable TCP/IP Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“DisableTaskOffload”=dword:00000001
Increase Service Startup Timeout No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] “ServicesPipeTimeout”=dword:0002bf20
Hide Hard Error Messages No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows] “ErrorMode”=dword:00000002
Disable CIFS Change Notifications No [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
“NoRemoteRecursiveEvents”=dword:00000001
Disable Logon Screensaver No [HKEY_USERS\.DEFAULT\Control Panel\Desktop]
“ScreenSaveActive”=”0″

Note: The Optimizer column indicates whether this registry change is included in the XenConvert Optimizer tool that is installed with the Provisioning Services target device software.

Standard Mode Recommended Configurations

The next set of registry changes are recommended for images deployed using standard mode vDisk images with Citrix Provisioning services. Standard mode images are unique in that they are restored to the original state at each reboot, deleting any newly written or modified data. In this scenario, certain processes are no longer efficient. These configurations may also apply when deploying persistent images and in many cases should be implemented in addition to the changes recommended in the preceding section.

Configuration Optimizer Registry Modification (in REG format)
Disable Clear Page File at Shutdown Yes HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“ClearPageFileAtShutdown”=dword:00000000
Disable Offline Files Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]
“Enabled”=dword:00000000
Disable Background Defragmentation Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction] “Enable”=”N”
Disable Background Layout Service Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]
“EnableAutoLayout”=dword:00000000
Disable Bug Check Memory Dump Yes [HKLM\SYSTEM\CurrentControlSet\Control\CrashControl]
“CrashDumpEnabled”=dword:00000000
“LogEvent”=dword:00000000″
SendAlert”=dword:00000000
Disable System Restore Yes [Software\Policies\Microsoft\Windows NT\SystemRestore] “DisableSR”=dword:00000001
Disable Hibernation Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power] “Heuristics”=hex:05,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,3f,42,0f,00
Disable Memory Dumps Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] “CrashDumpEnabled”=dword:00000000 “LogEvent”=dword:00000000 “SendAlert”=dword:00000000
Disable Mach. Acct. Password Changes Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
“DisablePasswordChange”=dword:00000001
Redirect Event Logs No Set appropriate path based on environment.HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“File”=”D:\EventLogs\Application.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“File”=”D:\EventLogs\Security.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“File”=”D:\EventLogs\System.evtx”

Reduce Event Log Size to 64K Yes HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“MaxSize”=dword:00010000
[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“MaxSize”=dword:00010000

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“MaxSize”=dword:00010000

Optional Configurations

This last set of machine-based registry changes is optional regardless of whether the image is deployed as a persistent or standard image. In many cases, the following configurations should be implemented; however, these configurations should be analyzed for suitability to each unique environment.

Configuration Justification Registry Modification (in REG format)
Disable Move to Recycle Bin Although the recycle bin will be deleted on subsequent reboots, disabling this service altogether might pose a risk in that users will not be able to recover files during their session. Although this setting is part of the optimizer, it might be advantageous to not disable the Recycle Bin. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket]
“UseGlobalSettings”=dword:00000001
“NukeOnDelete”=dword:00000001

Note: These are only recommendations. You should implement these at your own risk

Remember, you can stay current with this and other Windows 7 virtual desktop recommendations via the Virtualize My Desktop – Windows 7 site.

Virtual Reality Check (VRC) Project, the independent benchmark validated by both Citrix and VMware, is back with a new project: VDI Smackdown.

The 33-pages free report is a feature comparison of the four major VDI platform available on the market: Citrix XenDesktop, Microsoft Windows Server 2008 R2 Remote Desktop Services, Quest vWorkspace and VMware View.

The document highlights the key points that should be considered when customers define their VDI strategy.

You can download the whitepaper here.

If using hosted shared desktops or hosted VM-based VDI desktops, those virtual desktops are located within the data center with other critical systems.  If a virus made it into the data center, the entire infrastructure is at serious risk.  However, simply adding an antivirus solution to the virtual desktop can protect the environment. So what’s the big deal? Just do it right?  Well, nothing is as simple as one expects it to be.  Antivirus can have a major impact on the virtualization infrastructure, and even cause users to experience poor virtual desktop performance, if done improperly.

If the virtual desktops are streamed with Provisioning services, and those desktops start a full system scan at roughly the same time. Provisioning services only streams the portions of the disk image that are required.  However, if a full system scan is done,  those virtual desktops will eventually request the entire vDisk image. This not only overwhelms the network and Provisioning services, but also impacts the storage infrastructure as the write cache is utilized and explodes in size. Overcoming these issues is a fairly easy matter and is based on the following recommendations:

  1. The desktop image must be free from viruses. It is recommended to do a full system scan in private image (read/write) mode. This guarantees the image is clean.
  2. When the desktop image is in standard mode (read-only), the antivirus should be configured as follows:
    1. Only scan create/modify activities of files
    2. Scan on write events only
    3. Scan local drives only
    4. Exclusions
      1. Pagefile
      2. Print Spooler directory
      3. Write cache file
      4. EdgeSight database
      5. ICA client’s bitmap cache directory
    5. Remove the antivirus configurations from the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
      \Current Version\Run registry key
  3. Reconfigure antivirus so that the virus definitions file is stored on a persistent disk so antivirus doens’t have to download the entire definition file on each startup.

The RD Virtualization Host Capacity Planning in Windows Server 2008 R2 is now live on the Download Center.  This white paper is intended as a guide for capacity planning of RD Virtualization Host in Windows Server 2008 R2. It describes the most relevant factors that influence the capacity of a given deployment, methodologies to evaluate capacity for specific deployments, and a set of experimental results for different combinations of usage scenarios and hardware configurations.

Citrix releases an interesting white paper discussing Best Practices for HDX Technologies for XenDesktop.

You can find it here .

Here you can find some useful resources to plan and design Citrix environments.

The following resources provide a best-practices based approach to designing virtualization environments based on Citrix XenApp and XenDesktop technologies:

  • Windows XP Optimization Guide for Virtual Desktops
    Description: If Windows XP is still your desktop operating system of choice and it is going to be used within a virtual desktop environment, you need to optimize it appropriately. The optimizations will help deliver a better user experience and greater scalability on the hypervisor of choice (XenServer, Hyper-V, or ESX).
  • XenDesktop Modular Reference Architecture
    Description: The architecture explained within this white paper is a recipe for creating a scalable XenDesktop environment using any required FlexCast option. This reference architecture discusses how to configure the controllers, imaging layer, application layer and the desktop layer.
  • High-Availability for Desktop Virtualization – Reference Architecture
    Description: In environments where desktop virtualization is a critical business resource, it is imperative that the solution remains available even if a component or data center is lost. This reference architecture looks at all levels of the entire XenDesktop solution, and provides an architecture for creating a highly-available solution.
  • High-Availability for Desktop Virtualization – Implementation Guide
    Description: Implementing a desktop virtualization solution oftentimes requires an investigation and implementation of the high-availability options. This white paper provides step-by-step instructions for enabling high-availability in XenDesktop within a single site and across multiple sites.
  • Virtual Applications or Virtual Desktops
    floirDescription: Trying to decide between virtual desktops and virtual applications is oftentimes challenging. By understanding the core expectations and requirements for each delivery method helps make this decision easy. This white paper focuses on the decision and how to identify the most appropriate type of delivery solution.
  • Networking topics, including Global Server Load Balancing- it’s like never having to worry about datacenter failures again.

Microsoft has introduced a new MMC snap-in tool called Remote Desktop Connection Manager in Windows Server 2008 R2 for managing the in-box VDI solution from Microsoft. In this blog, I will explain how you can specify various RDP settings for the virtual desktops published using this tool.

You can specify a different set of RDP settings for each type of virtual desktops (Personal and Pooled) published by this tool.

To modify RDP settings for “Personal Virtual Desktops,” expand the “RD Virtualization Host Servers” node, select “Personal Virtual desktops” and then select “Properties” from actions.

image

To modify the RDP settings for pooled virtual desktops, select the pool node under “RD Virtualization Host Servers” node and then select “Properties” from actions. This allows you to change the RDP property for the pool that you have selected. If you have more than one pool of virtual desktops, you will have to change RDP settings for each pool by going to their respective nodes.

clip_image002

For most common RDP settings there is a “Common RDP Settings” property tab with dedicated UI controls for each of the setting. The “Custom RDP Settings” tab allows you to specify advanced RDP settings which are not modified very frequently. Given below is an example of how Custom RDP Settings can be used to enable optimal audio/visual experience for virtual desktop users.

Enabling optimal user experience

By default, the virtual desktops published through this tool are tuned for performance. For example, with default RDP settings, users will not be able to see the wallpaper on their virtual desktop. To enable the optimal audio/visual user experience, you can add following RDP settings under the “Custom RDP settings” tab:

RDP Property Description
audiocapturemode:i:1 Enables Audio recording redirection
connection type:i:2 Sets connection type to LAN
disable wallpaper:i:0 Allows wallpaper
allow desktop composition:i:1 Enables Aero Glass
disable themes:i:0 Enables themes
audiomode:i:0 Sets audio playback mode to “Play on this computer”

clip_image001

With the above settings, RDP connections to virtual machines require higher network bandwidth compared to default settings. Therefore the admin should enable these settings taking into account the available network bandwidth and the desired user experience.

For a complete list of RDP settings for Remote Desktop Services, see the Remote Desktop Services Technical Reference (http://go.microsoft.com/fwlink/?LinkId=139899).

The Promise of VDI

The promise of Virtual Desktop Infrastructure (VDI) is that end-user desktops can be centralized in such a way as to move complexity and state from the desktop into the datacenter. To execute on this promise, we needed to allow people to use a broad range of endpoint devices without compromising on the end-user experience. To this end, we are developing a remoting approach that complements traditional graphics remoting capabilities and works for endpoint devices ranging from PCs to the most lightweight of thin clients.

Client-Centric Remoting

Traditionally, graphics remoting protocols like RDP have approached remoting in a client-centric way.  These protocols intercept graphics on the host device and then efficiently forward the intercepted graphics ‘primitives’ (e.g., “Draw Rectangle”, “Draw Line”) to the client device.  The client endpoint renders the primitives using a client-side counterpart for each graphics intercept point on the host.

This style of remoting is client-centric because the architecture relies heavily on the rendering capabilities of the client software and hardware.  There are benefits to client-centric remoting.  Chiefly, the bandwidth utilization is very good for graphics types that can be intercepted high in the software stack and sent as primitives.  But, when the client and host don’t both support a particular graphics type, either the application fails to run properly or the two sides negotiate down to a least common denominator graphics construct: a bitmap.  Bitmaps require more bandwidth than primitives.  For example, the primitive representation of ‘Draw Line’ would simply include the x, y coordinates for the line start and the line finish. The bitmap representation of the line would have to describe, minimally, the X and Y coordinates for every single point on the line.

If you have a powerful client device with a rich software stack and your host has all the right graphics intercept points, you can have a great user experience over a relatively low-bandwidth connection with a client-centric graphics solution.  But, if you have a less complex client device and/or are missing some important graphics intercept points on the host, client-centric remoting will result in gaps in the experience, such as choppy video or missing graphics.

Client-centric remoting originated when there was limited bandwidth from the datacenter to the end-user desktop and when the vast majority of applications were developed on top of the same Windows graphics APIs, GDI.

Host-Centric Remoting

Today, bandwidth is less expensive and in many places widely available.  Today’s modern Windows desktop includes rich media and 3D graphics content.  Additionally, a wide array of graphics types (for example, Silverlight, Adobe Flash, DirectX, Aero Glass, Windows Media, etc.) is now relevant to Windows users. These changing conditions call for the addition of a new model that can support all graphics types, including 3D, by sending highly compressed bitmaps to the endpoint device in an adaptive manner. We call this host-centric remoting.

You can ensure a consistent end-user experience for a wide array of devices if you follow the VDI model and enable movement of a large portion of the client software and hardware into the datacenter. With host-centric remoting, all the graphics can be intercepted on the host at a very low layer in the software stack. All graphics are rendered on the host into a single frame buffer (a temporary holding station for graphical updates) that represents the end-user display.  Changes to the frame buffer are sent to the client at a frame rate that dynamically adapts to network conditions and the client’s ability to consume the changes. The changes are sent to the client endpoint as highly compressed bitmaps by using an encoding scheme optimized for Windows desktop content. The basic graphics requirement for the client endpoint is that it supports the ability to decode and display the highly compressed bitmaps that it receives from the host. At a minimum, the client needs the decoder counterpart to the encoder that was used on the host as well as a basic graphics display capability.

The downside to host-centric remoting is that it requires more bandwidth than client-centric remoting. However, it delivers a consistent experience for every aspect of the modern Windows desktop projected out to an amazing diversity of client devices.

It’s Additive!

If you have a client device with a rich software stack and advanced processing capabilities, client-centric remoting makes sense. But, to completely deliver on the promise of VDI, you also need host-centric remoting.

RemoteFX is Microsoft’s first big step into the world of host-centric remoting. But, the obvious relationship between client-centric remoting and host-centric remoting is that you need both sets of capabilities in your remoting protocol. We are adding RemoteFX as a new capability or ‘payload’ to the RDP platform, while continuing to support and enhance our existing client-centric model. We offer our customers the best of both worlds in one solution. Host-centric remoting takes advantage of environments with ample bandwidth for content- and device-independent remoting, and client-centric remoting works well for network-constrained environments with richer, more powerful client devices. The fundamentals of RDP are unchanged. RDP includes the same authentication, encryption, device redirection, and transport capabilities independent of the remoting model being leveraged.

New capabilities will enhance both virtualized server and virtualized desktop deployments:

  • Remote FX: With Microsoft RemoteFX, users will be able to work remotely in a Windows Aero desktop environment, watch full-motion video, enjoy Silverlight animations, and run 3D applications within a Hyper-V VM – all with the fidelity of a local-like performance. For more info, check out Max’s blog here.
  • Hyper-V Dynamic Memory: With Hyper-V Dynamic Memory, Hyper-V will enable greater virtual machine density suitable for servers and VDI deployments.

What Virtualization Users Have Told Us

When it comes to virtualization and memory, virtualization users have repeatedly provided the following requirements:

  1. Use physical memory as efficiently and dynamically as possible without impacting performance.Customers investing in virtualization hosts are purchasing systems with larger memory configurations (32 GB, 64 GB, 128 GB and more) and want to fully utilize this system asset. At the same time, they’re purchasing this memory to provide superior performance and to avoid paging.
  2. Provide consistent performance and scalability. One frequent comment from virtualization users is that they don’t want a feature with a performance cliff or inconsistent, variable performance. That’s makes it more difficult to manage and increases TCO.

Their comments are clear: Maximize our investment in the hardware resources, provide high density, and with a minimal performance impact.

(Speaking of performance, Hyper-V R2 performance is exceptional. Microsoft recently released an in depth performance analysis on Windows Server 2008 Hyper-V R2 Virtual Hard Disk Performance using a variety of workloads including SQL, Exchange, Web and more. This is a must read:http://download.microsoft.com/download/0/7/7/0778C0BB-5281-4390-92CD-EC138A18F2F9/WS08_R2_VHD_Performance_WhitePaper.docx)

Virtual Machine Performance & Density

If you think about Virtual Machine Performance and Virtual Machine Density as a continuum and you can place the slider, where would you position the slider?

MaximumPerformance2_thumb1

Up to now, Microsoft’ve opted to err on the side of performance with excellent results. Now, customers are asking to start moving that slider over to increase density and still minimize performance impact.

So, what is Dynamic Memory? At a high level, Hyper-V Dynamic Memory is a memory management enhancement for Hyper-V designed for production use that enables customers to achieve higher consolidation/VM density ratios.

When you hear terms like “feature pack” or “service pack” or “service release,” usually you expect a few bug fixes, maybe a couple cool widgets here and there – but overall relatively minor stuff…right?

In this case, XenDesktop 4 Feature Pack 1 may be the understatement of the year (and it’s only March!) This is a feature update that adds several new capabilities to XenDesktop 4 that deepen integration with the Microsoft platform and further enhance end user experience, improve scalability, and simplify management. Some of the highlights of this release include:

  • Access to virtual desktops that’s up to 5x Faster. New “streamed user profiles” in XenDesktop can shorten virtual desktop and application log-on times up to 5x, dramatically enhancing user experience. The new release also includes a variety of enhancements to the company’s HDX technology, designed to ensure a high definition experience for all users, regardless of where they are or what type of device they are using.
  • Unparalleled Scalability. XenDesktop 4, Feature Pack 1, has been verified through formal testing to deliver an unprecedented 100,000 shared virtual desktop sessions concurrently from a single site. The shared hosted model is one of several virtual desktop options included in XenDesktop’s FlexCast™ delivery technology – and one that is widely deployed by hundreds of thousands of customers to several million users every day.
  • Simplified App Management – The new XenDesktop version incorporates all the capabilities of the company’s recent XenApp 6 release, including tight integration with Microsoft App-V. With more than half the ROI of desktop virtualization coming from centralized app management, these improvements offer significant new simplification and cost savings for IT!

Enhancements for ever FlexCast Delivery Model

Since desktop virtualization means a lot more than just VDI, with XenDesktop 4 FP1, every FlexCast delivery model offers new benefits. Breaking it down:

  • For all FlexCast delivery models: Feature Pack 1 provides complete integration with Microsoft App-V, enabling XenDesktop to provide on-demand, self-service app delivery integration with App-V through Citrix Dazzle and Receiver.
  • For Hosted Shared Desktops: Feature Pack 1 offers support for Windows Server 2008 R2, integration with Microsoft management tools, and dramatically simplified installation and configuration. This release also improves productivity for end users with extensive new high-definition HDX technologyenhancements for Windows portable USB devices, support for Microsoft OCS, VoIP and more. These innovative HDX enhancements were delivered for Hosted VM-based Desktops and Streamed Desktops in 2009
  • For Hosted Shared Desktops, Hosted VM-based Desktops, and Streamed Desktops: Feature Pack 1 includes Streamed User Profiles, a new capability that can shorten virtual desktop and hosted application logon times by up to 5X. Streaming profiles let the user complete the logon process without having to wait for the entire profile (sometimes 200-300MBs large) to load. In addition, a new “active write back” feature speeds logoff times by sending profile changes to the central store during the session as they occur, rather than waiting to do them all in one big batch at logoff.
  • For high-end 3D graphics users on Hosted Blade PCs: This update includes enhancements to HDX 3D for Professional Graphics, providing support for Windows 7 (32 and 64-bit), Windows XP 64-bit, and lossless compression (ideal for users of medical imaging applications).

Feature Pack 1 will be made available later this month.