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

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

我在 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

这样就解决了。


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

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

他认为在未来几年内没有必要将任何其他东西移动到 VM 或创建额外的 VM,因此最终这将是运行正常安装的新硬件或在 ESXi 上运行单个 VM 的新硬件。

就我个人经验而言,我还是倾向于使用虚拟机,除了可能出现创建更多虚拟机的可能性之外,没有真正令人信服的理由这样做。但是现在虚拟机管理程序存在额外的开销和管理方面的问题,尽管我体验到了虚拟机更好的管理功能和报告功能。

因此,希望这篇文章能保留在“好的主观”类别中,以便将来能帮助其他人,您有哪些经验/事实/参考/建设性答案来帮助支持任何一种结果(虚拟化或非单个“服务器”)?

答案1

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

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

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

  2. 轻松升级或扩展带来的好处有多大?
    • 这归结为未来扩张的可能性,因为显然,如果他们不扩展或升级他们的服务器资产,这种好处就为零。
      • 如果这类组织只是将服务器塞在角落里,然后十年不理它,直到需要更换,那就没有意义了。
      • 如果他们有可能在组织上或甚至只是在技术上发展(例如通过添加具有不同角色的新服务器,而不是仅仅拥有一台一体化服务器),那么这将带来相当大的好处。

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

答案2

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

话虽如此,在某些情况下,我还是虚拟化了单个系统,而不是裸机安装。常见原因如下:

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

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

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

使用单主机/单虚拟机的缺点是管理。我从 VMware 的角度出发,但在过去,ESXi 对这种安排更友好一些。如今,vSphere Web Client 的要求和限制访问基本功能,使得运行单主机(和单虚拟机) 解决方案的吸引力较小。

其他考虑因素包括硬件监控不完善以及常见外部外围设备(USB 设备/磁带驱动器/备份/UPS 解决方案)当今的虚拟机管理程序确实希望成为更大的管理套件的一部分。

答案3

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

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

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

答案4

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

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

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

  3. 轻松实现高可用性和故障转移。

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

  5. 面向未来。您的系统管理员同事可能目前看不到未来对基于虚拟机管理程序的基础设施的任何需求,但我猜在 12 到 24 个月内他会意识到这一点,并且会很高兴自己选择了虚拟化路线,如果他确实选择了这条路线的话。

  6. 灾难恢复。我可以在几分钟内备份整个虚拟机并将其恢复或复制到另一台主机。

等等等等...

相关内容