创立于 2008 年 · 数字版 · 2026年6月15日

SMB IT Journal

面向小型企业的信息技术资源

中文
VDI

决策要点:VDI 与终端服务

在远程图形化桌面界面方面,有两个基本概念在争夺主导地位(如果技术也在乎主导地位的话):VDI(虚拟桌面基础架构)和终端服务。两者的理念都很简单,即把资源和处理放在服务器上,让最终用户通过网络远程访问图形界面。VDI 与 TS 之间根本上的区别在于:这台远程服务器是一对多的体验,即众多用户从单一操作系统映像中获取各自的桌面(TS);还是每位用户获得完全属于自己的专用服务器(想必是经过虚拟化的,称为 VDI),其中各个操作系统的资源并不共享。

有一定程度上的假设认为(部分源于命名惯例),VDI 意味着采用桌面操作系统而非服务器操作系统,但不应将其视为一种必然含义。事实上,在 Windows 世界之外,桌面操作系统与服务器操作系统之间确实并无区别,因此在技术层面做出这样的区分并无意义。然而,重要的是要记住,微软是通过不同操作系统许可选项的使用来界定 VDI 许可的,而且大多数 VDI 都是针对 Windows 操作系统的。所以,尽管 VDI 并不意味着这一点,但从实际意义上讲,通常需要牢记:在技术层面并无区别,而在微软许可层面则存在重大区别。

在两者当中,VDI 是较新的概念。终端服务已经存在了数十年,广为人知,在今天绝谈不上令人兴奋或炫目。终端服务早于 Windows 出现,几乎是每一个操作系统家族所共有的,在 UNIX 世界中更是极为普遍,以至于人们常常在不经意间就使用了它。终端服务是计算机“远古时代”以来一直使用的老式“绿屏”终端在图形用户界面上的延续。在过去,这些终端通常是串行连接的 VT100 终端,而如今我们使用的是 TCP/IP 网络以及能够承载图形的协议,但其概念始终未变:众多用户共用单一服务器。

借助 VDI,我们实现了同样的目标,但做法是让每位用户拥有完全属于自己的全部资源。他们的操作系统完全为其私有,不与任何人共享。这意味着每一位用户都要承担内存管理、CPU 管理、进程表、库的副本等等所有这些开销。这是相当大的开销。试想一个空闲的图形化桌面,仅仅为了启动并等待用户接入就需要耗费的全部资源——这可不是个小数目。较新的 Windows 操作系统一直在变得更加精简和高效,这大概是为了使其在 VDI 基础架构上更具可行性,但其开销仍然是一个不容忽视的因素。在虚拟化将 VDI 变为现实之前,VDI 实际上是不可能实现的,因此从任何实际意义上讲,它都是一种对技术的全新运用,并且常常遭到误解。

我们现在所面临的,是在决定远程计算基础架构时,要在这两种架构理念之间做出选择。当然,应当指出的是,这两者完全可以非常轻松地共存,而且这样做往往是恰当的。事实上,在规模较小的机构中,这两者非常容易在同一物理平台上共存。这里有许多因素需要我们加以考量,而这一决策过程实际上可能相当复杂。

我们必须考量的最重要因素之一是软件兼容性。这是促使人们转向 VDI 而非终端服务的最大推动力。在 Windows 世界中,应用程序提出诸如此类的要求并不罕见:需要桌面操作系统的标识(拒绝在服务器操作系统变体上运行)、需要单用户环境、需要用户拥有管理员级别的权限、需要以特定账户运行,或者提出常常会与其他软件包相冲突的库依赖要求。由于这些问题,许多公司转向 VDI,以模拟各自独立桌面的工作方式——在那种方式下,由于每位用户都在一个离散的环境中运行,这些问题很容易被忽略掉。VDI 将这同样的功能带到了远程访问的世界,使得那些棘手的“问题应用”能够按需得到妥善照应。操作系统的隔离增添了一层保护。

这一推动因素在 Windows 世界之外基本上并不存在,这也正是 VDI 从未在任何其他环境中站稳脚跟的主要原因。以 Linux 或 FreeBSD 为例,尽管 VDI 很容易实现,但在那些情况下它几乎没有什么用途或价值。

VDI 的一个主要顾虑在于,管理众多冗余的操作系统所必需的极大开销,每个操作系统都有其各自重复的进程、存储和内存。在早期,这使得 VDI 效率低得令人难以置信。然而,最近,先进的 VDI 系统(主要围绕虚拟化平台和存储构建)已经通过对内存和存储进行去重、使用公共的主引导文件以及其他技术,解决了这些问题中的许多。事实上,与大多数人的设想相反,甚至可能出现这样的情况:对于 Windows 而言,VDI 的性能可能超过传统的终端服务,因为虚拟机监控程序平台在处理内存管理和任务切换方面能够做到比 Windows 本身更为高效(这一现象最早是在二十一世纪初被观察到的,当时在某些情况下,当 Windows 在 Linux 之上虚拟化运行时反而运行得更快,因为内存管理可以部分交由底层效率更高的 Linux 系统来处理。)这绝非总是如此,但 VDI 处理能力的改进已经取得了如此长足的进展,以至于两者往往相当接近。不过,再次强调,这是一个使 VDI 在 Windows 世界中更具吸引力的因素,而在非 Windows 世界中则没有那么显著——在那里,原生操作系统的任务管理通常更为高效,VDI 仍将是不必要的开销。

VDI 一贯表现出比终端服务更胜一筹的另一个领域,是诸如 CAD 和视频编辑这类图形渲染丰富的环境。那些至今仍严重依赖专用硬件的相同领域,往往会转向 VDI 而非终端服务,因为 VDI 解决方案中对 GPU 能力进行了大量投入。这并非一种普遍适用的场景,但对于需要进行大量图形渲染的情形,值得去探究一下 VDI 性能将会显著更优的可能性。

由于 VDI 的管理方式,它往往仅保留给规模极大的部署使用,在那里可以利用其规模(即纳入解决方案的最终用户数量)来抵消一部分实施成本。然而,终端服务由于其成本更具可扩展性,往往能够以更具成本效益的方式部署到规模较小的环境或用户子集中。对于仅有寥寥数位用户的极小型环境而言,两者都不常见,不过有一种奇特的现象是,手动管理的 VDI 会使得对于数量异常之少(也许不足十位)的用户而言,VDI 很可能比终端服务更为有效——在这种情况下,VDI 更多地被当作一台台独立的服务器来对待,而非作为一个统一的 VDI 环境。

除极其罕见的例外情况(主要是由于 Windows 桌面生态系统在虚拟化环境中所造成的许可开销)外,对于远程访问的最终用户系统而言,一个事实上的出发点是:先假定从终端服务器技术起步,只有当终端服务被证明无法满足该场景的技术需求时,才转而采用更为复杂、成本更高的 VDI 解决方案。无论从哪个角度来看,VDI 都是一种退而求其次的蛮力方法,用于在那些首选方法已力有不逮之处,让最终用户虚拟化得以实现。

标签terminal services virtual desktop infrastructure

广告

SMB IT Journal — the IT resource for small business