据我了解,虚拟机和来宾操作系统使用户界面和硬件的纯功能之间的抽象层(与计算相关)的数量增加了一倍。一些上述抽象层是(模拟)硬件、驱动程序、IO 接口等。
Xen 等一流的虚拟化解决方案可能会消除其中的一些复杂性,但我仍然想知道如何在这些环境中实现效率;以及可管理的云服务器是否真的物有所值。
虚拟化有很多优点。效率取决于您如何定义它。
您可以使用虚拟化来代替服务器机房中的多台机器:
而这样的例子不胜枚举。当然,虚拟化确实有它的警告,但从个人经验来看,利大于弊。在企业环境中,您肯定会希望采用尽可能少抽象的虚拟化平台,以使您的软件更接近于金属运行。虚拟化(就目前的观点而言)是未来的发展方向。
您的问题的答案非常简单:虚拟化效率不高(还没有)。虚拟机工作得足够好(特别是在类似的硬件上)并且是一种解决方案,但它们永远无法达到与真实物理机相同的性能。在我的公司,我们多次需要向客户解释何时需要将虚拟机迁移到物理机。
当多个虚拟操作系统都不知道它是虚拟的时,您如何期望它们能够有效地协同工作?当驱动程序甚至看不到其他虚拟机中的匹配队列时,您如何期望任何驱动程序对队列和优先级做出明智的决策。天啊,他们甚至看不到实际的物理硬件,所有的决定都基于虚拟的幻象。
例如,每个无辜的虚拟机每秒都会至少中断 CPU 1000 次,以提前其时钟。将n虚拟机放在一个物理机上,一秒钟就会出现(n + 1) * 1000中断!更不用说中断是迄今为止 CPU 最慢的操作。
我相信,将来我们会看到新的操作系统能够以访客身份与主机一起高效工作。现在的趋势已经是发明具有小型驱动程序的虚拟硬件设备,将所有决策留给真实的物理机器。但我们还没有做到这一点。
John T 解释了虚拟化的所有优点和便利。我只想继续说,使用它们只是因为方便和经济。它们很容易移动,而且在一家 IT 中心散布着大量很少使用的服务器的公司中,很容易将其中的几台服务器塞进一台物理机器中,然后忘记所有这些服务器。更不用说减少物理盒子的数量确实可以简化维护工作。
虚拟化之所以高效,主要是因为在大多数服务器环境中,您的许多硬件都处于闲置状态。虚拟化允许您在每台物理主机上拥有多个虚拟来宾以利用这种空闲电源。这在功率、性能、成本和人员配备方面对效率有很多好处:
我知道很多这听起来可能只对拥有大量服务器的商店有用,但作为一个较小的例子,我在去年年初工作时我们有 14 台物理服务器,到明年年底我希望让我们减少到 5 个。这包括 3 个并不总是虚拟化的实例:网关设备、SQL 服务器和域控制器。这意味着我将整合 11 台我过去必须管理的服务器,减少到只有 2 台(着眼于增加三分之一以提供更多空间和冗余)。
几乎任何需要至少 3 台服务器(以及在域控制器/身份验证/基本网络服务、文件、打印、电子邮件、数据库和应用程序之间,几乎任何规模的企业都需要)的任何人都应该从合并到 2 台服务器中受益— 尽管出于冗余原因,我总是至少保留 2 个 — 如果其中一个宕机,剩余的服务器可以一瘸一拐地承载全部负载,尽管速度很慢,直到您可以将另一个服务器重新联机。
更新:
我将我的要点之一加粗,因为我认为 OP 遗漏了这一点,并解释了虚拟机如何提高性能。
| 归档时间: |
|
| 查看次数: |
2128 次 |
| 最近记录: |