KVM主机:如何高效地复制客人

我有三台KVM服务器,每台服务器都有一个访客虚拟机,直接在本地存储上运行(所以它们实际上每台计算机都有专门的计算能力)。 如果发生主机故障,我希望客人至less复制其中一台主机,以便我可以在主机上旋转它,直到故障主机被修复。

我很好奇KVM克隆。 我可以直接克隆虚拟机,或者暂停/closures虚拟机。 明显挂起的虚拟机自然会更快克隆,但这三个虚拟机由三个部分组成的单一解决scheme,所以我不希望任何一个closures。

如何有效地在服务器之间克隆这些虚拟机?

我有几个想法,但这些是疯了吗,还是有更好的方法,我已经错过了我的情况?

  1. 在虚拟机1运行的方框1和方框2之间build立一个DRDB分区,在方框1和方框2之间进行复制,在方框2和方框3和方框3和方框1之间重复(这可能是疯狂的,我从来没有使用过DRDB阅读有关它)

  2. 只需使用标准KVM CLI克隆选项来执行实时克隆(我对此抱有怀疑,因为我不知道需要多长时间,性能影响会如何)

  3. 在至less一个其他主机上运行每个虚拟机的副本,并让一个主机上的guest虚拟机将其数据导出到另一个主机上的匹配guest虚拟机,在该主机上可以导入该数据,在guest虚拟机上编写脚本)

  4. 其他一些方式? 想法欢迎!

边注

这些服务器在RAID 10中有4x15k SAS驱动器,所以它们的速度并不快,正如我所提到的,每个虚拟机都运行在主机的本地存储器上,没有NAS或SAN等。所以我就问这个关于guest虚拟机复制的问题。 另外,这不是关于灾难恢复。 客户将通过VPN将他们的数据导出到NAS,所以我正在研究如何让他们在主机故障情况下快速启动。

我不会乱搞本地存储,而是build立一个共享的集群。 oVirt和RHEV提供虚拟机高可用性和负载均衡,您只需要设置虚拟机,如果虚拟机出现故障,虚拟机将自动在另一台主机上启动。

对于存储你可以得到一个适当的SAN,但是如果预算紧张的话,一个RHEL盒子可以导出iSCSI或NFS。

这个iSCSI或NFS后端可以很容易地被复制,备份和通常保持安全

@ Zoredache没有回应,但最终使用Ganeti并爱上它;

http://code.google.com/p/ganeti/

对于那些希望将KVM用作具有无缝复制和迁移的群集pipe理程序的人,我无法推荐这么做。