debian

Instalar y compilar la última versión de libvirt en Ubuntu / Debian

En este mini-artículo vamos a ver cómo compilar la última versión de libvirt en un Ubuntu o Debian moderno.

Lo primero es descargar el código fuente de http://libvirt.org/sources/ . En este caso:

Lo descomprimimos con “tar xf ” y dentro del directorio creado ejecutamos:

 

Es posible que fallen dependencias, por lo que hay que instalar varios paquetes “-dev” para ser capaces de empezar a compilar.

En mi caso, un Ubuntu 16, tuve que instalar “libdevmapper-dev”, “libyajl-dev”. En un sistema recién instalado habrá que instalar bastantes más.

 

Cuando haya terminado el comando autogen correctamente, ejecutamos:

 

Si estamos en un sistema con systemctl (Debian 8 , Ubuntu 16 o superior), hay que editar el fichero

y modificar la línea que apunta al ejecutable de libvirt de esta manera

 

Luego ejecutamos

para recargar los ficheros de configuración, y para reiniciarlo:

 

 

Finalmente, con un “sudo virsh version”, tendremos que ver la versión correcta.

 

 

Es posible que os de un error indicando que no encuentra el emulador de X86_64. Eso ocurre porque no encuentra el emulador de qemu-kvm.

En mi caso, con hacer un link de /usr/local/qemu-kvm/bin/qemu-system-x86_64 a /usr/sbin/qemu-kvm ya bastó para que funcionase correctamente.

 

De igual manera que hicimos el otro día, se puede crear un paquete .deb para redistribuirlo en otros servidores físicos con checkinstall, pero no os cogerá los cambios del fichero del systemctl para el arranque.

 

 

QEMU-KVM: compilar / instalar QEMU en Debian / Ubuntu

Instalar QEMU en un Debian es cuestión de un comando, normalmente.

 

Compilar QEMU y crear un paquete en Debian no es tan fácil ni tan útil como en Redhat/CentOS. Básicamente porque es una mala idea sobreescribir los ejecutables del sistema operativo con tu propio paquete.

Pero las versiones de QEMU y libvirt que vienen con el sistema base son tan antiguas, que es casi imposible resistirse a tener una versión moderna con la que probar.

Primero descargamos el código fuente de QEMU de:

http://wiki.qemu.org/Download

Yo he probado con la versión 2.6.0. La 2.7.0 saldrá en breve. Mi sistema operativo es un Debian 8, pero con pocas variaciones, sirve también para Ubuntu.

Necesitamos instalar unos cuantos paquetes previos a la compilación:

Ahora entramos en el directorio de qemu, tras descomprimirlo, y hacemos el “configure”.

Las opciones de qemu son bastantes más. Pero eso es lo básico para funcionar, y tenerlo, además, algo optimizado utilizando la librería tcmalloc de google. Es muy posible que tengáis que tener arrancado el demonio “numad” para poder hacer funcionar ciertos servidores virtuales.

Tan solo nos interesa el ejecutable de x86_64 (en mi caso, porque mi portátil tiene dicha arquitectura), y el instalarlo en /usr/local/qemu-kvm para que no se mezcle con el previo del sistema operativo, si está instalado.

Si no queremos tener instalada SDL, se puede usar GTK, con –enable-gtk.

 

Si el configure funciona, tendremos una lista de las opciones activadas. Hay que fijarse bien en estas:

VNC support       yes , para tener soporte de VNC y poder conectar con clientes VNC al proceso de QEMU, como si fuera una pantalla

vhost-net support yes, para tener soporte para los módulos de vhost_net, que aceleran MUCHO el rendimiento de los interfaces de red

KVM support       yes, que nos indica que ha aceptado el soporte para KVM. Sin eso funciona pero mucho más lento

 

Seguidamente, ejecutamos “make”. Podemos acelerarlo con “make -jX” donde X es el número de cores que tenemos en el ordenador donde estemos compilando qemu.

Si todo va bien, podemos ejecutar el checkinstall, con el comando

Nos preguntará acerca de la documentación y los nombres de los paquetes. Yo no suelo incluirla.

Al concluir, nos mostrará un mensaje:

Lo podemos instalar con

La mayor ventaja que tiene es que al llevarlo a otro servidor físico, podremos instalar las dependencias automáticamente.

Ahora ya podemos ver que tenemos la nueva versión instalada.

 

Se puede ejecutar directamente, o bien via libvirtd, en el XML de definición de un servidor virtual, añadir

<emulator>/usr/local/qemu-kvm/bin/qemu-system-x86_64</emulator>