分配虚拟桌面资源的最佳实践

30 Jan 2025 | 4 分钟阅读

虽然虚拟资源得到了实际世界的支持,并且应该像传统资源一样谨慎分配,但很容易将它们视为由存储信息、内存和中央处理单元组成的一个巨大灵活的整体。

Best Practices for Allocating Resources to Virtual Desktops

为虚拟桌面提供后端资源,可以简单地看作是用计算机服务器能够安全提供的最大资源数量来除以每个计算机系统的内存和 CPU 需求。如果我们当前只提供少量虚拟桌面,这样做是可以的,但如果拥有成百上千个虚拟桌面,这种策略很容易低估实际需求或实际可用资源,从而导致系统过度配置或配置不足。

以下是一些指南,可以帮助您有效地在虚拟桌面设置中分配硬件资源。

识别虚拟机使用的进程

了解不同虚拟机 (VM) 如何聚合资源非常重要,因为并非所有虚拟机都一样。通过了解每台虚拟机是如何工作的,我们可以更容易地决定如何最好地支持用户的虚拟桌面需求。

例如,VMware 提供了一种资源池解决方案,允许用户独立于底层硬件保留资源利用率。此外,它还支持资源池化,从而省去了客户单独设置每台计算机的麻烦。

由于 Microsoft Hyper-V 能够自动分配内存,因此可以使用“突发式”内存分配的桌面——即开始时内存量很少,然后根据需要增加内存,而不是一次性分配全部硬件需求——是可行的。由于动态内存分配是 VMware 的默认行为,因此如果需要,我们应该明确指定任何硬限制。

虚拟机 (VM) 如何管理同一操作系统的多个版本并在它们之间聚合内存使用是另一个需要考虑的方面。例如,关于 Windows 7 中引入的地址空间布局随机化如何使 VMware 的透明页面共享更难有效工作的讨论有很多。再次强调,我们必须关注环境的需求。如果希望在同一配置中添加更多虚拟机,请尝试调整每台桌面的硬件分配。

根据用户负载进行分配

应根据用户工作负载而非我们使用的 VDI 系统来分配虚拟桌面资源。如果我们能够将资源分配与用户行为联系起来,就能够精确地为用户提供他们真正需要的资源。

资源可以按部门或按个人分配。创建跨部门的组织单位,作为具有高使用率和低使用率特征的用户的存储库,将是最佳策略。例如,对于一个只有少数用户使用内存密集型应用程序的部门,我们可以为虚拟桌面选择最低的基线内存,但这仍然可以为那些偶尔峰值使用的计算机提供安全缓冲。

在这种情况下,我们需要研究特定的应用程序工作负载。这种分配方式不适合管理一个试图消耗尽可能多 RAM 的服务器的人。

在 CPU 方面,将虚拟 CPU 与逻辑 CPU 的比例设置为二比一是一个好主意。对于虚拟机中的每对虚拟 CPU,我们可以在服务器上有一个逻辑核心。该比例是基于中等处理负载的。然后应该意识到,有些人会消耗大量的 CPU 功率,我们可能希望将他们分配到不同的资源池,或者考虑为他们分配一个真实系统而不是虚拟桌面。

记住使用网络

另一个容易被忽略的硬件资源是计算机服务器(和用户)可用的互联网速度。

一位专家表示,可以将 VM 到 VM 的通信限制在一个内部虚拟网络中。如果我们的虚拟桌面不仅相互通信,还与托管在虚拟机中的内部业务逻辑 Web 服务器或数据库服务器通信,这将非常有用。在可能的情况下,来自虚拟机 (VM) 到我们客户的流量应通过单独的专用连接进行。

替代方案:虚拟桌面和已发布桌面之间的区别

如果客户能够承受,并且我们发现服务器空间不足,我们应该考虑迁移到已发布桌面模型。这基本上是 Citrix XenApp 的模式,但应用程序在服务器上运行,而不是整个操作系统。我们也不必独自完成这项工作。应用程序分发技术(如 XenApp)可以仅用于最适合它们的客户端会话、服务器或负载。

当大量用户使用同一组程序时,特别是通常不怎么消耗资源的简单业务线程序,这种方法通常效果最好。当大量用户运行需求更高的应用程序时,完整的虚拟机通常是更好的选择。