Virtualizando con KVM

Virtualizar servidores está al orden del día, ya sea con vmWare, Xen o VirtualBox. Hoy hablaramos de la virtualización completa para Linux KVM o «Kernel-based Virtual Machine», que usa sólo software libre.

kvmbanner_logo2_200KVM está basada en dos partes, una formadada por un módulo de núcleo, llamado «kvm.ko» y las herramientas del espacio del usuario. Está disponible a partir de la versión del kernel 2.6.20. Contiene las extensiones de virtualización Intel VT o AMD-V.

Instalación

Hemos realizado las pruebas en un máquina con procesador I7 y un sistema operativo GNU/Linux Debian 7 Wheezy.

Como primer paso tenemos que comprobar que nuestro ordenador o computadora da soporte a KVM. Por ello visualizaremos el archivo /proc/cpuinfo, para que nos de la información, aplicando el filtro más conveniente. Si tenemos un procesador Intel, que es nuestro caso:

  1. grep --color vmx /proc/cpuinfo

Y nos devolerá algo parecido a la siguiente imagen:

captura_kvmCómo se observa «vmx» aparece en rojo, eso quiere decir que nuestro procesador tiene las «banderas» que necesitamos.

En el caso de los procesadores AMD, sería de la siguiente manera:

  1. grep --color svm /proc/cpuinfo

Si no nos aparece en rojo la «bandera» que buscamos significa que el procesador no da soporte a KVM.

Bien, ahora que sabemos que nuestro procesador da soporte a KVM, así que ya podemos instalar los paquetes correspondientes.

Usaremos el paquete qemu-kvm y la herramienta virt-manager para gestionar las máquinas virtuales desde la interfas gráfica.

  1. aptitude update
  2. aptitude install qemu-kvm virt-manager

Automaticamente el demonio libvirt-bin arrancará con el kernel al iniciar la máquina. Para poder manejar las máquinas virtuales tendremos que usar el siguiente comando para añadir nuestro usuario dentro del grupo libvirt:

  1. adduser "nuestrousuario" libvirt

Crear máquinas virtuales desde la interfaz gráfica es bastante similar a otros entornos de virtualización. Aquí os dejo una pantalla con dos máquinas ya creadas y funcionando:

captura_virt_managerSi nos gusta más la consola podemos usar el comando virsh, desde donde podremos listar, parar o iniciar nuestras máquinas virtuales.

Unos ejemplos:

  • virsh start ‘nombre máquina’ para encenderla.
  • virsh shutdown ‘nombre máquina’ para apagarla.
  • virsh list -all para listar las máquinas.

También se pueden crear las máquinas virtuales a nuestra medida, para saber más de cómo crearlas desde la consola os dejo varios enlaces:

Si quereis saber más y profundizar en el tema podéis consultar la página oficial de KVM aquí.

Espero que os haya sido interesante. No dudéis en comentar.