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


我在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的新硬件。

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

因此,希望这可以保持在“良好的主观”范畴,以帮助他人在未来, 你有什么经验/事实/参考/建设性的答案来帮助支持任何结果(虚拟化或不是单一的“服务器”)?


31
2018-03-13 14:10






答案:


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

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

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

  2. 易于升级或扩展带来的好处有多大?
    • 这可以归结为未来扩展的可能性,因为很明显,如果他们不扩展或升级其服务器资产,这个好处就是零。
      • 如果这种类型的组织只是将服务器塞进一个角落而忘记了它10年,直到它需要被替换,那就没有意义了。
      • 如果它们可能在组织上发展,甚至只是技术上的发展(通过添加具有不同角色的新服务器,而不仅仅是拥有一体化服务器),那么这将提供相当可观的好处。

  3. 有什么好处 现在
    • 虚拟化带来的好处超越了未来的证明,在某些用例中,它们可能是巨大的。
      • 最明显的一个是在系统上执行某些操作之前创建快照和简单恢复备份的功能,因此如果它变坏,您只需单击一下即可恢复。
      • 能够尝试其他虚拟机(以及玩“假设”游戏)的能力是另一个我见过管理层感到兴奋的人。 但是,就我的钱而言,最大的好处是在虚拟机管理程序上运行生产服务器所带来的附加可移植性。如果出现问题并且您自己进入了灾难恢复或从备份恢复的情况,那么将磁盘映像还原到运行相同虚拟机管理程序的计算机几乎要无比轻松,而不是尝试进行裸机还原。

26
2018-03-13 14:52



我最喜欢的一个好处是能够远程修复卡住的Windows服务器。 - mythofechelon


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

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

  • 许可  - 根据严格的核心,套接字或内存限制许可的应用程序数量减少(不考虑现代计算的趋势)。看到: 在BIOS中禁用CPU核心?

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

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

使用单个主机/单个VM执行此操作的缺点是管理。我是从VMware的角度出发的,但在过去,ESXi对这种安排有点友善。今天,vSphere Web Client的要求和 限制访问基本功能,使运行单主机(和单个VM)解决方案不那么吸引

其他考虑因素是硬件监控瘫痪,常见的外围设备涉及更多复杂性(USB设备/磁带机/备份/UPS解决方案)。今天的虚拟机管理程序真的想成为更大的管理套件的一部分。


16
2018-03-13 14:35





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

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

我认为其中最重要的是快照功能。我们在公司内部使用VMWare,因此对于我们来说,当需要更多虚拟机时,让服务器“准备就绪”是有意义的。


10
2018-03-13 14:32



快照+1提及。虽然它不用于“备份”,但在没有测试服务器的环境中升级服务器端应用程序之前使用它是一件好事。 - TheCleaner
+1更不用说虚拟化环境了 理想 用于创建所述'测试服务器'。它肯定不如专用测试硬件好,但它比没有好多了。 - Calrion


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

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


10
2018-03-13 14:32





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

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

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

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

  4. 可移植性。如果我需要退役或外包当前主机,我可能会在任何地方移动VM。

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

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

等等等等...


7
2018-03-13 15:18





以下是我说VM更好的原因:

  • 内置“KVM over IP”(有点) - 您可以在控制台上远程访问服务器,而无需KVM over IP。有时您只是不想在RDP上做某事并且需要控制台访问权限。使用VM,您可以启动所选的管理工具(XenCenter,vSphere Client等),并且您位于VM的控制台上。

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

  • 迁移到新硬件 - 除了操作系统升级,要放入新硬件,您必须迁移系统,移动物品等。使用VM,您(通常)不必做任何事情。升级硬件,将VM文件放在新硬件上并启动。

  • 虽然人们没有预见到未来的VM,“如果你盖了,他们会来的“你会想要开发一个新的VM来测试一些东西并尝试新的东西等等。还有更多的可能性。

  • 虚拟机使您能够恢复快照,获取它的副本,克隆虚拟机(在运行时),然后将其旋转 - 是否在投入使用之前测试某些内容,或只是为了获得第二个第一。 VM快照等可以做很多事情。

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

我不使用VM的原因:

  • 开销 - 很难,但显然有一些开销。

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


6
2018-03-13 14:58



+1“kvm over IP”。当“服务器”重新启动并在启动时挂起并且您突然无法通过VPN从家中进行RDP或ping操作时,很高兴拥有该功能。不必开车去看看发生了什么是真正的好处。 - TheCleaner
咳嗽 你们都应该使用服务器 带外管理访问 今天。 - ewwhite
@ewwhite - 我所有的新服务器都有,但不是我的旧服务器。但我没有“KVM”的许可证,我可以重新启动,通过熄灯但不是控制台检查数据。在我的情况下我真的不需要它,因为我已经拥有了一个基于IP的KVM,它可以为我提供所需的一切,当它与熄灯相结合时。 - ETL


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

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

然而,还没有人提到过并且可能应该提到的事情:如果你在那种人们可能需要测试服务器的商店里,并且可能通过抓住备用桌面并拍打服务器操作系统来解决这个问题在它上面,能够为他们提供VM可能会更好地满足您和他们的需求。虚拟化新服务器可能是允许未来虚拟扩展的“原因”。 (而且,坦率地说,如果你不在那种商店,你可能已经拥有虚拟化。)

当然,并非一切都虚拟化。我通过向他们描述了关闭TCP段卸载需要做什么来为包含PXE的管理软件评分物理硬件(PXE像TSO上的单腿狗一样奔跑,但他们不得不为整个虚拟VLAN关闭它,他们不愿意这样做)。所以,如果新服务器是专门的,不适合的,那么,没关系。

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


5
2018-03-13 15:32





当然,我随时都可以进行虚拟化。这使我可以准备将​​来做以下事情:

  • 完整的系统备份更容易完成,而且通常也更便宜。
  • 操作系统可以是便携式的,我可以根据需要将虚拟机移动到另一台主机,无论是否有停机和集群,此时无关紧要
  • 在某些情况下,Windows许可可能会变得更便宜
  • 当硬件不足时,我可以使用生产系统在拍摄快照后测试更新(不是最佳做法,但预算,预算......)。不能在常规主机上执行此操作,除非它从昂贵的SAN启动
  • 获得尽可能低的终端服务器硬件,我仍然可以获得比特定服务器角色所需的资源更多的资源。不妨获得更好的硬件并将其全部用于VM。
  • 虚拟化功能通常可以替换不必要的软件。例如,我曾经设置了doubletake和neverfail很多,以设置Windows服务器的DR副本。通过虚拟化,我可以在虚拟机管理程序级别实现这一点,利用更便宜的技术,运行更可靠,更灵活的解决方案。

简而言之,除非服务器将运行具有限制的特定软件,否则禁止虚拟化(通常需要严格的网络或磁盘IO延迟,并且使用正确的硬件,甚至可以通过虚拟化实现这些)我尝试保留东西尽可能虚拟。


3
2018-03-14 04:35



“Windows许可可以变得更便宜 在某些条件下“你能告诉我一些这些情况吗? - Uwe Keim
简单示例 - 我需要运行AD / DNS / DHCP服务器和终端服务器。我可以购买两个Windows许可证,但是我获得了一个2012r2std许可证,并且在此许可证上运行了两个VM。那里有700美元的储蓄。 - dyasny


我可以想到支持在单个主机上将单个服务器虚拟化为VM的一个原因是它使您能够混淆该“服务器”的测试环境。

如果硬件功能强大,您可以克隆服务器VM并删除其NIC /网络功能,并将该克隆隔离为“测试平台”,以便在“生产”服务器上尝试相同操作之前。例如,如果服务器正在运行ERP软件,并且您想测试如果针对ERP软件/数据库运行特定脚本会发生什么。您可以首先在克隆的VM上进行测试。然后,可以在部署之前结合实时VM的快照完成此操作,并且知道它应该正常工作的额外好处。

创建相同的克隆“测试”环境可以使用现有物理服务器的P2V完成,但是您需要一个额外的物理主机来放置新的测试VM ...在上面所有内容都可以驻留在同一个物理上硬件(现在对于单个VM几乎总是过度杀伤)


2
2018-03-13 14:44





如果您的用例不需要专用硬件100%的电量,那么我每次都会虚拟。它提供了灵活性,快照功能和内置控制台访问(即使你也应该使用带外管理)


2
2018-03-13 16:14