入门介绍:
(这篇文章翻译的有点晚了,毕竟马上是WS2008R2和XD5.5的天下了,如果有部署XD的读者,倒是能从中得到一些提示,尤其在用户设定优化的部分,AutoRUN和杀毒确实要仔细斟酌的。)
XenDesktop是一个按需交付,向任何员工,任何地点交付完整微软桌面体验的解决方案。之前实施的大规模XenDesktop都是基于Windows XP的。尽管现在Win7在逐渐成为主流。许多早起的采用者面临调整XP作为VDI桌面模型的挑战。通常来看,微软的视窗操作系统分为服务端版和客户端版。在主机寄托VDI架构中,XP作为客户端操作系统出现在传统的数据中心,接下来我们开始优化虚拟的XP。
尽管依赖服务器计算的管理员调整类似WS2003来支持数百使用者,但是他们似乎不具备把类似XP运行在数据中心的知识。部分知识请参考“Best Practices for Citrix XenDesktop with Provisioning Server”这篇文档将告诉大家如何可靠的优化XP。微软和思杰都有自己的方式来实现这些优化。这些优化可以提高登入速度,消除不必要的提示和更快的屏幕更新。通过减少不必要的处理器,内存,硬盘和网络使用来提升性能和可扩展性。
机器设置
因为机器设置可以作为标准镜像的一部分,因此这比用户设置更加容易。然而,机器设置因场景会有较大的不同,特别是依靠Provisioning服务来部署标准模式的vDisk。幸运的是,大部分机器级别的优化已经集成到XenConvert优化工具中。此工具可优化的注册表键值如下。
实现机器级别的注册表配置。
机器设置可以在镜像准备和维护的任何时间进行,最简单的方式是采用regedit.exe或者执行reg文件。自动配置的方式包括组策略或者其它第三方工具。下面先介绍适用于任何场景的优化:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | Disable Last Access Timestamp Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] “NtfsDisableLastAccessUpdate”=dword:00000001 Disable Indexing Service Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cisvc] “Start”=dword:00000004 Disable Wireless Zero Config. Service No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WZCSVC] “Start”=dword:00000004 Disable Security Center Service No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc] “Start”=dword:00000004 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 Disable Windows Tour No [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Tour] “RunCount”=dword:00000000 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” |
标准模式的推荐配置
下面的设置适合PVS提供标准镜像的场景。这些同样适用于多种场景的固定镜像。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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 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 Move to Recycle Bin Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket] “UseGlobalSettings”=dword:00000001 “NukeOnDelete”=dword:00000001 Disable Mach. Acct. Password Changes Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters] “DisablePasswordChange”=dword:00000001 Disable Windows Update Service Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv] “Start”=dword:00000004 |
可选配置
大多数情况下,下面的配置可以部署,但是在特殊的环境需要加以斟酌。
1 2 3 4 | Disable Themes Service No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Themes] “Start”=dword:00000004 |
软件代理的配置
前面的部分章节涵盖了针对XP自身的优化,而考虑安装在XP上的第三方软件代理或者帮助程序对XP的影响同样重要,其中的很多会随系统启动自动加载。我们需要想办法降低由此带来的影响。在一台物理机承载100+虚拟XP虚拟桌面的场景中,一个只需消耗少量资源的程序代理就能够占用整个CPU核心或者几个G的内存。另外,所有的后台进程都会对用户体验造成负面影响,而用户体验的好坏直接决定了桌面虚拟化方案的成功与否。这里不做具体的深入探讨,只描述通常的优化规则。
a。 移除不需要的开机启动程序。安装第三方软件后,分析镜像的“Startup”路径和“Run”键值。许多诸如Adobe Reader,Java之类的程序和帮助应用会驻扎此地以检查更新和快速加载。而在VDI托管方式中这是没有必要的。我们还需要测试禁用自动启动之后对应用程序本身没有影响。
a-1 优化病毒扫描。我们需要回顾防病毒软件的配置了。思杰推荐仅仅扫描本地磁盘的写操作来最小化处理时间。我们也建议排除分页文件和打印缓冲区。在部署标准模式的vDisk是,思杰推荐对基础镜像进行定期病毒库升级。
a-2 EdgeSight配置。当采用EdgeSight,思杰推荐针对防病毒软件的额外配置,详见CTX111062。
用户设置篇:
与机器设置不同,用户设置需要应用到每一个用户而且无法作为基础镜像的一部分。用户设置也不依赖与镜像是私有模式还是标准模式,尽管设置采用的方式会因此不同。下面的所有设置都不包含在XenConvert的优化工具中,这使得用户设置更加难以实施。
部署用户端的注册键值设置。
许多优化推荐说要改写镜像中默认的profile来实施用户个性化设定。我们修改系统默认的profile之后,每个新用户将采用我们修改过的profile作为他们默认的profile。只不过这种方法有着重大缺陷会引起很多问题,特别是在Windows 7中,并且这种方法不被microsoft官方支持。另外,这些做对已经拥有漫游配置文件的用户没有效果。
对此的改善方法是当用户登入是按需配置各自的profile。我们可以借助GPO或者登入脚本来实现。用了保证用户体验的优化,上述方法必须配合永久用户配置文件实现,可以采用的方案有Citrix Profile Management,Windows Roaming Profile或者第三方的软件。这样一来,首次登入时,初始化程序需要额外的时间来建立profile。而接下来的登入时间会明显缩短。部分设置需要用户第二次登入时才生效。这样的做法在保证用户快速登入的同事允许管理员在飞行中部署任何变更而不必烦恼重建profile。
当然还有其他需要考虑的配置。首先,漫游配置文件只能在域控环境中实施。这样会强制用户在每台机器上存在自己的漫游配置文件,而这在大多数环境是不现实的。第二,不推荐使用GPO的ADM模版,因为它无法修改注册表的二进制值。最后,挂载注册表来修改默认profile的方法也不可取,因为首次登入时,许多注册表键值会发生改变。
用户配置文件最佳实践
考虑到用户设定会保存在用户的profile中,在漫游配置文件中实施这些设定会工作的更好。下面描述了保证漫游profile表现良好的最佳实践。
1、 使用SP3。最好采用SP3版本,如果条件不允许,安装补丁KB899409和KB941158.
2、 使用Citrix Profile Management。在XP没有策略可以设定漫游配置文件的路径。在AD的用户账户属性中,只有“out of the box”来设定用户profile(不是终端配置文件),但是,用户的每次登入会影响每个系统的profile。在多数环境下这样做是不够的。Citrix Profile Management允许管理员针对虚拟桌面环境裁剪Profile配置而不影响不在此环境的用户。它能够轻松的添加到新的或者已存在的XD环境并且全部依靠组策略来配置。
3、 安装UPHClean。这个可被信任的帮助程序用来保证用户注销时,profile被卸载和保存到网络存储。此软件的最新版本是1.6d,它只支持32位系统,64位系统请考虑2.0beta。遗憾的是,此程序生命周期已经终止。
4、 部署KB9411158. 尽管此补丁已经在SP3中,但是部分环境中的iedkcs32.dll可能没有被正确升级。请验证%WINDIR%\system32下的此文件版本是否高于或这是17.0.6000.20668.如果不是,请查找正确的版本拷贝到%WINDIR%\system32和%WINDIR%\system32\dllcache文件夹下。完成升级后,请按照官方KB941158的文档添加启用此修复注册表值。
5、 不要修改和替换默认配置文件。 尽管对未来用户修改是非常容易的,然而这不被微软官方所支持,并且会引起无法解释的用户权限和配置文件路径问题。比较好的改进是平衡组策略和登入脚本的优劣来升级合适的注册表键和键值。详见前面的论述。
6、 使用Userenv和配置管理登入。如果登入时长超出预期,请启用Userenv和Profile Management日志机制。查找登入进程中造成延迟的潜在罪犯。默认情况下,这两项都会写入系统驱动。在标准模式的虚拟桌面,不能够重启,否则会导致日志文件的丢失。具体步骤请参看微软知识文档KB221833和思杰电子文档“Set Logging with Profile Management”
推荐配置
下面的配置推荐在任何部署场景中实施。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Force Offscreen Composition for Internet Explorer [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] “Force Offscreen Composition”=dword:00000001 Reduce Menu Show Delay [HKEY_CURRENT_USER\Control Panel\Desktop] “MenuShowDelay”=“150” Disable all Visual Effects except “Use common tasks in folders” and “Use visual styles on windows and buttons” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects] “VisualFXSetting”=dword:00000003 [HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics] “MinAnimate”=“0” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] “ListviewAlphaSelect”=dword:00000000 “TaskbarAnimations”=dword:00000000 “ListviewWatermark”=dword:00000000 “ListviewShadow”=dword:00000000 [HKEY_CURRENT_USER\Control Panel\Desktop] “DragFullWindows”=“0” “FontSmoothing”=“0” “UserPreferencesMask”=hex:90,12,01,80 Disable Desktop Cleanup Wizard [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] “NoDesktopCleanupWizard”=dword:00000001 Disable Auto Searching Network Printers/Shares [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] “NoNetCrawling”=dword:00000001 Disable Screen Saver [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop] “ScreenSaveActive”=“0” |
可选配置
下列基于用户的注册表设置是可选的,在某些环境下可以采用,而针对每个不同的场景,这些配置需要仔细分析。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | Disable Windows Sounds [HKEY_CURRENT_USER\AppEvents\Schemes] @=“.None” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\AppGPFault\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\CCSelect\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\Close\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\DeviceConnect\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\DeviceDisconnect\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\DeviceFail\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\Maximize\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\MenuCommand\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\MenuPopup\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\Minimize\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\Open\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\RestoreDown\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\RestoreUp\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\ShowBand\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemAsterisk\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExclamation\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemExit\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemHand\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemNotification\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemQuestion\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\SystemStart\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\WindowsLogoff\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current] @=“” [HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Explorer\Navigating\.Current] @=“” Set Screensaver to Blank [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop] “SCRNSAVE.EXE”=“scrnsave.scr” Remove Language Bar (Disable Advanced Text Services) [HKEY_CURRENT_USER\Software\Microsoft\CTF] “Disable Thread Input Manager”=dword:00000001 Remove Shut Down option from Start Menu [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] “NoClose”=dword:00000001 Reduce Cursor Blink Rate [HKEY_CURRENT_USER\Control Panel\Desktop] “CursorBlinkRate”=“795” |
总结:
尽管XD设计成与XP衔接良好,立即可用,也会有许多优化XP用户体验和系统性能的方法。每个好的系统必须有一定程度的优化来以最好的方式利用资源。通过优化基础镜像,我们应做到用户有个好的计算体验而对虚拟桌面的基础架构只有很小的影响。