使用1对1虚拟化轻松实现成像

我的公司有许多不同types的硬件,用于服务器和工作站。 另外,我们很lessbuild立新的系统(特别是服务器),使得成像效用有限,因为当我们再次需要图像时,图像必然过时。

我们正考虑在硬件上安装虚拟化工具(几乎可以肯定是VMWare ESXi),但是在每台机器上只安装一个虚拟机 。 这样,我们可以获得硬件抽象的好处,但仍然具有一致的性能。 我们可以通过复制虚拟机(或第一次使用P2V工具)来“映像”任何现有的机器; 在VMWare Server中随时加载映像,以便轻松更新,并且具有快照的优点; 并简单部署到异构硬件。

问题是:我们可以期待什么样的性能打击? 我在网上发现了大量的研究,比较一台计算机上运行的N个虚拟机的N个不同的值的性能,但没有一个将其与裸机进行比较。 我似乎回想起一次,Xen可能会导致IO性能下降20-40%,(如果这是真的,并且如果ESX相似)会非常困难地影响我们的SQL服务器。

有没有人知道ESX上的Windows Server的虚拟化与裸机性能,当只有一个虚拟机,所以它不会争夺资源?

除了performance,任何人都可以想到这种设置的其他缺点?

那么,如果您在未经许可的情况下在ESXi上运行,那么您目前仅限于使用4个内核。 这可能不是一个大问题,但值得注意的是,限制因素,以防与您有关。

目前这一代硬件服务器工作负载的总体性能下降大约在百分之几左右 – 你不可能注意到这一点,但你也许可以测量它。 在我的书中,任何主要组件(CPU,RAM,存储和其他IO)的性能下降20-40%都是不可接受的,我从来没有见过这种情况发生。

您需要分配一定百分比的资源用于pipe理开销,但这可能是几百MB的RAM(取决于Guest OS的大小和types)。

对于那些对大规模虚拟化不感兴趣的less数客户,我已经这样做了 – 一般来说,为了使老式的Windows 2000服务器能够在没有可用的W2K驱动程序的当前硬件上运行,没有任何问题。 我仍然觉得这样比较浪费,但如果你不介意这个部分,那就去做吧。

所以你的问题涵盖了很多根据你迄今收到的答案来判断。 我将包括一些链接,这些链接可以帮助您朝着正确的方向发展,但是要回答您的具体问题 – 运行MSSQL时,性能应该比其他应用程序大得多。 我的组织目前在3个vSphere群集中运行大约15个虚拟主机,大约有250个访客机器。我可以告诉你,一般来说,我们只看到几个百分点,比如物理到虚拟的差异在5或更小 – 特别是在服务器移动旧的硬件。

但是,对于SQL服务器,我们通常会看到10%-20%的差异。 是的,这是在你描述一个SQL服务器物理被转换为一个物理主机的虚拟机客户端运行没有别的场景。 我们已经在内部进行了广泛的testing,其原因有多种,比这个答案更为深入。 只要说你的里程可能会有所不同,但你应该谨慎的移动任何SQL服务器的重负荷没有先testing或愿意将其移回,如果有必要。 另外请注意,快照只有在数据没有快速变化的情况下才有效。 快照SQL服务器只是为了在一个星期后发现它有200GB的快照文件。

你会发现很多消息来源说你可以使用ESX 3.5来获得本地性能,包括VMWare的本文 。 而且你可以使用VMWorld这样的信息来调整系统,使其尽可能接近他们的结果,但是到最后一个SQL Server,你最终可能会从本地获得至less10-15%的信息,相信我我们尝试了。

这对虚拟化来说并不是一个好的例子。 pipe理更重要,更多的是排除故障,更新更多,攻击面更大,备份复杂化,networking复杂化,支持呼叫复杂化,性能降低,所有妥协几乎没有任何好处。 你希望实现的每一件事情都可以在没有虚拟化的情况下更加健全地实现。

您需要仔细考虑您希望通过“硬件抽象的好处”来实现的目标,因为这正是驱动程序的devise目标。 这已经不是2002年了 – 如果你devise得当,Linux和Windows基本上可以将硬盘插入新硬件,只要按下电源button即可。