物理与虚拟交错:到底你选择站那头?(上)

虚拟化不是一项新技术–大型机部署虚拟化已经有很多年历史了,其他非X86操作系统进驻服务器也有很长一段时间了。如果在本世纪第一个十年中虚拟化还只是单一IT的标签,那么现在这个十年则是X86虚拟化的时代。

大型机虚拟化的历史已经成为过去。虚拟化技术从一项几乎为大型企业级服务器专用的技术逐渐演变为普及性技术,甚至中小型企业用户也可以采用虚拟化技术来完成桌面系统基础架构的虚拟配置。

首先从虚拟桌面系统就基础架构或者虚拟化技术的任何其他方面开始探讨。如果你对计算机的知识非常熟悉,那么解释虚拟化的基本原理就会简单的多。虚拟化是一种可以在单个物理计算机(主机)上运行多种集装箱式操作系统(客户端)的方法。你将操作系统安装在虚拟硬盘上(简称VHD),就像一个.iso文件那样。它包含了一个大型文件中虚拟机的文件系统。

你可以将主机的部分资源分配给客户端,允许客户端占用固定份额的随机存储器,共享一定数量的核心和访问其他资源(比如光盘或者网络卡)。你可以像驾驭Daemon Tool中的.iso文件那样,轻松关闭或者开启虚拟客户端。

尽管将虚拟化技术的基本原理解释给已经安装了Daemon Tool的计算机专业人员并非难事,但是要让苛刻的老板理解虚拟化就完全是另外一种挑战。笔者试验了许多不同的解释方法,迄今为止效果最好的就是行船类推法。

首先刻画一个由单个螺旋推进器驱动的大型远洋轮船。一个大型的螺旋推进器可以为远洋轮船提供巨大的动力,但是要驾驶轮船的唯一方法就是掌握方向舵。这在保持直线航行时绝对是个好办法,但对于其他情况确实非常繁琐和笨拙的。

现在再来考虑一下更加现代的船舶,这种船舶用发动机来发电,可以驱动数百个小型螺旋推进器。让这些体积更小而数量更多的螺旋推进器旋转360度来产生单独的直接推动力。在向电力驱动和整船用电的过程中可能会损失一些效率,但你的船舶操控起来会更加容易。

作为行船类推法的延伸,虚拟化就是将单个物理计算机(主机)的资源划分成不同的部分来支持多个规模更小的虚拟计算机(客户端)。如果直接安装在主机系统上,单个的客户端系统都无法快速运行,但是你可以用虚拟化运行比物理计算机更多的客户机(很多任务可以同步进行)。服务器在直线上可能运行的没那么快,但是可用的资源却灵活的多。

从这里来看情况变得更加复杂;笔者可以写出一整套论文来专门论述更加先进的概念(事实上笔者就要这么做了)。比如像随机存储器复制,可变的和固定的虚拟硬盘,硬件辅助虚拟化,IOMMU以及更多–这些都是虚拟化管理员必须了解的知识,但是就目前而言只需要知道基本理论即可。

对于虚拟桌面系统基础架构来说,用户对他们的桌面系统要做的实际工作就是不要在前端计算机上运行。他们应该使用远程访问应用软件(比如RDP或者X11)来连接任何地方服务器上的虚拟操作系统。他们访问的计算机应该不会有什么问题。可以是几千公里外的游戏机终端,便宜的瘦客户机,甚至是移动电话。

物理桌面系统与虚拟桌面系统之间的差别在某些情况下非常显著,而在另外一些情况下可以又是无关紧要到难以察觉。笔者目前最新的IT项目集中在网络的节能上,主要致力于减轻我们设备所需的制冷负担。笔者尝试用节电装置和Lights Out Management配置网络的过程中,遭遇到虚拟桌面系统基础架构配置与物理桌面系统之间更加令人挫败的差异性。

需要强调的是还有其他的远程可行性解决方案。终端服务,思杰和类似的产品都遇到了和虚拟桌面系统基础架构同样的问题。笔者使用虚拟桌面系统基础架构作为本文中的谈论重点是因为笔者在自己的应用环境中实际进行了配置(笔者在众多其他具有竞争性的产品中选择虚拟桌面系统基础架构的原因会在将来的文章中加以论述)。

或许虚拟化,服务器或者桌面系统最大的挫败是当操作系统发生故障时,用户无法重启计算机来进行备份和运行。笔者确实用户重启服务器的非常概念将会招致某些用户洪水般的愤慨,但是笔者非常痛恨在清晨4点被迫醒来去修复系统。

对于虚拟化来说,启动,重启或者控制虚拟机的唯一方式就是通过管理软件(无论主机系统喜欢运行什么类型的虚拟机)。用户可以访问这些系统,假使你要这么做,培训他们如何正确使用也不是简单任务。

更多请见《物理与虚拟交 错:到底你选择站那头?(下)