虚拟化的优缺点

虚拟化的优缺点

我知道这里有很多问题在讨论类似的话题,但在这种情况下,我会尝试更具体一些。一个目标场景是中小型 ISV,第二个场景是企业基础设施。以下想法适用于这两种情况。

我们以微软为导向。我需要决定走哪条路(以及何时走),并且我需要一些支持或反对虚拟化的有力(理想情况下是一般性的)论据 - 我知道虚拟化很流行,但我希望你能在这里提供帮助,因为到目前为止,我读到的网络上关于虚拟化的利弊相当平衡,我希望有一些有力的论据来说明为什么选择虚拟化而不是不选择虚拟化 - 基于以下示例。

1) 我理解虚拟化有利于利用硬件资源 - 如果每台专用服务器都运行一个服务器应用程序,并且其资源未被利用,如果这些服务器被虚拟化,资源利用率就不会如此。但是如果我不在单独的服务器上安装 SQL、Exchange、IIS 和 TFS,而是将它们全部安装在一台服务器上,那么会怎样呢?因为所有这些应用程序都能够完美地共存?另一方面,如果 Exchange 服务器的利用率如此之高,以至于它消耗了大部分服务器容量,那么为什么要对其进行虚拟化呢?值得一提的是,我们预计工作负载数量不会发生任何显著变化。

2) 我也明白虚拟化让我可以自由地向网络添加/扩展/删除服务器 - 但实际上,我认为这实际上是无用的。对于实验,我们在 Azure 上使用虚拟机,我们可以在那里进行测试和实验 - 但一旦我们有了明确定义的服务器基础设施,我们就需要改变它,也许需要添加专门的服务器。

3) 另一件事是虚拟化需要集中存储 - 如果存储失败,一切都会失败。如果我有三台独立的服务器,每台都在自己的 RAID 上运行,我个人会感觉更舒服一些。

4)对于像 DC 或文件服务器这样高度关键的系统,我认为虚拟化没有任何好处。

5)我也明白,如果有人真的弄乱了某个服务器,例如 Exchange 或 SQL,那么恢复服务器映像很容易 - 但同样,这通常是通过暂存环境完成的。

6)虚拟化的优点是克隆和更好的灾难恢复 - 但另一方面,如果我们定期将配置和数据备份到 Azure,我看不到任何真正的好处。

免责声明 - 我不是虚拟化怀疑论者,我只是欣赏针对此类重要决策的一些有力论据或提示,并且我更愿意从更有经验的人那里获得一些见解。

答案1

  1. 当然,您可以将所有这些应用程序安装在一个操作系统实例上,并让它们和谐共存。但是,如果您需要将其中一个应用程序扩展到更大的硬件上,会发生什么?如果您在升级其中一个应用程序时出错,导致整个操作系统瘫痪,会发生什么?虚拟化使您能够隔离操作系统和应用程序,以及轻松地将操作系统实例从一个硬件移动到另一个硬件。

  2. 就网络而言,虚拟化提供了更大程度的灵活性。如果这对你没有用,那么没关系,不要使用这个功能。

  3. 不对。虚拟化绝对是才不是需要集中存储。如果您想要集中存储,您将获得虚拟化的许多好处(实时迁移等),但这不是必需的。我有许多仅使用本地 RAID10 存储的 ESXi 主机。对于集中存储系统,其架构通常不会出现任何单点故障(多个 FC 路径、多个控制器、电源冗余等)。有了这些系统,每一件,包括控制器可能会发生故障和/或被关闭进行维护而不会导致一毫秒的停机时间。

  4. 参见以上几点 - 供应商完全支持 DC 虚拟化,您在这样做时获得了很大的自由和灵活性。需要在服务器上更换 DIMM?好的,只需将您的 VM vMotion 到另一台主机,执行维护,然后将其 vMotion 回来。您已成功在物理服务器上更换内存而无需任何停机时间。尝试在不使用虚拟化的情况下进行此操作。

  5. 错误时有发生,硬件损坏,软件补丁出错,等等。在执行任何可能造成破坏的更新之前,能够拍摄虚拟机维护前快照作为后备方案是非常棒的。当然,您绝对应该在临时环境中测试,但即使如此严格,事情仍然可能出现问题。

  6. 恢复快照比对物理服务器进行裸机恢复要快几个数量级。此外,快照不需要恢复到类似的硬件。虚拟化的主要优势之一是它让您拥有硬件独立性。

总之,除非你有一些非常严格的性能要求,如今部署没有虚拟化的系统几乎是不合格的。即使您的工作负载需要整个服务器的资源,仍然拥有虚拟化层是有益的,这样您就可以利用上述所有项目。

答案2

1)不同的软件可以共存于同一台机器,但也可能崩溃。一旦需要重新安装,重新安装 1 个虚拟机实现 1 个功能与重新安装 1 个服务器实现 N 个服务是不一样的。

2) 这取决于你。在我们的小环境中,测试和生产总是混合在一起的。

3) 没错。另一方面,你可以投资更好的存储设备和虚拟优化备份系统。

4) 并非所有服务器都适合虚拟化。但您仍然可以考虑 N+1 备份策略(1 个物理 DC、1 个物理 SQL 服务器等,以及 1 个物理服务器,每个物理服务器都包含虚拟机辅助服务器)。

5) 操作系统和应用程序数不胜数。并非所有操作系统和应用程序都能让您以干净的方式工作。拥有一种通用的独立快照和备份方式是件好事。

6) 所以您已经在使用虚拟化(如果我理解 Azure 是什么的话)。同样,并非所有服务器都易于备份。虚拟机是管理所有类型服务器的最小公分母。

相关内容