虚拟机磁盘镜像转换成LVM卷管理

我在 arch linux ARM KVM虚拟化 遇到需要 排查ARM虚拟机磁盘异常 的情况,考虑到之前能够正常运行Fedora官方虚拟机镜像,所以需要排除法定位是否是LVM卷问题或者是 KVM 存储 配置错误。

Fedora 37 Server 官方下载 的虚拟机磁盘镜像是 raw 格式,如果是 qcow2 格式,需要先转换成 raw 格式才能复制到 Linux LVM逻辑卷管理 中,例如使用以下命令转换 qcow2 磁盘到 raw

qemu-img convert vmachine.qcow2 -O raw vmachine.raw

我的实际操作是将官方下载的 Fedora-Server-37-1.7.aarch64.raw 磁盘复制到 a-b-data-2 逻辑卷中:

使用dd命令将raw格式虚拟磁盘复制到LVM卷
dd if=Fedora-Server-37-1.7.aarch64.raw of=/dev/vg-libvirt/a-b-data-2 bs=4M

备注

复制的目标磁盘( Linux LVM逻辑卷管理 这里是12G )一定要大于源盘( raw 磁盘 这里是7G )

需要注意官方提供的虚拟机镜像内部采用了 Linux LVM逻辑卷管理 ,所以完成后还需要扩展

  • 执行 virsh dumpxml a-b-data-2 > a-b-data-2.xml 备份虚拟机配置

  • 启动虚拟机 virsh start a-b-data-2

  • 通过 virsh console a-b-data-2 观察控制台输出,发现进入了 UEFI shell

难道是 libvirt LVM卷管理存储池 存在问题

参考