虚拟化的硬件弹性?

任何人都可以告诉我是否有可能将几台物理服务器集中起来运行一个弹性虚拟化环境。 我们的服务器对我们的客户越来越重要,我们希望尽一切可能改善硬件故障时的恢复能力。 我已经使用了桌面虚拟机,但是我不太了解企业级虚拟机的可能性。

理想的做法是在我们的数据中心安装一些物理服务器。 一些虚拟机将被共享,以运行一个Web服务器,应用程序服务器和数据库服务器。 如果一台物理服务器发生故障,虚拟机应该切换到其他服务器之一,并继续运行而不会中断。

这能做到吗? 我意识到,即使谷歌时不时,所以我不寻求完美; 只是最佳的解决scheme。

它是可行的,我们做类似的事情,只是没有自动部分。

正如@ewwhite所指出的那样,关键是共享存储池对多个主机服务器是可见的,所以如果一个主机出现故障,那么它并不重要,因为另一个主机可以接pipe。 设置一种不明显的,无中断的自动故障转移,你所要求的并不容易(或便宜),并且坦率地说,比起它的价值来说要麻烦得多,至less在绝大多数的用例中是这样。 现代的硬件并没有太多的失败,除非它的设置非常糟糕,所以在确保设备安装正确并且处于设备运行范围内的环境中,您将获得更多的里程碑。

我们真正使用我们系统的故障转移和高可用性function只有两件事情。 首先是灾难恢复(如果我们的主站点断电或爆炸,或者你有什么,我们的关键部分是在第二个设施镜像),第二是在避免维护窗口。 我们使用刀片服务器和ESX / vSphere,并且具有故障转移到辅助站点的能力,以及使用vMotion在主机之间移动虚拟机的便捷性,但是如果没有服务中断,我们将无法做到这一点。

我会把重点放在首先设置 – 一旦你能够(手动)把事情弄到什么地方,你可能会认为自动工作比它的价值更加昂贵和困难。 从理论上讲这听起来很简单,但是实际上,让一切正常工作在集群或分布式客户环境中是一件非常痛苦的事情。

这是虚拟化的一个很好的理由。 随着应用程序的可用性,而不是个人(物理)服务器的正常运行时间,对于企业来说变得更加重要,许多组织发现他们可以通过虚拟化获得更高的可靠性。

我将使用VMWare和Xen作为示例,但通过某种forms的共享存储,可以在两个或更多的主机系统中看到虚拟客户机,并且可以在物理服务器之间分配和负载均衡。 重点开始是共享存储解决scheme,pipe理和环境中的networking/互连的质量。

但是,请注意一点:您应该评估哪种types的硬件和环境情况构成威胁。 高质量的服务器级设备包括许多冗余(风扇,电源,RAID,甚至RAM)…现代硬件不仅经常失败 。 因此,如果专门的高端服务器可以帮助消除90%的潜在问题,那么避免构build一个不必要的复杂环境而引起反应过度。

这听起来像VMware FT可能是你在找什么。 它将每个虚拟机的“影子实例”与每个源虚拟机保持同步,并允许在两个实例之间进行即时故障切换。 更多在这里:

http://www.vmware.com/products/fault-tolerance/overview.html

任何中断部分都是一个问题,特别是今天你要从没有弹性的标准服务器上走出来?

虚拟化是一种select,但为了充分披露,您应该在以下方面作出明智的决定,

  1. 小的中断 ,以几分钟的顺序。
  2. 没有中断 (我们正在讲话毫秒 )。

(2)通常很,

  1. 昂贵 – 您需要N + N硬件容量。 也就是说,对于您运行的每台服务器,您都有一台完整的备用服务器,运行完全相同的软件,以备在发生硬件故障时接pipe。
  2. 限制性 – 您使用的软件可确保机器通常通过以太网“同步”。 这意味着,如果networking速度变慢, 则会减慢应用程序的速度,以确保事物保持一致。 为了确保不会发生这些机器必须在同一个数据中心获得任何types的性能。

VMware-FT的虚拟化正在解决之中。 Xen与everRun有同等的地位,有裸机(没有pipe理程序)。

(1)可能是你所需要的( 集群

  1. 根据应用情况,这可以提供与(2)相同的失败。 例如,像NetApp这样的NFS服务器可以提供无缝的故障转移,客户端可以继续保持无故障状态,只是短暂的中断。
  2. “稍微”更容忍软件故障。 由于没有确定性的CPU指令没有locking,因此不会触发像竞态条件一样的错误。
  3. 可以让你运行不同版本的软件。 例如,将群集的节点1升级到Windows Server 2008的Service Pack 1,请确认其正确,然后将Node 2升级到Windows Server 2008的Service Pack。

我并不是说卖群集与容错,或裸机与虚拟机pipe理程序,但是当涉及到高可用性时,上面的例子说明了在实现它之前需要先回答的大量问题。

  1. 什么是用户容忍的最大停机时间(是现实的)
  2. 什么是您将容忍的中断域? 物理服务器? 软件? 第2层networking? 第3层? 数据中心?
  3. 应用程序的性能要求是什么? 虚拟化不是所有的事情,只是最近,像Active Directory这样对时钟敏感的应用程序才在虚拟机上被使用(这在习惯上并不常见)。 无论您是否使用虚拟化pipe理程序和芯片组,虚拟化仍然会影响性能,吞吐量和延迟。
  4. 您需要在内部工作的预算。

这些要求可以转化为像MTTF这样的东西,根据你的团队的预算和技能,一些解决scheme将是不成功的。