VM Migration and Booting issue due to Disk Format Mismatch

Problem

Live migration of instances due to a disk format mismatch, where QEMU expects a qcow2 format, but the disk is in raw format. While cold migration succeeds as a workaround, the virtual machine (VM) fails to start on the target host due to the same disk format mismatch. Error message seen:

ERROR nova.virt.libvirt.driver [...] Live Migration failure: internal error: qemu unexpectedly closed the monitor: [...] Image is not in qcow2 format

Environment

  • Private Cloud Director Virtualization - v2025.4 and Higher

  • Private Cloud Director Kubernetes – v2025.4 and Higher

  • Self-Hosted Private Cloud Director Virtualization - v2025.4 and Higher

  • Self-Hosted Private Cloud Director Kubernetes - v2025.4 and Higher

  • Component: Image Service

Cause

The root cause is a mismatch between the disk format specified in Image Service metadata (qcow2) and the actual disk format (raw). During live migration, QEMU expects qcow2 based on the metadata, leading to validation failure. After cold migration, the same mismatch prevents the VM from starting on the target host.

Diagnostics

  • Check ostackhost Logs for Live Migration Failure:

    $ less /var/log/pf9/ostackhost.log
  • Verify Volume Format:

    $ qemu-img info /opt/pf9/data/state/mnt/*/volume-{VOLUME-UUID}
    
    #sample output
    file format: raw
    virtual size: 300 GiB (322122547200 bytes)
    disk size: 19.7 GiB
  • Check Image Service Metadata (Look for disk_format: qcow2)

    $ openstack image show <IMAGE_ID> --fit

Resolution

circle-exclamation
  • Backup the volume:

  • Convert the volume to qcow2:

  • Reset Instance State:

  • Reboot Instance:

  • To prevent such issue in future check the image format before uploading:

Validation

  • Confirm Volume Format:

  • Verify VM status:

Additional Information

Always validate image format with qemu-img info before uploading to the Image Service.

Last updated