服务器虚拟化如何工作

作者:Jonathan Strickland  | 
iStockphoto.com/heizfosch

要点概览

  • 服务器虚拟化允许在单个物理服务器上运行多个虚拟服务器,从而优化资源利用并降低成本。
  • 虚拟服务器可以在物理机器之间迁移以进行维护或负载均衡,但前提是这些机器使用相同的处理器制造商。
  • 服务器虚拟化虽然带来诸多好处,但如果单个物理服务器上加载过多虚拟服务器,或服务器应用程序需要高处理能力,则可能导致性能下降。

服务器——在计算机网络上托管文件和应用程序的机器——必须功能强大。有些服务器的中央处理器(CPU)具有多个处理器,使这些服务器能够轻松运行复杂的任务。计算机网络管理员通常将每个服务器专用于特定的应用程序或任务。许多这些任务与其他任务不兼容——每个任务都需要自己专用的机器。每个服务器一个应用程序也使得在出现问题时更容易追踪。从技术角度来看,这是一种简化计算机网络的简单方法。

然而,这种方法存在几个问题。一是它没有充分利用现代服务器的计算能力。大多数服务器只使用了其总处理能力的一小部分。另一个问题是,随着计算机网络变得越来越大、越来越复杂,服务器开始占用大量的物理空间。一个数据中心可能会因为堆满机架服务器而变得拥挤不堪,这些服务器消耗大量电力并产生热量。

广告

服务器虚拟化试图一举解决这两个问题。通过使用专门设计的软件,管理员可以将一台物理服务器转换为多台虚拟机。每台虚拟服务器都像一个独立的物理设备,能够运行自己的操作系统(OS)。理论上,你可以创建足够的虚拟服务器来使用机器的所有处理能力,尽管在实践中这并非总是最佳选择。

虚拟化并非新概念。几十年来,计算机科学家一直在超级计算机上创建虚拟机。但直到几年前,虚拟化才在服务器领域变得可行。在信息技术(IT)领域,服务器虚拟化是一个热门话题。它仍然是一项新兴技术,多家公司提供了不同的方法。­

为什么这么多公司在其计算机网络中使用服务器虚拟化?请在下一节中了解。

­

广告

为何使用服务器虚拟化

公司和组织投资服务器虚拟化有多种原因。其中一些是出于财务动机,而另一些则解决了技术问题。

  • 服务器虚拟化通过整合来节省空间。将每个服务器专用于单个应用程序是常见的做法。如果多个应用程序只使用了少量处理能力,网络管理员可以将多台机器整合到一台运行多个虚拟环境的服务器上。对于拥有数百或数千台服务器的公司来说,对物理空间的需求可以显著减少。
  • 服务器虚拟化为公司提供了无需额外购买硬件即可实现冗余的方式。冗余是指在多台服务器上运行相同的应用程序。这是一种安全措施——如果一台服务器因任何原因出现故障,运行相同应用程序的另一台服务器可以接替其位置。这最大限度地减少了服务中断。在同一台物理服务器上构建两个执行相同应用程序的虚拟服务器是没有意义的。如果物理服务器崩溃,两个虚拟服务器也会失败。在大多数情况下,网络管理员会在不同的物理机器上创建冗余虚拟服务器。
  • 虚拟服务器为程序员提供了隔离、独立的系统,他们可以在其中测试新应用程序或操作系统。网络管理员无需购买专用的物理机器,而可以在现有机器上创建虚拟服务器。由于每个虚拟服务器都独立于所有其他服务器,程序员可以运行软件,而不必担心影响其他应用程序。
  • 服务器硬件最终会过时,从一个系统切换到另一个系统可能很困难。为了继续提供这些过时系统(有时称为遗留系统)所提供的服务,网络管理员可以在现代服务器上创建这些硬件的虚拟版本。从应用程序的角度来看,一切都没有改变。程序表现得仿佛仍在旧硬件上运行。这可以为公司提供时间来过渡到新流程,而不必担心硬件故障,特别是如果生产遗留硬件的公司已不复存在且无法修复损坏的设备。
  • 服务器虚拟化领域的一个新兴趋势称为迁移。迁移是指将服务器环境从一个位置移动到另一个位置。借助合适的硬件和软件,可以将网络中的虚拟服务器从一台物理机器移动到另一台物理机器。最初,这只有在两台物理机器运行相同的硬件、操作系统和处理器时才可能实现。现在,即使两台机器具有不同的处理器,也可以将虚拟服务器从一台物理机器迁移到另一台,但前提是处理器来自同一制造商。

创建虚拟服务器的不同方法有哪些,它们是如何工作的?请在下一节中了解。

广告

广告

三种服务器虚拟化

创建虚拟服务器有三种方式:完全虚拟化半虚拟化操作系统级别虚拟化。它们都具有一些共同的特点。物理服务器称为宿主机。虚拟服务器称为客户机。虚拟服务器的行为类似于物理机器。每个系统都采用不同的方法来为虚拟服务器的需求分配物理服务器资源。

完全虚拟化使用一种特殊的软件,称为hypervisor(虚拟机监控程序)。hypervisor 直接与物理服务器的CPU和磁盘空间交互。它充当虚拟服务器操作系统平台。hypervisor 使每个虚拟服务器完全独立,并且彼此之间互不感知。每个客户机服务器都运行自己的操作系统——你甚至可以有一个客户机运行Linux,另一个运行Windows。

广告

hypervisor 监控物理服务器的资源。当虚拟服务器运行应用程序时,hypervisor 将资源从物理机器中继到相应的虚拟服务器。hypervisor 有自己的处理需求,这意味着物理服务器必须预留一些处理能力和资源来运行hypervisor应用程序。这可能会影响整体服务器性能并减慢应用程序运行速度。

半虚拟化方法略有不同。与完全虚拟化技术不同,半虚拟化系统中的客户机服务器彼此之间是感知的。半虚拟化hypervisor不需要太多的处理能力来管理客户机操作系统,因为每个操作系统都已经知道其他操作系统对物理服务器施加的需求。整个系统作为一个有凝聚力的单元协同工作。

操作系统级别虚拟化方法根本不使用hypervisor。相反,虚拟化功能是宿主机操作系统的一部分,它执行完全虚拟化hypervisor的所有功能。这种方法最大的局限性是所有客户机服务器都必须运行相同的操作系统。每个虚拟服务器都独立于所有其他服务器,但不能在它们之间混搭操作系统。由于所有客户机操作系统必须相同,这被称为同构环境。

哪种方法最好?这很大程度上取决于网络管理员的需求。如果管理员的物理服务器都运行相同的操作系统,那么操作系统级别的方法可能最有效。操作系统级别系统往往比其他方法更快、更高效。另一方面,如果管理员在多个不同操作系统上运行服务器,半虚拟化可能是一个更好的选择。半虚拟化系统的一个潜在缺点是支持——这项技术相对较新,只有少数公司提供半虚拟化软件。虽然更多公司支持完全虚拟化,但对半虚拟化的兴趣正在增长,并可能及时取代完全虚拟化。

服务器虚拟化有哪些局限性?请在下一节中了解。

广告

服务器虚拟化的局限性

服务器虚拟化的好处可能非常诱人,以至于人们很容易忘记这项技术并非没有其局限性。在尝试设计解决方案之前,网络管理员研究服务器虚拟化以及其自身网络的架构和需求非常重要。

对于那些对处理能力要求高的应用程序专用服务器,虚拟化并不是一个好的选择。这是因为虚拟化本质上是将服务器的处理能力分配给各个虚拟服务器。当服务器的处理能力无法满足应用程序需求时,一切都会变慢。本不应花费很长时间才能完成的任务可能会持续数小时。更糟糕的是,如果服务器无法满足处理需求,系统可能会崩溃。网络管理员在将物理服务器划分为多个虚拟机之前,应该仔细检查CPU使用情况。

广告

在同一台物理机器上创建过多虚拟服务器来使服务器CPU过载也是不明智的。物理服务器必须支持的虚拟机越多,每个服务器能获得的处理能力就越少。此外,物理服务器的磁盘空间有限。过多的虚拟服务器可能会影响服务器存储数据的能力。

另一个局限性是迁移。目前,只有当两台物理机器使用同一制造商的处理器时,才可以将虚拟服务器从一台物理机器迁移到另一台。如果网络中使用一台运行英特尔处理器的服务器和另一台使用AMD处理器的服务器,则无法将虚拟服务器从一台物理机器移植到另一台。

管理员为什么会想迁移虚拟服务器呢?如果物理服务器需要维护,将虚拟服务器移植到其他机器可以减少应用程序停机时间。如果无法进行迁移,那么物理机器上托管的虚拟服务器上运行的所有应用程序在维护期间都将不可用。

尽管存在局限性,许多公司仍在投资服务器虚拟化。随着服务器虚拟化技术的进步,对大型数据中心的需求可能会减少。服务器的功耗和热量输出也可能降低,这使得服务器虚拟化不仅在经济上具有吸引力,也是一项绿色环保举措。随着网络更充分地利用服务器的潜力,我们可以看到更大、更高效的计算机网络。毫不夸张地说,虚拟服务器可能引发计算行业的一场彻底革命。我们拭目以待。

要了解更多关于服务器虚拟化和其他主题的信息,请从下一页获取大量链接。

广告

常见问题

服务器虚拟化中使用了哪些类型的hypervisor(虚拟机监控程序)?
服务器虚拟化中主要使用两种类型的hypervisor:类型1(裸机)和类型2(宿主),每种都提供不同级别的资源管理和性能。
服务器虚拟化如何影响网络安全?
如果管理不当,服务器虚拟化可能会通过增加攻击面来使网络安全复杂化,但它也可以通过虚拟服务器之间的隔离提供安全优势。

更多信息

相关十万个为什么文章

更多精彩链接

  • Botelho, Bridget. "AMD pushes VMware et al. to broaden live migration." SearchServerVirtualization. 2007年8月29日。检索于2008年3月18日。http://articles.techrepublic.com.com/5100-10879_11-6074941.html
  • McAllister, Neil. "Server virtualization." InfoWorld. 2007年2月12日。检索于2008年3月12日。http://www.infoworld.com/article/07/02/12/07FEvirtualserv_1.html
  • Ou, George. "Introduction to server virtualization." Tech Republic. 2006年5月22日。检索于2008年3月17日。http://articles.techrepublic.com.com/5100-10879_11-6074941.html
  • Perilli, Alessandro. "Step-by-step virtualization: Addressing all phases of adoption." SearchServerVirtualization. 2006年6月1日。检索于2008年3月18日。http://searchservervirtualization.techtarget.com/tip/0,289483,sid94_ gci1191541,00.html
  • Semilof, Margie. "Server virtualization ROI, licensing costs and downtime." SearchServerVirtualization. 2006年5月25日。检索于2008年3月18日。http://searchservervirtualization.techtarget.com/news/article/0,289142, sid94_gci1190605,00.html
  • Singh, Amit. "An Introduction to Virtualization." Kernelthread.com. 检索于2008年3月18日。http://www.kernelthread.com/publications/virtualization/
  • Stansberry, Matt. "CIO primer: Virtualization basics." SearchServerVirtualization. 2006年1月4日。检索于2008年3月18日。

广告

加载中...