
Estoy intentando migrar un invitado KVM de un host Ubuntu 14.04 a otro siguiendo los pasosdescrito aquí.
Ahora tengo el archivo "estado", la configuración xml y el archivo img qcow2 en una sola carpeta en el nuevo host y me aseguré de actualizar la configuración xml para que apunte a la nueva ubicación del archivo de imagen qcow2.
Cuando intento ejecutar, virsh create [guest-id].xml
aparece el siguiente mensaje de error:
error: internal error: process exited while connecting to monitor:
qemu-system-x86_64: -drive file=/media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img,if=none,id=drive-virtio-disk0,format=raw:
could not open disk image /media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img:
Could not open '/media/stuart/storage2/kvm/dns.technostu.com/dns.technostu.com.img': Permission denied
Depuración e intentos de soluciones
Ya me agregué al grupo libvirtd y volví a iniciar sesión.
Me aseguré de que las rutas de archivo fueran correctas
Cambié la propiedad del archivo .img a mí mismo, pero después de ejecutar el comando con y sin sudo, la propiedad del archivo sigue cambiando a
root:root
permisos.-rwxr-xr-x
Intenté correr
sudo apt-get install apparmor-profiles apparmor-utils sudo aa-complain /usr/lib/libvirt/virt-aa-helper
Deesta publicación, pero eso no ha funcionado.
Intenté cambiar el emulador en el archivo xml como se especificaaquí.
¿Qué debo hacer para "importar" el invitado en el nuevo host en Ubuntu 14.04?
Respuesta1
Tuve un problema similar.
Agregar mi usuario al grupo kvm
sudo usermod -a -G kvm username
Luego me aseguré de que /dev/kvm
sea propiedad de root y del grupo kvm.
Luego cambié la propiedad de mi VM existente (convertida de VirtualBox) a nombre de usuario:kvm
Finalmente lo configuré group=kvm user=username
en mi qemu.conf. Esto me lo arregló.
Respuesta2
Al apagar y encender la computadora nuevamente (no había reiniciado desde que instalé kvm
) el mensaje de error cambió a:
error: internal error: process exited while connecting to monitor: qemu-system-x86_64
Al buscar en Google ese error, encontréesta publicaciónque recomendó agregar lo siguiente a
user = "root"
group = "root"
al /etc/libvirt/qemu.conf
archivo. Asegúrese de incluir las citas.
Después de otro reinicio, pude ejecutar virsh create [guest-id].xml
correctamente.
Respuesta3
No se recomienda ejecutar QEMU con privilegios de root, ya que a partir de la versión 6.0.0 no eliminaría las capacidades de Linux.
En mi caso fue AppArmor. Quería agregar un archivo SSDT para una batería a la VM. Hay algunas carpetas a las que AppArmor permite el acceso y otras (como /home/something
) simplemente no están permitidas. /var/lib/libvirt/images/
es una de las carpetas permitidas. Aunque coloqué mi archivo allí, la política de AppArmor todavía no lo permitía (como se puede ver en sudo cat /var/log/kern.log | grep -C 10 apparmor | grep -C 10 qemu
). Lo que funcionó fue agregar /var/lib/libvirt/images/SSDT1.dat rk
así /etc/apparmor.d/libvirt/TEMPLATE.qemu
:
#
# This profile is for the domain whose UUID matches this file.
#
#include <tunables/global>
profile LIBVIRT_TEMPLATE flags=(attach_disconnected) {
#include <abstractions/libvirt-qemu>
/var/lib/libvirt/images/SSDT1.dat rk,
}