远程桌面虚拟化主机(RD 虚拟化主机)是一种支持虚拟桌面基础结构(VDI)方案的角色服务,允许多个用户在运行 Windows Server 和 Hyper-V 的服务器上托管的虚拟机中运行基于 Windows 的应用程序。
Windows Server 支持两种类型的虚拟桌面:个人虚拟桌面和共用虚拟桌面。
一般注意事项
储存
存储是最可能的性能瓶颈,必须调整存储的大小,以正确处理虚拟机状态更改生成的 I/O 负载。 如果试点或模拟不可行,则良好的准则是为四个活动虚拟机预配一个磁盘轴。 使用具有良好写入性能(如 RAID 1+0)的磁盘配置。
如果合适,请使用磁盘重复数据删除和缓存来减少磁盘读取负载,并使存储解决方案能够通过缓存大量映像来加快性能。
重复数据删除和 VDI
Windows Server 2012 R2 中引入的数据重复删除功能支持优化开放文件。 若要使用运行在重复数据删除卷上的虚拟机,需要将虚拟机文件存储在与 Hyper-V 主机不同的单独主机上。 如果 Hyper-V 和重复数据删除在同一台计算机上运行,这两个功能将争用系统资源,并对整体性能产生负面影响。
还必须将卷配置为使用“虚拟桌面基础架构 (VDI)”重复数据删除优化类型。 你可以使用服务器管理器(“文件和存储服务”-“卷”->“重复数据删除设置”)或使用以下 Windows PowerShell 命令进行配置:>
Enable-DedupVolume <volume> -UsageType HyperV
注释
打开文件的重复数据删除优化仅支持 VDI 方案,这些方案具有通过 SMB 3.0 使用远程存储的 Hyper-V。
内存
服务器内存使用率由三个主要因素驱动:
操作系统开销
每个虚拟机的 Hyper-V 服务开销
分配给每个虚拟机的内存
对于典型的知识工作者工作负荷,运行 x86 Windows 8 或 Windows 8.1 的虚拟来宾机应提供大约 512 MB 的内存作为基线。 但是,动态内存可能会根据工作负荷将来宾虚拟机的内存增加到约 800 MB。 对于 x64,我们会看到大约 800 MB 开始,增加到 1024 MB。
因此,必须提供足够的服务器内存来满足预期的来宾虚拟机数量所需的内存,以及允许服务器有足够的内存。
中央处理器
为 RD 虚拟化主机服务器规划服务器容量时,每个物理核心的虚拟机数将取决于工作负荷的性质。 从起点开始,每个物理核心计划 12 个虚拟机是合理的,然后运行相应的方案来验证性能和密度。 根据工作负荷的具体情况,可以实现更高的密度。
建议启用超线程处理,但请务必根据物理核心数而不是逻辑处理器数计算过度订阅比率。 这可确保每个 CPU 的预期性能级别。
性能优化
动态内存
动态内存通过均衡内存分配给正在运行的虚拟机,更高效地利用 Hyper-V 运行服务器的内存资源。 可以在虚拟机之间动态重新分配内存,以响应其不断变化的工作负荷。
借助动态内存,可以使用已拥有的资源增加虚拟机密度,而不会牺牲性能或可伸缩性。 结果是更高效地使用昂贵的服务器硬件资源,这可以转化为更简单的管理并降低成本。
在运行 Windows 8 及更高版本的来宾操作系统中,如果虚拟处理器跨越多个逻辑处理器,请权衡是否使用动态内存:使用动态内存有助于最大限度地减少内存使用,而禁用动态内存则可能提高那些对计算机拓扑结构敏感的应用程序的性能。 此类应用程序可以利用拓扑信息做出计划和内存分配决策。
分层存储
RD 虚拟化主机支持虚拟桌面池的分层存储。 集合中所有共用虚拟桌面共享的物理计算机可以使用小型高性能存储解决方案,例如镜像固态硬盘(SSD)。 共用虚拟桌面可以放置在成本较低的传统存储(如 RAID 1+0)上。
物理计算机应安装在 SSD 上,因为来自池化虚拟桌面的大多数读取 I/O 都会进入管理操作系统。 因此,物理计算机使用的存储必须保持每秒更高的读取 I/O。
此部署配置可确保在需要性能的情况下获得经济高效的性能。 SSD 在较小的磁盘上提供更高的性能(每个集合大约 20 GB,具体取决于配置)。 共用虚拟桌面(RAID 1+0)的传统存储为每个虚拟机使用大约 3 GB。
CSV 缓存
Windows Server 2012 及更高版本中的故障转移群集在群集共享卷 (CSV) 上提供缓存。 这对池化虚拟桌面集合非常有益,其中大多数读取 I/O 来自管理操作系统。 CSV 缓存能够显著提升性能,因为它会将多次读取的块缓存起来,并通过系统内存传输,从而减少了 I/O。 有关 CSV 缓存的详细信息,请参阅 如何启用 CSV 缓存。
共用虚拟桌面
默认情况下,在用户注销后,共用虚拟桌面将回滚到原始状态,因此自上次用户登录以来对 Windows作系统所做的任何更改将被放弃。
尽管能够禁用回滚,但这仍然是一个临时状态,因为虚拟桌面模板通常会因为各种更新而重新创建池化虚拟桌面集合。
关闭依赖于持久性状态的 Windows 功能和服务是有道理的。 此外,关闭主要适用于非企业方案的服务是有意义的。
应在任何广泛部署之前适当评估每个特定服务。 以下是需要考虑的一些初始事项:
服务 | 为什么? |
---|---|
自动更新 | 通过重新创建虚拟桌面模板来更新共用虚拟桌面。 |
脱机文件 | 虚拟桌面始终处于联机状态,并且从网络角度进行连接。 |
后台碎片整理 | 用户注销后会丢弃文件系统更改(由于回滚到原始状态或重新创建虚拟桌面模板,这会导致重新创建所有共用虚拟桌面)。 |
休眠或睡眠 | VDI 没有此类概念 |
Bug 检查内存转储 | 共用虚拟桌面没有这样的概念。 Bug 检查池化虚拟桌面将从原始状态开始。 |
WLAN 自动配置 | VDI 没有 WiFi 设备接口 |
Windows Media Player 网络共享服务 | 以消费者为中心的服务 |
家庭组提供程序 | 以消费者为中心的服务 |
互联网连接共享 | 以消费者为中心的服务 |
媒体中心扩展服务 | 以消费者为中心的服务 |
注释
此列表不是完整的列表,因为任何更改都会影响预期目标和方案。 欲了解更多信息,请参阅最新发布,立即获取,Windows 8 VDI 优化脚本,由 PFE 提供!。
注释
默认情况下,Windows 8 中的 SuperFetch 处于启用状态。 SuperFetch 支持 VDI,不应被禁用。 SuperFetch 可以通过内存页共享进一步减少内存消耗,这对 VDI 有利。 对于运行 Windows 7 的共用虚拟桌面,应禁用 SuperFetch,但对于运行 Windows 7 的个人虚拟桌面,应保留启用 SuperFetch。