当物理机在虚拟环境中发生故障时会发生什么?[关闭]


12

我正在开始虚拟化,所以请多多包涵。

在虚拟环境中,应用程序在管理程序层中运行。因此,一台物理机上可以有许多运行多个应用程序的虚拟机。

到目前为止,一切都很好?

那么,当物理机发生故障时会发生什么呢?那会不会使许多应用程序在一台计算机上全部失败?

我正在寻找使用OpenStack开发私有云的方法,但是我想首先全面了解虚拟化。

Answers:


14

具体细节取决于您使用的是哪种确切的虚拟化解决方案,但其想法是您拥有一个虚拟场,在该场中有许多物理主机,每个物理主机都有多个虚拟机。然后,您可以使用不需要为每个VM配备物理主机而获得的一些效率,以便在物理机发生故障的情况下有足够的开销来弥补。

此外,您可以在公共(冗余)SAN上找到每个VM的VHD。可以将每个物理主机上的管理程序设置为彼此对话并共享来自不同VM的内存。会有一些延迟,并且很多内存将由磁盘支持,但是如果其中一台物理主机发生故障,您甚至都不会等待该主机上的VM引导启动。相反,这些VM将自动分布在其余主机之间。最终目标是这些机器将从几乎停下来的地方回升,几乎没有停机时间。从某种意义上说,您所有的VM都已经在至少两个物理主机上运行。在实践中,现在,虚拟机管理程序一次只能在一台计算机上进行这种迁移,前提是他们知道主机即将发生故障之前就要来了……但是不要误会:硬件故障的即时迁移是所有主要设备的最终目标。管理程序。

这就是为什么您有时会看到服务器虚拟化到服务器场中的单个物理主机的原因。您可能不会获得任何硬件效率(甚至可能会失去一些性能),但是您需要在管理一致性和内置高可用性方面进行弥补。


thnx作为您的答案joel ...我有2个问题...虚拟环境是否将物理机视为单个资源池?这是否有助于满足按需自助服务?虚化还有助于利用资源吗?
Sherif

1
@Sherif:基本上,是的,是的。如果您想更详细地了解这一点,请参阅Wikipedia文章,它简要介绍了VM迁移和故障转移。如果仍有问题,请提出更具体的问题。
sleske

1
您确定共享内存部分吗?据我了解,由于硬件故障而导致故障的VM将在另一台主机上重新启动。可以将其视为完全重新引导或检查点还原,具体取决于虚拟机管理程序配置,但是无法恢复原始内存状态。对于vspere:vmware.com/products/vsphere/features/high-availability作为附带说明,为KVM启动了一些项目,以在一组硬件主机之间实现真正的共享冗余内存,但这些项目被放弃了。
shodanshok

1
仅当物理机有机会在崩溃前转移控制权时,VM迁移才会发生。如果物理机意外失败,则必须将虚拟机重新启动到另一台计算机上。如果您有无状态服务器,那么此传输过程很简单,因为您可以启动另一台计算机。对于具有持久状态的计算机,您需要一种可以从发生故障的物理计算机中恢复持久数据的方案。
Lie Ryan

13

如果主机发生任何故障,则物理主机上运行的所有虚拟服务器将脱机。

也就是说,大多数平台都为单个VM提供了高可用性解决方案。其他时候,系统会构建有多个节点,以防止在一个节点发生故障时服务中断。

如果两个VM节点组成一个高可用性服务,则可以配置管理程序以确保两个节点不依赖于相同的物理基础结构(容错)。这可能不仅仅是物理服务器的容错能力,包括不同的网络路径,一直到地理位置完全不同的位置。


2
例如,AWS根据服务,在可用区(物理区域)中复制服务,以防该区域发生自然灾害而破坏物理机。
Michael Bailey

虚拟环境会将物理机视为单个资源池吗?这是否有助于满足按需自助服务?虚化还有助于利用资源吗?非常感谢您的努力
Sherif

5

您的假设是正确的,即如果物理机发生故障,则VM也将不可用。

但是openstack可以解决这一问题,并在另一台服务器上启动发生故障的物理服务器的VM,或者您可以使用已经分布的虚拟机监控程序系统,我认为vsphere可以做到这一点。

您应该阅读有关HAopenstack文档以了解更多信息。


2

关于您的问题-是的,您将失去对该物理主机内所有计算机的访问权限。当然,这取决于哪个组件发生了故障。如果是磁盘-这是一种问题,如果是主板-则容易得多。通常,由于管理程序与硬件无关,因此硬件恢复更容易。此时,您可以使用许多特定于供应商的技术来获得高度可用的服务。

资源池(VMware的) -是不是能如某人上述汇聚多个物理主机资源(CPU,内存等),所以如果你有2个物理主机(假设1CPU四核没有超线程- 8GBRAM每个)将被可能有5vCPU-12Gb VM。资源池是逻辑池,它们不能创建超级计算系统。目前,这是控制资源利用率的一种方式。

可用性(vmware)-可以使用诸如高可用性(HA)之类的技术,如果您使用的是存储阵列(NAS ),则该技术可以自动恢复群集中所有VM的自动恢复(基于我在1-2分钟内的经验)。 iSCSI,FC),并将所有VM文件保存在此处。HA的更多功能仅在CPU,RAM,主板故障的情况下有效,很显然,存储阵列将无法正常工作。为了防止RAID /控制器故障,人们使用了复制,存储LUN镜像等。

如果不能在1-2分钟内恢复,则可以使用诸如容错(FT)之类的技术,该技术可以通过保留已配置VM的影子(运行)副本来实现故障时VM的零停机时间。但是,这项技术也有很多限制-无法完全解决具有多个vCPU的VM的容错问题。

总体而言,每种解决方案都取决于您的目标。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.