虚拟化如何高效?

pes*_*taa 6 virtualization

据我了解,虚拟机和来宾操作系统使用户界面和硬件的纯功能之间的抽象层(与计算相关)的数量增加了一倍。一些上述抽象层是(模拟)硬件、驱动程序、IO 接口等。

Xen 等一流的虚拟化解决方案可能会消除其中的一些复杂性,但我仍然想知道如何在这些环境中实现效率;以及可管理的云服务器是否真的物有所值。

Joh*_*n T 5

虚拟化有很多优点。效率取决于您如何定义它。

您可以使用虚拟化来代替服务器机房中的多台机器:

  • 节省空间
  • 省电
  • 更有效地使用您的硬件
  • 降低硬件成本
  • 整合管理
  • 简化备份(取决于您的设置)
  • 减少停机时间(再次,取决于您的设置——高可用性功能等)
  • 简化软件升级和快照功能可能出现的问题
  • 通过虚拟模板显着减少项目时间

而这样的例子不胜枚举。当然,虚拟化确实有它的警告,但从个人经验来看,利大于弊。在企业环境中,您肯定会希望采用尽可能少抽象的虚拟化平台,以使您的软件更接近于金属运行。虚拟化(就目前的观点而言)是未来的发展方向。


har*_*ymc 5

您的问题的答案非常简单:虚拟化效率不高(还没有)。虚拟机工作得足够好(特别是在类似的硬件上)并且是一种解决方案,但它们永远无法达到与真实物理机相同的性能。在我的公司,我们多次需要向客户解释何时需要将虚拟机迁移到物理机。

当多个虚拟操作系统都不知道它是虚拟的时,您如何期望它们能够有效地协同工作?当驱动程序甚至看不到其他虚拟机中的匹配队列时,您如何期望任何驱动程序对队列和优先级做出明智的决策。天啊,他们甚至看不到实际的物理硬件,所有的决定都基于虚拟的幻象。

例如,每个无辜的虚拟机每秒都会至少中断 CPU 1000 次,以提前其时钟。将n虚拟机放在一个物理机上,一秒钟就会出现(n + 1) * 1000中断!更不用说中断是迄今为止 CPU 最慢的操作。

我相信,将来我们会看到新的操作系统能够以访客身份与主机一起高效工作。现在的趋势已经是发明具有小型驱动程序的虚拟硬件设备,将所有决策留给真实的物理机器。但我们还没有做到这一点。

John T 解释了虚拟化的所有优点和便利。我只想继续说,使用它们只是因为方便和经济。它们很容易移动,而且在一家 IT 中心散布着大量很少使用的服务器的公司中,很容易将其中的几台服务器塞进一台物理机器中,然后忘记所有这些服务器。更不用说减少物理盒子的数量确实可以简化维护工作。


Joe*_*orn 5

虚拟化之所以高效,主要是因为在大多数服务器环境中,您的许多硬件都处于闲置状态。虚拟化允许您在每台物理主机上拥有多个虚拟来宾以利用这种空闲电源。这在功率、性能、成本和人员配备方面对效率有很多好处:

  • 将多台服务器整合到一台机器上,消除了为每台额外机器上的核心硬件供电的能源浪费。现在可以保持旋转的风扇和磁盘之类的东西更少了。
  • 您的购买策略现在可以考虑到这一点,因为您正在寻找更少、更大、更强大的通用服务器,而不是更小的、一次性使用的服务器。这使您可以进一步整合服务器,从前一点进一步节省成本。随着时间的推移,它还将有助于推动这些曾经被认为是高端的服务器的规模经济,使每个人都能负担得起,并节省制造和运输费用等费用。
  • 硬件和操作系统制造商现在在他们的设计中考虑了虚拟化(主要通过对VT-x 的实现和支持),允许您在机器之间共享资源。例如,如果您有 3 个与虚拟来宾完全相同的操作系统实例加载到同一物理主机上的 RAM 中,则每个操作系统中保持不变的某些部分可能能够在所有三个实例之间共享,从而使您获得使用相同的硬件进行更多工作并进一步整合。
  • 虚拟机更易于管理和维护,因为您拥有标准的虚拟硬件环境。需要淘汰旧服务器并迁移到新服务器吗?没什么大不了的 - 只需复制您的虚拟硬盘驱动器,更改一些设置以指向新位置,您就可以开始了。操作系统本身不知道它们已被移动,因此将一半的工作从流程中移除。这种好处有可能在 IT 人员配备方面创造巨大的效率。
  • 所有这些整合进一步减少了对 IT 人员的需求,因为现在需要管理的物理服务器要少得多。

我知道很多这听起来可能只对拥有大量服务器的商店有用,但作为一个较小的例子,我在去年年初工作时我们有 14 台物理服务器,到明年年底我希望让我们减少到 5 个。这包括 3 个并不总是虚拟化的实例:网关设备、SQL 服务器和域控制器。这意味着我将整合 11 台我过去必须管理的服务器,减少到只有 2 台(着眼于增加三分之一以提供更多空间和冗余)。

几乎任何需要至少 3 台服务器(以及在域控制器/身份验证/基本网络服务、文件、打印、电子邮件、数据库和应用程序之间,几乎任何规模的企业都需要)的任何人都应该从合并到 2 台服务器中受益— 尽管出于冗余原因,我总是至少保留 2 个 — 如果其中一个宕机,剩余的服务器可以一瘸一拐地承载全部负载,尽管速度很慢,直到您可以将另一个服务器重新联机。

更新:
我将我的要点之一加粗,因为我认为 OP 遗漏了这一点,并解释了虚拟机如何提高性能。