何时将虚拟化服务器移至物理服务器?

何时将虚拟化服务器移至物理服务器?

虚拟化有很多好处,但有时虚拟化服务器需要更高的性能,就应该转移到物理服务器。

我的问题是,您如何判断这些时间?我正在寻找可测量的数据和指标,以表明将服务器移至其自己的物理机箱会对性能产生重大影响。我个人对 Windows 感兴趣,但大概所有平台上的基本原理都是相同的。

答案1

我必须执行 V2P 的一个案例是针对一个 MS SQL 机器,它运行在双 3.2Ghz 双核 CPU(总 CPU 14.4Ghz)上,我们将其迁移到 ESX 2.5 集群,其中底层硬件较新,内核较慢(2.4Ghz IIRC)。即使使用 4 个 vCPU,加上约 10% 的开销,这个虚拟机也只能获得 8-8.5Ghz 的有效总 CPU。迁移前 60% 的峰值 CPU 在迁移后变为 90-100%,客户想要余量,所以我们恢复到物理。为了具体回答您的问题,我们在 Perfmon 和 VI 客户端中看到该机器的 CPU 全面运行在 100% 的水平。一个更好的解决方案(在我看来)是升级到更快的 CPU,但存在像这样的边缘情况,这样做并不经济,尤其是在推出 Opterons\Core CPU 时,我们看到了 CPU 速度更慢但内核更多的趋势。

使用 ESX 4,我们可以将这样的盒子增加到 8 个 vCPU,但这在当时是不可能的。

至于寻找性能上限,这可能表明您需要放弃 VM,那么在 VMWare 环境中使用 Windows Guest,Perfmon 和 VI Client 的组合应该足以找到任何性能本身受限的 VM。如果可以的话,还可以获取一些 SAN 分析,但如果 SAN 显示问题,那么您几乎肯定会重新处理存储以隔离和/或增强存储 VM 虚拟磁盘的卷。这同样适用于任何其他 OS\Hypervisor 组合 - 获取任何内部统计数据,但将它们与 Hypervisor 对正在发生的事情的看法相关联,因为在 VM 中报告 100% CPU(例如)并不一定意味着 Hypervisor 永远无法提供更高的性能,只是当时没有提供。

答案2

我不同意虚拟服务器需要因为性能问题而转移到物理服务器。虚拟机管理程序现在非常接近硬件,因此几乎没有(双关语)性能损失。特别是现在许多主板制造商都在芯片组上包含虚拟机管理程序。如果你使用两台具有相同硬件的服务器,一台运行单个客户机,另一台在物理硬件上运行该客户机的精确副本,我认为你很难注意到性能差异。

不过,还有其他原因,您可能需要物理服务器而不是虚拟服务器。其中之一是硬件兼容性。如果您的应用程序需要具有自己独特总线的非标准硬件,您可能无法在虚拟机中运行它。

我很想听听其他人的看法。这个问题问得好。

注意:我们的服务器已经虚拟化,然后重新安装在同一硬件上,以获得我们喜欢的快照/vmotion 功能。

答案3

我不是这个领域的专家,但一般来说:非常耗 I/O 的应用程序(尤其是那些写入量少且速度快的应用程序)会拥有自己的物理服务器。

找到它们也不难,只需运行性能监视器并查找较高的 I/O 等待时间。

此外,高端数据库通常会有自己的专用服务器,原因如下:

  1. 他们希望缓存所有可以缓存的内容,因此 RAM 占用量巨大
  2. 它们在多核线程(8 路是正常的)下性能更好,并且你通常不希望为任何服务器分配超过 1 个虚拟 CPU,因为这样会导致阻塞
  3. 他们是非常将数据加载到缓存时,I/O 需求巨大,低 I/O 延迟是关键。

答案4

当虚拟机缺乏资源(或者可能使其他虚拟机缺乏资源)时,例如:

  1. 当虚拟机的 IO 无法通过主机满足时
  2. 当虚拟机需要的网络带宽超过共享主干所能承受的范围时
  3. 当虚拟机的进程需要的 CPU 超过其能力范围时,例如,如果某个进程占用了虚拟 CPU 的最大容量
  4. 如果是 Linux,需要非常精确的时间(如果是运行在 VMware 主机 Linux 主机上的 VMware 漂移时间主机。这可以通过使用 ntp 来缓解,但是对于需要非常精确时间的应用程序,例如 kerberos,您可能需要考虑使用真实硬件)
  5. 当它是 Linux 并且需要非常可靠的磁盘时(如果它在 VMware 主机上运行 - VMware 曾经出现过并且我相信在某些情况下 VMWare 下仍然存在 SCSI 问题。已经发布了修复程序但仍然会发生,尽管发生的频率要低得多)

相关内容