virt-manager and migration of UEFI virtual machine from one KVM server and it's storage pool to another KVM server and it's storage pool

George oVirt at goproject.info
Wed Feb 23 11:40:43 UTC 2022


Hi,


Can someone please assist me with an explanation of how to migrate a
UEFI enabled virtual machine from one KVM server to another KVM
server, safely.


Note: I believe this not not currently possible because "It is blocked
by limitations in QEMU", is this true? 


I have a question about the
"/var/lib/libvirt/qemu/nvram/server_VARS.fd" file in relation to
migration (live or powered off) from one KVM server and it's storage
pool to another KVM server and it's storage pool.  Though I think it
may not  matter if the VMs is stored in a shared storage pool or
moved from one storage pool to another storage pool.



I don't fully understand UEFI or how KVM manages UEFI virtual machines
and in particularly, migration of UEFI virtual machines from one KVM
server to another KVM server.


This diagram is my attempt to visually describe the question.



    (UEFI VM1)    ---migration to --->   (UEFI VM1) 
[ KVM1  & Pool X ]        -->            [  KVM2 &
Pool Y ]



and also another migration example using a shared storage pool



    (UEFI VM1)   ---migration to ---> (UEFI VM1) 
KVM1               
---------------->               KVM2 

[                  Shared  Storage Pool    
               ]





See:
https://www.lucaswilliams.net/index.php/2020/01/29/manually-migrating-vms-from-one-kvm-host-to-another/



As I understand it both KVM servers will have their own server_VARS.fd
file (e.g. "/var/lib/libvirt/qemu/nvram/server_VARS.fd"), which I
believe holds the UEFI details for all of that server's UEFI enabled
virtual machines, so if I were to copy the file from one KVM server to
another, it would over right the receiving server's UEFI data. 
Unless there was a way of updating/merging the information for a VM
that is being migrated to the new KVM Server?


I have read "KVM doesn’t currently support snapshotting UEFI VMs",
which I believe could be related to the need of also coping the UEFI
information for snapshot (or cloned?) UEFI server?
https://www.ctrl.blog/entry/review-gnome-boxes.html



So my actual question is, how to migrate a enabled virtual machine
from one KVM server to another KVM server, safely.



George.


My Research Links

https://ostechnix.com/enable-uefi-support-for-kvm-virtual-machines-in-linux/https://superuser.com/questions/1389103/windows-10-uefi-physical-to-kvm-libvirt-virtual
https://ogris.de/howtos/windows-uefi-virtio.html
https://www.linux-kvm.org/downloads/lersek/ovmf-whitepaper-c770f8c.txt



"Re: [virt-tools-list] virt-manager: snapshot uefi vm"

It is blocked by limitations in QEMU. The savevm command doens't have
any
way to be told a list of disks to snapshot & this breaks with UEFI as
it
considers the NVRAM file a disk to snapshot. So savevm needs rewriting
in
QEMU, and then wiring up in libvirt before it can be done in
virt-manager.
Unfortunately no one in QEMU seems to care about internal snapshots,
only
external snapshots, so there's no ETA :-(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20220223/ac0ab065/attachment.htm>


More information about the virt-tools-list mailing list