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


12

虚拟化有很多好处,但是有时虚拟化服务器需要更高的性能,应该将其移至物理服务器。

我的问题是,您怎么知道这些时间是什么时候?我正在寻找可衡量的数据和指标,这些数据和指标表明将服务器移至其自己的物理机箱将对性能产生重大影响。我个人对Windows感兴趣,但是大概所有平台上的基本要素都是相同的。

Answers:


3

我必须执行V2P的一种情况是,对于一个在双3.2Ghz双核CPU(总CPU 14.4Ghz)上运行的MS SQL盒,我们将其迁移到ESX 2.5群集,在该群集中底层硬件较新较慢的(2.4Ghz IIRC)内核。即使使用4个vCPU,此虚拟机也只能增加约10%的开销,因此只能获得有效的8-8.5Ghz聚合CPU。迁移前60%的峰值CPU迁移后变为90-100%,客户想要保留空间,因此我们恢复为物理状态。具体来说,为回答您的问题,我们看到该盒子在Perfmon和VI客户端中以100%的CPU运行。一个更好的解决方案(在我看来)应该是升级到更快的CPU,但是在这种情况下,有些情况是不经济的,特别是随着cpu速度变慢的趋势。

使用ESX 4,我们可以将这样的盒子最多容纳8个vCPU,但这在当时是不可行的。

至于寻找可能表明您需要放弃VM的性能上限,然后在VMWare环境中使用Windows Guest,则Perfmon和VI Client的结合应该不仅仅在于查找任何性能受限的VM。 。如果可以的话,还可以进行一些SAN分析,但是如果SAN出现问题,那么几乎可以肯定,只要重新整理存储以隔离和/或增强VM虚拟磁盘所存储的卷,就可以了。同样适用于任何其他OS \ Hypervisor组合-获得任何内部统计信息,但可以将它们与Hypervisor对正在发生的事情的看法相关联,因为在VM中报告100%CPU(例如)并不一定意味着Hypervisor永远无法交付更多性能,


4

我不同意,由于性能原因,虚拟服务器将需要移至物理服务器。现在,虚拟机管理程序离金属很近,以至于几乎没有(双关语意)性能受到影响。尤其是现在,许多主板制造商都在芯片组中包含了管理程序。如果您购买了两台具有相同硬件的服务器,其中一台运行一个来宾,而一台运行该宾客在物理硬件上的精确副本,那么您将很难发现我认为性能有所不同。

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

我很想听听别人怎么说。好问题。

注意:我们已经对服务器进行了虚拟化,然后将它们放回同一硬件上,只是为了拥有我们喜欢的快照/ vmotion功能。


3

我不是这方面的专家,但总的来说:非常饥饿的I / O应用程序(尤其是那些写得很少而又很快的应用程序)是拥有自己的物理服务器的应用程序。

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

此外,由于以下几个原因,高端数据库通常具有自己的专用服务器:

  1. 他们想缓存所有可能的东西,RAM使用量巨大
  2. 它们在跨多个内核的线程中表现更好(8向是正常的),并且由于阻塞,您通常不希望为任何服务器分配超过1个虚拟cpu
  3. 当将数据加载到缓存时,它们非常耗费 I / O,低I / O延迟是关键。

1
我不同意“通常”的评论。在VMWare站点上到处都有关于在VMWare上设置数据库服务器的文章,我相信这不会引起任何问题。但是,对于考虑迁移到虚拟化服务器时需要评估的内容,您有很重要的看法。
SpaceManSpiff

1
由于快照/ vmotion / etc带来的好处,我们很快将对四个数据库服务器进行虚拟化。我同意LEAT的观点,即数据库服务器已经并将在未来进行虚拟化。
丹尼尔·卢卡斯

我想你误会了我。我不是说数据库服务器不应该虚拟化(我所有的数据库都是)。我说过,高端服务器通常会停留在单独的物理服务器上,因为这样做会带来一些限制(例如只有四个虚拟CPU可用)。
pauska,2009年

但是,饥饿的I / O应用程序很可能会遇到SAN,这意味着您将恢复到光纤通道或infiniband速度,而不是虚拟机下的原始磁盘-我还没有看到(个人)需要一个应用程序是在物理硬件上,在时序关键系统之外,还是在供应商正式不支持的硬件上
沃伦(Warren)2009年

我感到人们在争吵是为了争吵。我并没有说,它需要一个物理主机。我说过,资源极其匮乏的应用程序/使用通常会获得自己的专用服务器,以不阻塞其他VM。
pauska,2009年

1

这在很大程度上取决于它正在执行的服务。

我通常查看正在使用的资源,并确定这些资源是否确实是该访客及其提供的服务的瓶颈。

这样的方式:

如果您有运行Web服务器(IIS)的双核(2vSMP),4GB RAM来宾,并且没有使CPU和RAM请求达到最大,则该来宾可能不需要更多硬件。

我们曾遇到过这样的情况:在虚拟化平台上运行Oracle数据库的性能几乎与大小相同的硬件服务器相同。

显然,如果您希望将16核服务器作为虚拟机,则可能很难看到它的性能以及专用硬件。


1

当VM缺乏资源(或可能其他VM缺乏资源)时,例如:

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

0

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

ESX,ESXi和Window Hyper V应该都能为您带来接近真实的性能。因此,只要其中一台机器没有自行使用90%的资源,您就无需转移到实际硬件上。

例外情况是,如果硬件出现故障,您将不希望将2个域控制器之类的东西放在同一个盒子上。


2
我也不同意这里。考虑到许可成本等因素,在单个主机上运行单个VM的成本很高。在灾难恢复和硬件故障转移方面,它具有明显的优势。我认为即使在这种情况下,也值得进行虚拟化。
凯文·库帕尔

1
你说得很对。现在,随着EXSi的免费使用,您可以虚拟化一台服务器(例如您的Exchange服务器),并将其单独安装在一台计算机上。当需要升级硬件时,只需将VM复制到新计算机上即可。
SpaceManSpiff

0

我怀疑对此是否有一个通用的答案,但是如果您担心性能,那是您必须要考虑的问题。显而易见的是要检查是否正在最大化CPU,I / O,...

但是,性能测试和基准测试也将帮助您确定虚拟化是否有任何损失,以及在主机上拥有单个VM是否明智。


0

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

Windows性能监视器(perfmon)为磁盘队列,虚拟内存状态等各个方面提供了很多计数器。

如果您受磁盘限制,那么让虚拟机直接访问磁盘而不是使用VMWare来访问诸如vmx文件之类的东西可能会很有帮助。


0

我认为这完全取决于两个因素:

  • 资源共享:来宾是否消耗了太多资源,从而影响了另一方的性能
  • 安全性:如果这是一项非常关键的服务,则可能不应该使用虚拟化,因为在软件和硬件之间添加的层越多,安全性就越低。

    仅2克拉。

  • By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.