用过docker的小伙伴都知道,只要docker的数据文件和配置还在,就算换了台机子,都可以把容器重新跑起来。
其实KVM也是同样的原理,只要把kvm的配置文件 和 qcow2
磁盘文件提前出来,再放到其他宿主机上就可以重新跑起来了。
首先,我们先列出机子上所有的虚拟机:
virsh list –all
然后对需要操作的虚拟机进行关机(必须关机)
virsh shutdown Ubuntu18
再看下状态,确保机子已经关机。
virsh list –all
好了,现在开始提取配置文件:
virsh dumpxml Ubuntu18 > /MyBackup/Ubuntu18.xml
(保存文件路径自己定义)
qcow2
磁盘文件查看虚拟机的磁盘文件路径
virsh domblklist Ubuntu18
到这一步,我们已经找到了所有需要备份的文件(其实就两个),这个时候就需要把文件备份或者使用scp
传到另一台机子上。
如果在新的机子上进行还原,因为宿主机的硬件差异,往往还要修改一下kvm 的配置文件(也就是上面提取的Ubuntu18.xml)。
比如:qcow2
磁盘路径、网卡配置等。如果新机子的这些配置怎么办呢,有个小技巧,先按上面的操作,把新宿主机上的某台虚拟机配置导出来做参考。
修改好配置后,导入配置就可以了:
virsh define /MyBackup/Ubuntu18.xml
启动虚拟机:
virsh start Ubuntu18