通过 1:1 虚拟化轻松实现成像

通过 1:1 虚拟化轻松实现成像

我的公司拥有多种不同类型的硬件,既有服务器也有工作站。此外,我们很少构建新系统(尤其是服务器),因此映像的实用性有限,因为当我们再次需要映像时,映像肯定已经过时了。

我们正在考虑在硬件上安装虚拟化工具(几乎肯定是 VMWare ESXi),但是每台机器仅安装一个虚拟机。这样,我们既能获得硬件抽象的好处,又能保持稳定的性能。我们只需复制 VM(或者,首次使用 P2V 工具)即可“映像”任何现有机器;在 VMWare Server 中随时加载映像,以便轻松更新,并享受快照的好处;以及轻松部署到异构硬件。

问题是:我们可以预期什么样的性能损失?我在网上找到了很多研究,比较了一台计算机上运行的 N 个虚拟机在不同 N 值下的性能,但没有一个研究将其与裸机进行比较。我似乎记得曾经听说过 Xen 可能导致 IO 性能下降 20-40%,这(如果这是真的,并且 ESX 类似)将对我们的 SQL 服务器造成很大影响。

当只有一个虚拟机因此不会争夺资源时,是否有人知道 ESX 上的 Windows Server 的虚拟化性能与裸机性能?

除了性能之外,有人能想到这种设置的其他缺点吗?

答案1

好吧,如果您在未获得许可的情况下在 ESXi 上运行,那么您目前只能使用 4 个核心。这可能不是什么大问题,但值得注意这个限制因素,以防它与您有关。

当前一代硬件上服务器工作负载的总体性能下降幅度约为几个百分点 - 您不太可能注意到它,但您可以测量它。在我看来,任何主要组件(CPU、RAM、存储、其他 IO)的性能下降 20-40% 都是不可接受的,我从未见过这种情况发生。

不过,您需要分配一定比例的资源用于管理开销,这可能是几百 MB 的 RAM(取决于客户操作系统的大小和类型)。

我曾为一些对大规模虚拟化不感兴趣的客户做过这件事 - 通常是为了使较旧的 Windows 2000 服务器能够在当前一代硬件上运行,因为 W2K 不再提供驱动程序 - 没有任何问题。我仍然认为这相对浪费,但如果您不介意这一点,那就去做吧。

答案2

因此,从您目前收到的答案来看,您的问题涉及很多方面。我将提供一些链接,帮助您找到正确的方向,但要回答您的具体问题 - 您应该运行 MSSQL 时,性能下降的预期会比其他应用程序大得多。我的组织目前在 3 个 vSphere 集群中运行大约 15 个虚拟机主机,大约有 250 台客户机,我可以告诉你,一般来说,我们只能看到物理与虚拟之间的百分之几,比如说 5% 或更少的差异 - 尤其是服务器从旧硬件转移过来时。

**但是,对于 SQL Server,我们通常会看到 10%-20% 的差异。是的,这是在您描述的场景中,SQL Server 物理服务器正在转换为 vmware 客户机在不运行其他任何程序的物理主机上。出于多种原因,我们已在内部对此进行了广泛的测试,这些测试比此答案所保证的更为深入。可以说,您的里程可能会有所不同,但您应该谨慎移动任何负载繁重的 SQL 服务器,而无需先进行测试或愿意在必要时将其移回。还请注意,快照仅在数据变化不快时才有用。对 SQL 服务器进行快照,一周后才发现它有价值 200GB 的快照文件,这并不好玩。

您会发现许多资料表明您可以获得接近本机的性能,包括这张纸使用 ESX 3.5 从 VMWare 进行测试。您可以使用以下信息调整系统,以尽可能接近他们的结果推介会来自 VMWorld,但最终使用 SQL Server,您很可能会从本机获得至少 10-15% 的数据,相信我,我们尝试过了。

答案3

这确实不是虚拟化的一个好用例。它需要管理更多,需要排除更多故障,需要更新更多,它有更多攻击面,它使备份复杂化,使网络复杂化,使支持呼叫复杂化,它降低了性能,而且所有这些妥协几乎没有任何好处。您希望实现的每一件事都可以在没有虚拟化的情况下更明智地实现。

您需要仔细思考您希望通过“硬件抽象的好处”实现什么,因为这正是驱动程序是专为此而设计的。现在已不再是 2002 年了 —— 如果您设计得当,Linux 和 Windows 基本上可以将其硬盘插入新硬件,只需按下电源按钮即可运行。

相关内容