虚拟化的优缺点

Rob*_*ein 1 hardware virtualization infrastructure vmware-vsphere

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

我们是面向微软的。我需要决定走哪条路(以及何时),并且我需要一些支持或反对虚拟化的可靠(理想的一般)论据 - 我知道虚拟化很流行,但我很感激你在这里的帮助,因为什么到目前为止,我已经阅读过,网络上的利弊都非常平衡,我想就为什么不选择虚拟化提出一些坚实的论据 - 基于以下示例。

1)我知道虚拟化有利于利用硬件资源 - 如果每个专用服务器运行在一个服务器应用程序上并且其资源未被利用,如果这些服务器被虚拟化,则资源利用率不是这样。但是,如果我不在单独的服务器上安装 SQL、Exchange、IIS 和 TFS,而是全部安装在一个服务器上,因为所有这些应用程序完全能够共存,该怎么办?另一方面,如果例如 Exchange 服务器被如此使用而消耗了大部分服务器容量,为什么要对其进行虚拟化?值得一提的是,我们预计工作负载数量不会有任何显着变化。

2)我也明白虚拟化让我可以自由地向网络添加/扩展/删除服务器 - 但实际上,我认为这实际上是无用的。对于实验,我们使用 Azure 上的 VM,我们可以在其中执行测试并进行实验 - 但是一旦我们拥有明确定义的服务器基础架构,我们就需要对其进行更改,可能会添加专门的服务器。

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

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

5) 我也明白,如果有人真的搞砸了某些服务器,例如 Exchange 或 SQL,恢复服务器映像很容易 - 但同样,这通常是在临时环境中完成的。

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

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

EEA*_*EAA 6

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

  2. 就网络而言,虚拟化允许更大程度的灵活性。如果这对您没有用,那很好,不要使用该功能。

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

  4. 请参阅以上几点 - 供应商完全支持 DC 的虚拟化,并且您在这样做时获得了很大的自由度和灵活性。需要更换服务器上的 DIMM?好的,只需将您的虚拟机 vMotion 到另一台主机,执行维护,然后 vMotion 将其返回。您已设法在没有任何停机时间的情况下更换物理服务器上的内存。在没有虚拟化的情况下尝试。

  5. 错误发生、硬件死机、软件补丁出错等等。能够在执行任何可能破坏事情的更新之前获取虚拟机的维护前快照作为后备是非常好的。当然,您绝对应该在临时环境中测试事物,但即使如此严格,事情仍然可能会破裂。

  6. 恢复快照的速度比物理服务器的裸机恢复快几个数量级。此外,快照不需要恢复到类似的硬件。虚拟化的主要好处之一是它为您提供了硬件独立性。

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

  • 我不确定 Exchange 和 SQL 是否会在单个服务器上愉快地生活在一起,因为 Exchange 会尝试吃掉 SQL 的内存分配.. (2认同)