在新硬件上部署单个服务器时,您是否对其进行了虚拟化?

The*_*ner 32 virtualization hyper-v vmware-esxi windows-server-2012

我在 ServerFault 上发现了一些暗示这个主题的问题,虽然它可能有点基于意见,但我认为它可以根据以下内容归入“良好的主观”类别:

建设性主观题:

* tend to have long, not short, answers
* have a constructive, fair, and impartial tone
* invite sharing experiences over opinions
* insist that opinion be backed up with facts and references
* are more than just mindless social fun
Run Code Online (Sandbox Code Playgroud)

就这样吧。


我正在帮助一位正在更换运行 Windows 2003 的旧物理服务器的系统管理员同事,他希望不仅更换硬件,而且在此过程中“升级”到 2012 R2。

在我们关于他的替换硬件的讨论中,我们讨论了他安装 ESXi,然后将 2012 年“服务器”设为虚拟机并将旧应用程序/文件/角色从 2003 年服务器迁移到虚拟机而不是非虚拟机安装的可能性在新硬件上。

他认为在接下来的几年里,任何时候都不需要将其他任何东西移动到虚拟机或创建额外的虚拟机,因此最终这将是运行正常安装的新硬件或在 ESXi 上运行单个虚拟机的新硬件。

我自己的经验仍然倾向于虚拟机,除了可能会出现创建额外虚拟机的可能性之外,没有真正令人信服的理由这样做。但是现在虚拟机管理程序有额外的开销和管理方面,尽管我使用 VM 体验了更好的管理功能和报告功能。

因此,在希望这可以留在“良好的主观”类别以在未来帮助他人的前提下,您需要哪些经验/事实/参考/建设性答案来帮助支持任一结果(虚拟化或不是单个“服务器”) ?

Hop*_*00b 27

在一般情况下,将独立服务器放在虚拟机管理程序上的优势是面向未来。它使未来的扩展或升级更容易、更快,因此更便宜。主要的缺点是额外的复杂性和成本(不一定是经济上的,但从工时和时间的角度来看)。

所以,为了做出决定,我问自己三个问题(通常更喜欢将服务器放在管理程序上,因为它的价值)。

  1. 虚拟机管理程序的附加成本有多大?
    • 在财务上,它通常很少或不存在。
      • VMware 和 Microsoft 都有许可选项,允许您免费运行主机和单个来宾,这对于大多数独立服务器来说已经足够了,但通常是资源密集型的服务器例外。
    • 从管理和资源的角度来看,确定成本可能有点棘手。
      • 您基本上将维护系统的成本增加了一倍,因为现在您有两个系统来监控、管理和更新补丁和更新(来宾操作系统和主机操作系统)。
        • 对于大多数用途来说,这不是什么大问题,因为维护一台服务器并不是很费力,但对于一些特别小的或特别受技术挑战的组织来说,这可能是一个真正的问题。
      • 您还增加了所需的技术技能。现在,您不仅需要可以从 Windows Update 下载更新的人员,还需要具备足够知识来管理和维护虚拟化环境的人员。
        • 同样,这通常不是问题,但有时,它超出了组织的处理能力。

  2. 易于升级或扩展的好处有多大?
    • 这归结为未来扩展的可能性有多大,因为很明显,如果他们不扩展或升级他们的服务器资产,这种收益为零。
      • 如果这种组织只是将服务器塞在角落里并忘记它 10 年,直到它无论如何都需要更换,那么就没有意义了。
      • 如果他们可能在组织上增长,甚至只是在技术上增长(比如添加具有不同角色的新服务器,而不是仅仅拥有一个多合一服务器),那么这提供了相当可观的好处。

  3. 现在有什么好处?
    • 虚拟化带来的好处不仅仅是面向未来,而且在某些用例中,它们可能是巨大的。
      • 最明显的是能够在对系统执行某些操作之前创建快照和简单的恢复备份,因此如果出现问题,您可以一键恢复。
      • 试验其他虚拟机(并玩“假设”游戏)的能力是我看到管理层感到兴奋的另一项能力。不过,就我而言,最大的好处是您在管理程序上运行生产服务器所获得的额外可移植性。如果真的出现问题并且您陷入灾难恢复或从备份恢复的情况,将磁盘映像恢复到运行相同管理程序的机器几乎比尝试进行裸机恢复要容易得多。


eww*_*ite 16

我认为被虚拟化的操作系统是一个重要因素,还有性能要求和扩展/增长的潜力。今天的服务器对于我们使用的应用程序和操作系统来说往往过于强大。根据我的经验,大多数标准 Windows 系统无法有效利用现代双插槽服务器中的可用资源。对于 Linux,我利用了一些细粒度的资源管理工具 ( cgroups ) 和容器 ( LXC ) 来更好地利用物理系统。但市场绝对是面向虚拟化优化的硬件。

也就是说,在某些情况下,我已经虚拟化了单个系统而不是裸机安装。常见的原因有:

  • 许可- 基于刚性核心、插槽或内存限制(不考虑现代计算的趋势)许可的应用程序数量正在减少。请参阅:在 bios 中禁用 CPU 内核?

  • 可移植性- 虚拟化服务器从硬件中抽象出 VM。这使得平台更改的破坏性较小,并允许 VM 引用标准的虚拟化设备/组件。使用这种方法,我已经能够使破旧(但至关重要)的 Windows 2000 系统保持生命支持。

  • 未来扩展- 我现在有一个客户,他有一个在 2001 时代硬件上运行的 Windows 2003 域控制器。我正在为他们构建一个新的单主机 ESXi 系统,该系统将在此期间容纳一个 2012 R2 新域控制器。但更多的虚拟机将随之而来。在这种配置中,我可以提供可靠的资源扩展,而无需额外的硬件成本。

使用单个主机/单个 VM 执行此操作的缺点是管理。我是从 VMware 的角度来看的,但在过去,ESXi 对这种安排更友好一些。今天,vSphere Web Client 的要求和对基本功能的限制访问,使得运行单主机(和单虚拟机)解决方案的吸引力降低。

其他考虑因素是硬件监控功能受损,以及常见外部外围设备(USB 设备/磁带驱动器/备份/ UPS 解决方案)的复杂性。今天的虚拟机管理程序确实希望成为更大的管理套件的一部分。


Saf*_*ado 10

虚拟化单个服务器有几个好处。首先想到的几件事是

  • 创建快照
  • 导入/导出 VM(例如,将 VM 导出为 .OVF,以便开发人员可以将其加载到 Workstation 或 Player 中以获得服务器的精确副本)
  • 轻松克隆或制作成模板(当您认为 VM 还不错时)
  • 将来可随时添加其他虚拟机

我认为其中最重要的是快照功能。我们公司到处都在使用 VMWare,所以对我们来说,当需要更多 VM 时,让服务器“准备好”是有意义的。


Sve*_*ven 10

这不是一个很长的答案,但无论如何:

对单个服务器使用虚拟机管理程序的最令人信服的理由,尤其是像 Windows Server 这样的东西,是您拥有生产操作系统的完整硬件抽象,并且可以在需要时将其移动到全新的服务器硬件而不会出现任何问题。我认为这是一个真正有价值的功能,它远远超过了在后台运行实际不必要的虚拟机管理程序的缺点。


joe*_*rty 7

我不会像其他人那样在这里提供详细的答案,所以我只想说,这些天我发现越来越难证明在裸机上安装服务器操作系统而不是安装虚拟机管理程序(您的选择)并虚拟化工作负载。在我看来,这样做的好处是:

  1. 成本效益。从长远来看,如果我需要部署额外的工作负载,我不必为这些额外的工作负载购买更多硬件。在某些情况下,使用 Hyper-V 时,我什至可以节省许可成本。

  2. 易于部署和重新部署。

  3. 易于实施高可用性和故障转移。

  4. 可移植性。如果我需要停用或外包当前主机,我可能几乎可以将虚拟机移动到任何地方。

  5. 未来证明。您的系统管理员同事目前可能看不到对基于虚拟机管理程序的基础架构的任何未来需求,但我的猜测是在 12 到 24 个月内他会并且他会很高兴他选择走虚拟化路线,如果他确实选择了这条路线.

  6. 灾难恢复。我可以在几分钟内备份整个 VM,然后将其还原或复制到另一台主机。

等等等等...


ETL*_*ETL 6

以下是我认为 VM 更好的几个原因:

  • 内置“KVM over IP”(某种形式) - 您可以在控制台上远程访问您的服务器,而无需 KVM over IP。有时您只是不想通过 RDP 执行某些操作并需要控制台访问权限。有了虚拟机,您就可以启动所选的管理工具(XenCenter、vSphere Client 等),然后您就在虚拟机的控制台上。

  • 使用虚拟机(对于非虚拟机服务器,使用我的 KVM over IP),我不再需要在寒冷的服务器机房里待上几个小时。

  • 迁移到新硬件 - 除了操作系统升级之外,为了安装新硬件,您必须迁移系统、移动设备等。使用 VM,您(通常)不需要做任何事情。您升级硬件,将 VM 文件放在新硬件上并启动。

  • 虽然人们无法预见未来的 VM,但“如果您构建它,它们就会出现”。你会想要启动一个新的虚拟机来测试一些东西并尝试新的东西等等。还有更多的可能性。

  • 虚拟机使您能够使用快照进行恢复、获取它的副本、制作虚拟机的克隆(在运行时)然后启动它 - 无论是在将其投入使用之前进行测试,还是仅仅拥有一秒钟的第一的。您可以使用 VM 快照等来做很多事情。

  • 冗余 - 如果您投入第二台 VM 服务器,您可以拥有冗余硬件,虽然我不了解当前的 VMWare 许可方案,但 XenServer 现在显然已将 XenMotion 包含在免费包中,因此成本开销可能不适用。

我不使用虚拟机的原因:

  • 开销 - 几乎没有,但显然有一些开销。

  • 管理更复杂 - 稍微复杂一点,但很容易学习。如果您不打算使用大型虚拟化环境,则培训是微不足道的。

  • *咳嗽* 今天你们都应该使用具有[带外管理访问权限](http://en.wikipedia.org/wiki/Out-of-band_management) 的服务器。 (2认同)

Kat*_*ard 5

我来晚了,感觉人们已经提出了我想要提出的一些观点,但我将简要回顾一下:

  • 面向未来:更容易添加更多 RAM/CPU/磁盘/等。随着需要的出现。
  • 便携性:更容易迁移到新硬件,尤其是在发生灾难时。
  • 虚拟化比保留可怕的旧硬件来运行您无法摆脱的东西要好。
  • 管理软件通常与 KVM 或 DRAC 一样好。(此外,如果您碰巧继承了前任管理员离开而没有留下密码的东西,您可以将它们用作“物理访问”来闯入。出于同样的原因,就像我在车里的断线钳一样方便——以前管理员在一项工作中在硬件上使用挂锁。我继承了服务器,但没有继承钥匙。)
  • 快照和制作副本,以便我可以在部署之前测试有风险的程序。

但是,尚未有人提及并且可能应该提及的事情是:如果您所在的商店可能需要测试服务器,并且可能会通过获取备用桌面并安装服务器操作系统来解决该需求就其而言,能够为他们提供 VM 可能会更好地满足您和他们的需求。虚拟化新服务器可能是允许未来虚拟扩展的“原因”。(而且,坦率地说,如果你不在那种商店里,你可能已经有了虚拟化。)

当然,并非一切都可以虚拟化。我通过向他们描述关闭 TCP Segment Offloading 需要做什么来为包含 PXE 的管理软件的物理硬件打分(PXE 在 TSO 开启的情况下像一只单腿狗一样运行,但他们不得不关闭它对于整个虚拟 VLAN,他们不愿意这样做)。因此,如果新服务器足够专业以至于不合适,那么,没关系。

但是,除非有这种类型的专业化,否则现在或将来摆脱一堆运行服务器操作系统的(可能不受管理的)PC 级机器对我来说是值得的。