![是否有可能创建一个在主机中断后仍可继续运行的虚拟机?](https://linux22.com/image/1448942/%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%AF%E8%83%BD%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%AD%E6%96%AD%E5%90%8E%E4%BB%8D%E5%8F%AF%E7%BB%A7%E7%BB%AD%E8%BF%90%E8%A1%8C%E7%9A%84%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%9F.png)
这只是一个学术问题。
从技术角度来看,是否有任何方法可以设置虚拟化子系统,即使其所依赖的物理集群的某些部分发生故障,该子系统也能够继续存在(虚拟机仍然可以访问并且完全可运行)?
我知道可以将 VM 从物理主机移动到另一台主机而无需重新启动它(我认为 Xen 和 VM Ware 也支持这一点),但如果主机在迁移之前死机,它就死机了。它可以复制到另一台主机并从那里启动,但仍存在一些服务中断,VM 必须从头开始重新启动。有没有办法设置一个能够做到这一点的系统?我唯一想到的办法是让 VM 实际上存在于 2 个物理主机上,同时只在其中一台上“活动”,并以某种方式不断镜像其操作内存,但这可能会非常慢。
答案1
您所描述的当然是可能的。 天腾计算机有限公司现在是惠普的一个部门,开发了一种冗余、容错的计算机系统,称为马不停蹄。它被用于银行、证券交易所、电话交换中心和其他类似的商业交易处理应用程序,这些应用程序要求最大限度的正常运行时间和零数据丢失。代表们声称,NonStop 系统崩溃的唯一方式是大规模物理损坏(例如火灾、洪水或地震)或电源故障。(当然,这些风险可以通过分布式数据中心和现场备用发电机来减轻。)NonStop 会嘲笑单个组件(CPU、存储设备、总线等)的故障
如果您可以使用多个主机虚拟化 NonStop 处理器集群,那么您应该能够实现与原始 Tandem 系统相同的不间断可用性特性。这样,本身说起来容易做起来难——NonStop 使用专有 CPU,而且据我所知,该操作系统无法免费下载。但原则上,应该可以做到这样的事情。
答案2
如果没有正常运行的主机,虚拟系统就无法运行。但是,它可以在主机系统发生故障时继续运行。
以 VMware Player 为例。虚拟系统只是可以放在任何地方的文件夹。如果您将这些文件夹放在外部设备上(最好是通过 eSata 或 USB3 连接的 SSD),那么您可以在安装了 VMware Player 的任何主机系统上运行这些虚拟系统。如果该主机系统死机,您只需将其连接到另一个系统即可。
VMware Player 可以在 Windows 和 Linux 下运行。