bay*_*irh 16 kvm-virtualization
我将淘汰旧的 libvirt + KVM 服务器,但我需要保留 VM。不幸的是,网络已关闭,我无法创建与系统的连接。
有没有办法使用virsh或任何其他实用程序导出虚拟机?
澄清:我需要磁盘和所有东西。我会将机器部署到另一台服务器。
c4f*_*t0r 22
如果您需要使用 virsh 备份您的 vm 配置,您可以使用以下命令
virsh dumpxml vmname > vmname.xml
Run Code Online (Sandbox Code Playgroud)
如果您需要将 vm 移动到其他服务器,您可以转储您的 vm 配置并传输 xml,如果您使用文件作为 vm 的后端存储,您可以在复制时使用 scp 或 rsync 将文件复制到其他服务器vm 的磁盘文件,您可以尝试使用以下命令启动 vm virsh define /tmp/myvm.xml && virsh start myvm
小智 6
您应该能够从快照对磁盘进行映像:
首先,您需要确保 Vm 没有运行:
virsh suspend vm
Run Code Online (Sandbox Code Playgroud)
现在您可以创建快照,确保根据您自己的需要调整大小100M和名称vm-root-snapshot。
lvcreate -L 100M -n vm-root-snapshot -s /dev/sysvg/vm-root
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以再次启动 VM。
virsh resume vm
Run Code Online (Sandbox Code Playgroud)
现在您有了快照,您可以创建映像并删除快照:
dd if=/dev/mapper/sysvg-vm--root--snapshot of=/tmp/vm-root.img bs=1M
lvremove /dev/mapper/sysvg-vm--root--snapshot
Run Code Online (Sandbox Code Playgroud)
可以将镜像复制到新服务器,并使用 dd 导入到新服务器上的 LVM
dd if=/tmp/vm-root.img of=/dev/mapper/sysvg-vm--root bs=1M
Run Code Online (Sandbox Code Playgroud)
另外不要忘记导入您的 XML 文件。
virsh define /path/to/vm.xml
Run Code Online (Sandbox Code Playgroud)
除此之外virsh dumpxml,还将把虚拟机设置导出到 XML 文件中:
复制虚拟机磁盘映像,如果它们稀疏或位于块卷上,则正确的方法是使用qemu-img convert -O output_format source destination
要导入,请编辑 XML 以反映磁盘映像的新位置,然后运行virsh define path/to/dumpXML
| 归档时间: |
|
| 查看次数: |
44513 次 |
| 最近记录: |