如果我使用xm save domain dumpfile
,这基本上可以完成我想要做的事情。但是,这确实会导致一些停机时间,我真的不想关闭网络连接或让机器内存不足。我真正想要的是简单地xm pause domain
转储内存,然后取消暂停。
这可能吗?
如果不是,您如何认为 Slicehost 实现了实时快照?
答案1
只需执行“xm save DOMAIN”即可转储域的运行状态,而不是随附的磁盘状态。该运行状态将包括未保存的磁盘缓存和缓冲区。在未触及的磁盘/卷以外的任何位置加载已保存的映像备份将导致失败和数据损坏。
我需要做类似于你建议的事情,但无法避免短暂的停机时间,但这些时间总是比真实机器的等效时间短。
我将使用 LVM 和快照(使您的域具有逻辑卷作为磁盘)
$ xm save DOMAIN DOMAIN.SAV
$ snapshot the domains' Logical volume
$ xm restore
$ backup the lvm snapshot using dd
$ delete the snapshot
你可能想看看我是怎么做的欺骗源代码。
答案2
我已经在你的问题中看到了 lvm 标签 - 为什么不把 vms 放在 lvm 卷上并使用快照? 当然 - 这不是 100% 安全的方法,但它与从服务器中拔出电源线并镜像硬盘一样安全。
lvm 快照会带来性能损失 - 只要快照存在 [即在您将其传输到另一台机器期间,因为之后您可能会销毁它] xen 使用的原始卷上的 io 操作会明显变慢。