虚拟机运行时的KVM virt-clone

是否有可能克隆正在运行的kvm机器,而不需要像virt-clone这样的工具?

他们已经有了原始的虚拟现实,我不能closures它。 如果我不关心克隆上的临时数据损坏(初始fsck可以修复的),我可以将qcow映像文件转换为新名称,创build一个新的虚拟机定义,使用该磁盘并启动计算机?

如果您不关心内存数据,则可以对备份设备进行快照,并获取该快照的副本。

这当然需要具有快照支持的存储池(主要是LVM或ZFS,因为BTRFS在虚拟机存储方面速度很慢)。

我怀疑只有通过避免使用virt-clone来克隆磁盘是可能的,因为(正如前面已经提到的那样),virt-clone会拒绝正在运行的虚拟机。 所以你将不得不使用别的东西来制作实际的磁盘映像的副本。

我想基本的答案是,你可以试着希望你幸运。

获取guest virsh dumpxml NAMEconfiguration的“快照”非常简单( virsh dumpxml NAME将这样做)。 如果您有多个磁盘(即,如果您有一个操作系统磁盘和n + 1个数据磁盘),那么我会尽量避免克隆操作系统磁盘,并查看是否可以使用全新安装。

但是,如果有其他方法复制磁盘映像,我可能会更喜欢它。 如果这一切都与数据库服务器相关,例如,我可能会使用数据库自​​己的设施来安全地在实例之间复制数据。 如果你直接与文件系统打交道,那么可能值得看看DRBD是否有帮助,或者像rsync这样简单的东西。

基本上,我会仔细考虑你真正需要做什么,并且尽量避免花费时间来试图复制正在使用的磁盘映像(除了复制副本可能的问题外,我还会担心什么试图复制磁盘可能会做到原来的)。

这是完全可以使用RAW磁盘映像格式。 我不知道qcow2 …

Debian.img:x86引导扇区; 分区1:ID = 0x83,活动,启动头32,启动扇区2048,扇区497664; 分区2:ID = 0x5,启动头59,启动扇区501758,104353794扇区,代码偏移0x63

Debian2.img:x86引导扇区; 分区1:ID = 0x83,活动,启动头32,启动扇区2048,扇区497664; 分区2:ID = 0x5,启动头59,启动扇区501758,104353794扇区,代码偏移0x63

为了testing,我把一切正在运行的linux mint系统缓冲起来。 然后用新映像创build一个新的虚拟机,它在启动时甚至没有文件系统的不一致性。 虽然这只是一个小的桌面虚拟机,但我正在“克隆”的是正在运行的LAMP服务器,在数据库上具有较高的I / O。

我真的不会在乎不一致性,只是想节省一些时间来重新启动LAMP环境,我想在开始时创build一个基本映像,或者快照第一个Web服务器将是一个好主意,但是在完全configuration好之后testing已经太晚了,他们开始在生产中使用它。