我有一个生产环境,其中有 4 个客户操作系统在使用 kvm 的 Ubuntu 服务器上运行。这些操作系统采用基于 LVM 的设置。我希望这些虚拟机也采用 vmdk 格式。人们会使用这些虚拟机进行实验,因此在 vmware 环境(也可以是 Xen)中,这与 kvm 服务器不同。我无法控制其他环境,因此我想为人们提供这些虚拟机的 vmdk 映像。
生产虚拟机仍将继续在 kvm 服务器上运行,但进行实验的虚拟机将为 vmdk 类型。(vmdk 是一个约束)
以下是 lvscan 的输出
ACTIVE '/dev/abcd/lvm1' [100.00 GiB] inherit
ACTIVE '/dev/abcd/lvm2' [150.00 GiB] inherit
ACTIVE '/dev/abcd/lvm3' [50.00 GiB] inherit
ACTIVE '/dev/abcd/lvm4' [100.00 GiB] inherit
现在假设 /dev/abcd/lvm4 是我要启动此实验的虚拟机。
那么在服务器 1 上(kvm 正在运行)以下方法是否正确
步骤1 qemu-img create -f vmdk myos.vmdk 10G
完成此步骤后,我该如何继续使用 lvm 中的所有内容填充我刚刚创建的 vmdk 映像?对这部分有什么想法吗?
答案1
dd if=/dev/abcd/lvm1 of=myos.vmdk
如果 myos.vmdk 不正常,则执行以下操作
dd if=/dev/abcd/lvm1 of=my_raw_disk.img
qemu-img convert my_raw_disk.img myos.vmdk
转换时可能会有一些您想要的选项,只需查看 man qemu-img。
附言:
如果您可以在此操作期间停止虚拟机,那就太好了,如果不行,您可以按原样尝试,但是...您可能想先查看 lvm 快照。