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

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

我的问题是,你怎么知道这些时间? 我正在寻找可测量的数据和指标,显示将服务器移动到自己的物理盒子将会对性能产生重大影响。 就我个人而言,我对Windows感兴趣,但大概所有平台的要素都是一样的。

我必须执行一个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客户端中,这个盒子在100%的CPU上运行。 一个更好的解决scheme(在我看来)将升级到更快的CPU,但也有这样的边缘情况下,这是不经济的,尤其是随着我们看到的Opteron \ Core CPU的更多核心的趋势。

使用ESX 4,我们可以将这样一个盒子撞到8个vCPU,但是那个时候不是这个选项。

至于寻找可能表明您需要放弃虚拟机的性能上限,然后在VMWare环境中使用Windows Guest虚拟机,则Perfmon和VI Client的组合应该不仅仅是find任何性能受限的虚拟机。 如果可以的话,可以添加一些SAN分析,但是如果SAN出现问题,那么您几乎可以肯定地重新操作存储,以便隔离和/或增强虚拟机虚拟磁盘的存储容量。 同样适用于任何其他操作系统\虚拟机pipe理程序组合 – 获取任何内部统计信息,但将其与虚拟机pipe理程序关于发生的事情相关联,因为在虚拟机内报告100%的CPU并不一定意味着pipe理程序永远无法交付更多的performance,只是它没有在这一点上。

我不同意虚拟服务器因为性能而需要移动到物理上。 虚拟机pipe理程序现在非常接近金属,几乎没有性能问题。 特别是现在很多主板制造商都在芯片组中包含虚拟机pipe理程序。 如果你使用了两台相同硬件的服务器,一台运行一个guest虚拟机,另一个在物理硬件上运行该guest虚拟机的精确拷贝,那么你很难注意到我认为性能的差异。

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

我很想听听其他人有什么要说的。 伟大的问题。

注意:我们有虚拟化的服务器,然后放回到相同的硬件上,以获得我们喜欢的快照/ vmotionfunction。

我不是这方面的专家,但总的来说:非常饥饿的I / O应用程序(特别是那些写得小而快的应用程序)是获得自己的物理服务器的人。

find它们也不是很难,你只需运行性能监视器,并寻找高I / O等待时间。

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

  1. 他们想要caching一切,RAM的使用量是巨大的
  2. 它们通过多个内核的线程执行效果更好(8路是正常的),并且通常不希望为任何服务器分配超过1个虚拟CPU,因为阻塞
  3. 将数据加载到caching时它们非常饿,I / O上的低延迟是关键。

这非常依赖于正在执行的服务。

我通常会查看正在使用的资源,并确定它们是否确实是这个客户以及它提供的服务的瓶颈。

这样就这样:

如果你有一个双核(2vSMP),4GB RAM的客户机运行一个networking服务器(IIS),并且你没有最大化的CPU和RAM请求,那么也许客人不需要更多的硬件。

我们已经遇到了在虚拟化平台上运行Oracle数据库的情况,与同样大小的硬件服务器性能接近的情况。

显然,如果你想把一个16核心的服务器当成虚拟机,你可能会遇到一些麻烦,看到它的性能和专用硬件。

当虚拟机饿死资源(或者也许饿死其他虚拟机资源),例如:

  1. 当虚拟机的IO不能通过主机满足时
  2. 当VM需要比共享中继更多的networking带宽时
  3. 当虚拟机的进程需要更多的CPU时,例如,如果有一个虚拟CPU最大化的进程
  4. 如果它的linux和它需要非常精确的时间(如果它运行在VMware主机上,在VMware漂移时间的linux主机上,这可以通过使用ntp来缓解,但是对于需要非常精确的时间的应用程序,例如kerberos,你可能会考虑真正的硬件)
  5. 当其linux和需要非常可靠的磁盘(如果它运行在VMware主机上 – VMware已经有了,我认为在某些情况下VMWare下仍然存在SCSI问题,修复已经出来,但仍然会出现,

当服务器处于消耗足够的服务器资源而无法共享硬件的时候,我会说它。

ESX,ESXi和Window Hyper V都应该能够提供接近真实的性能。 所以只要其中一台机器本身不占用90%的资源,就不需要转移到真正的硬件上。

例外情况是,如果硬件发生故障,您不希望像2个域控制器那样的东西在同一个盒子上。

我怀疑这是一个通用的答案,但如果你担心性能,那么这就是你必须看的。 显而易见的是要检查你是最大限度地CPU,I / O,…

而且, 性能testing和基准testing还可以帮助您决定是否有任何虚拟惩罚,以及主机上是否有单个虚拟机是否合理。

您首先需要确定哪些资源是瓶颈。

Windows性能监视器( perfmon )为磁盘队列,虚拟内存统计等各个方面提供了大量的计数器。

如果你是磁盘绑定的,让虚拟机直接访问一个磁盘,而不是使用VMWare的vmx文件,这可能会有很大的帮助。

我认为这一切都取决于两个因素:

  • 资源共享:客户消耗的资源如此之多,以至于其他的性能受到影响
  • 安全性:如果这是非常关键的服务,那么您可能不应该使用虚拟化,因为您在软件和硬件之间添加的层数越多,安全性越低。
  • 只是我的2cts。