我正在阅读有关虚拟化技术的HA技术,但是我所看到的所有解决scheme或多或less都与更专业的VRRP一样 – 当主机closures时,虚拟机将在另一个虚拟主机上启动。 如果存储是共享的(例如,iSCSI),那么“同一个”虚拟机可以启动,所以对客户操作系统来说,看起来像是一种电源故障。 但是,如果有一些重要的数据驻留在RAM中(例如内存数据库),那么它仍然会丢失。
虽然可以在一定的时间间隔内创build正在运行的虚拟机的快照(不幸的是,创build这样的快照需要大量的时间,所以不能每隔10秒就完成一次)。 然后另一个虚拟化主机可以加载这样的快照,并继续运行虚拟机“不中断”(加上减间隔时间)。
所以我的问题是 – 是否有任何解决scheme自动“镜像”虚拟机的方式,在虚拟化主机故障后虚拟机可以“恢复”在另一台主机没有明显的中断? 就像虚拟机的RAID1一样。 与RAM级别完全同步的镜像。
服务器不应该以你描述的方式“失败”。 大多数人不担心这一点。
但是,这是VMware容错(FT)的用例。
这将做你所要求的。
如果asynchronous复制需要一个小的延迟( 如10秒 ),那么像Zerto这样的解决scheme将是适合的。
1)部署VMware vSphere群集,并在您的虚拟机上使用容错https://www.vmware.com/files/pdf/techpaper/VMware-vSphere6-FT-arch-perf.pdffunction(如上所述)。
2)部署XenServer群集并使用Remus https://wiki.xenproject.org/wiki/Remus 。
有一些解决scheme可以在不停机的情况下对VM进行故障转移。 至less我知道HPE VSA和Starwinds 。 他们也有免费的版本,所以你可以看看这些。
但是,我不清楚第一个,还没有自己testing。 关于第二个 – 有一个选项,您可以在HA设备上分配大量的RAM,并且该RAM也在另一个节点上复制。 虚拟机故障切换,无需重启。 testing了Hyper-V群集。
不幸的是,没有办法怎么做,你真的不需要它。 即使是内存数据库也可以在应用程序级别上进行镜像和高可用性,这样就不需要内存镜像。 只需启动内存数据库的多个实例并让镜像开始! 这是容错,你甚至可以做任何升级和维护没有中断。
不幸的是,答案是否定的 ,至less对于商业/企业级的pipe理程序来说。
好的,我纠正了:我从来没有使用过/读过关于Xen + Remus ,这似乎很有趣。
我知道VMWare FT,但它有如此大的限制 ,我自动丢弃它。 幸运的是, 其中一些限制随着最后一个VMWare版本的发布而解除。 但是,在networking或I / O绑定scheme中,原始性能影响将太大而无法容忍。
无论如何,从我所能读到的,都是基于检查点的概念:基本上,底层虚拟机不断实时迁移。 真正的RAM锁步/镜像是更加昂贵的方法:几年前,基于Qemu / KVM的一个项目尝试了同样的事情 – 由于性能下降的巨大影响,它被放弃了。