Recuperar comandos libvirt a hipervisores

Recuperar comandos libvirt a hipervisores

Libvirt es genial, pero necesito portar una VM desde su configuración a QEMU o Xen. Para reproducir la configuración, necesito que los comandos se envíen a los hipervisores específicos para poder reproducir la VM en el sistema de destino.

Básicamente, necesito la interpretación de la configuración xml de libvirt para Xen y QEMU. La mejor manera sería buscar los comandos en Libvirt. Es necesario realizar este paso, porque de lo contrario no sería posible arrancar ni una sola máquina.

En teoría, la evaluación de las configuraciones XML puede cambiar entre diferentes versiones de Libvirt. Por lo tanto, rastrear un error debido a esto puede ser difícil y además no se puede reproducir en escenas científicas.

Una solución alternativa sería solicitar su configuración a la instancia QEMU o Xen en ejecución. Pero no estoy seguro de cómo hacerlo.

¿Tienes alguna idea?

EDITAR:No voy a recuperar toda la configuración de red que libvirt proporciona en segundo plano. Sólo la máquina simple. Por lo tanto, existe, por ejemplo, una opción para optimizar el cliente libvirt para un sistema operativo específico. Me gustaría saber qué influencia tiene en el comando básico de QEMU o Xen.

Estoy buscando solo las opciones de la línea de comando

# commands of creating machines withe the Hypervisors:
qemu-system-... [kvm / cpu / basics]
xl create [Myconfigfile.conf]

*[desired arguments]

Respuesta1

La respuesta depende completamente de cómo funciona el hipervisor en cuestión, por lo que no existe una única forma de lograrlo. Para QEMU, libvirt simplemente genera un binario QEMU con un conjunto particular de argumentos. Puede verlos ejecutando el virsh domxml-to-nativecomando o mirando /var/log/libvirt/qemu/$GUESTNAME.log. Tenga en cuenta que administrar un invitado QEMU implica mucho más que simplemente ejecutar QEMU: libvirt también configura cgroups, reglas de firewall, SELinux/AppArmor y pasa descriptores de archivos abiertos previamente para algunas cosas. Así que replicar esto fuera de libvirt supone mucho trabajo y recomendaría no intentarlo. Para el hipervisor Xen, libvirt llama a varias API de biblioteca, por lo que no hay forma de replicarlo sin escribir código para lo mismo.

información relacionada