Hi,

I'm currently evaluating how to update the firmware (OVMF) code image
without impacting a KVM/QEMU VM on live migration. I.e., the FW code lives
under /usr/share/OVMF/OVMF_CODE.fd and gets passed to the QEMU command with:

qemu-binary [...] -drive 
"if=pflash,unit=0,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd"

Now if the target node has an updated version of OVMF the VM does not really
likes that, as from its POV it gets effectively another code image loaded
from one moment at the other without any notice.

So my questions is if it would make sense to see this read-only pflash
content as "VM state" and send it over during live migration? This would
make migration way easier. Else we need to save all FW files and track which
one the VM is using, so that when starting the migration target VM we pass
along the correct pflash drive file. Sending over a pflash drive could maybe
only get done when a special flag is set for the pflash drive?

As said I can work around in our management stack, but saving the FW image
and tracking which VM uses what version, and that cluster wide, may get
quite a headache and we would need to keep all older OVMF binaries around...

If I'm missing something and there's already an easy way for this I'd be
very happy to hear from it.

Besides qemu-discuss I posted it to edk2-devel as there maybe more people
are in the QEMU and OVMF user intersection. :)

cheers,
Thomas



Reply via email to