¿Cómo conectar sesiones QEMU independientes a la sesión de usuario libvirt?

¿Cómo conectar sesiones QEMU independientes a la sesión de usuario libvirt?

Me gustaría que qemu iniciara máquinas ejecutándose en el espacio del usuario, pero durante el desarrollo me gustaría enviarle comandos usando virtsh. (tenga en cuenta que esto no se debe a que necesite virtsh, pero los desarrolladores de QEMU solo exponen las API que funcionan con virtsh. Supongo que también podría preguntar "¿cómo manipular instantáneas de un QEMU en ejecución a través de la línea de comandos, no de sesiones interactivas de monitor qemu?" esto La pregunta virtsh es seguir lo que recomiendan los documentos de qemu)

El manual no es muy claro sobre cómo adjuntar qemu a la instancia de libvirt con qemu:///sessiony qemu+unix:///session, simplemente asume que permitirá que libvirt inicie todos los enlaces, por lo que no explica nada.

y lo que yopensares la solución, qemu:///embedcarece extremadamente de detalles y es críptica para los desarrolladores que no son libvirthttps://libvirt.org/drvqemu.html#embedded-driver

$ ps aux | grep qemu
gcb    ...    qemu-system-x86_64 -machine pc...

$ virsh -c qemu+unix:///session list --all
 Id   Name   State
--------------------

$ virsh -c qemu:///session list --all
 Id   Name   State
--------------------

$ id
uid=1000(gcb) ...

¿Cómo busca exactamente libvirt el qemu de sesión de usuario? ¿Y cómo puedo simplemente usar comandos virtsh para interactuar con un qemu en ejecución del mismo usuario como se muestra arriba?

Respuesta1

Ojalá me equivoque, pero después de leer sus documentos:

Responde, no es posible.

libvirt es un proyecto redhat+gnome. Como tal, es malo por diseño (y fue empujado de arriba a abajo, al igual que systemd). El manual está lleno de pasajes condescendientes que en lugar de explicar toman atajos y ahora temen que cualquier acción fuera de su control cause errores, reprenden al usuario por no tener nada bueno que ver con cosas básicas como obtener un PID de un sistema en ejecución. vm. Las partes más profundas del manual contienen enlaces 404 completos que apuntan a blogs personales en gnome.org.

Hay poca documentación sobre cómo crear el xml de configuración para una nueva máquina virtual. Se supone que debes depender de programas GUI o, peor aún, de scripts hacky documentados, virsh-install. Ambos asumen que tiene una instalación completa con un sistema dedicado a ejecutar libvirtd y otros servicios, y se negarán rotundamente a realizar cualquier acción (incluso escupir una plantilla xml) a menos que tenga esos servicios activos. En algún momento tuvieron un traductor conveniente de qemu args a su xml, pero eso ya no existe (ya sirvió para atraer contribuyentes de otros proyectos).

Evite libvirt a menos que su empleador lo use. Continúe con las interfaces de qemu por ahora.

editar: tal vez una solución alternativa, no probada hasta ahora:

virt-install --import --connect qemu://session --qemu-commandline '-m ...' para iniciar su máquina qemu sin el libvirtd de todo el sistema.

edición 2: no, esto finalmente interactuará con el hipervisor. También a partir de 2024, eliminaron la documentación para qemu-commandlineparámetros de los documentos.

información relacionada