Actualmente hay dos tecnologías de virtualización disponibles en los repositorios de CentOS, Xen y KVM.

Xen soporta paravirtualización y virtualización full asistida por hardware. Xen requiere que el hypervisor bootee antes que el kernel de Linux, el cual luego bootea un CentOS llamado dominio administrativo o privilegiado.

KVM soporta sólo virtualización full asistida por hardware (aunque se está trabajando en el soporte de paravirtualización). KVM es un módulo del kernel y las máquinas virtuales son creadas a través del dispositivo /dev/kvm por el comando "qemu-kvm" (versión de qemu modificada para KVM).

QEMU (Quick EMUlator) es un emulador de procesadores y dispositivos de hardware que se utiliza como plataforma para crear y ejecutar máquinas virtuales. Utiliza traducción binaria dinámica (un algoritmo de traducción emula un set de instrucciones en otro) para lograr gran performance y portabilidad a nuevas arquitecturas de CPU.

En este artículo se describe el proceso completo de creación de una máquina virtual Windows XP SP3 utilizando KVM en un host CentOS 6.2.

Como host de máquinas virtuales se utiliza CentOS 6.2:

Para comenzar a trabajar con KVM en CentOS 6.2 es necesario instalar los grupos de paquetes "Virtualization", "Virtualization Client" y "Virtualization Tools":

yum groupinstall "Virtualization" "Virtualization Client" "Virtualization Tools"

 

Creación de una nueva máquina virtual

Las máquinas virtuales se pueden crear utilizando el comando "virt-install" (se utiliza tanto para Xen como para KVM), pero se puede hacer de forma gráfica utilizando la aplicación "virt-manager". virt-manager está basado en la librería de manejo de hypervisores "libvirt". En CentOS 6.2, se puede abrir virt-manager (utilizando gnome) desde:

Applications > System Tools > Virtual Machine Manager

En la ventana se observa el hypervisor disponible: localhost (QEMU). Es posible configurar redes, almcenamiento, etc. mediante doble clic o clic derecho y luego "Details":

 Para crear una nueva máquina virtual se debe invocar el asistente haciendo clic derecho sobre el hypervisor y luego "New":

En el primer paso se debe proporcionar un nombre a la máquina virtual (se recomienda no utilizar espacios en el nombre para simplificar la administración por consola) y seleccionar un medio para instalar el sistema operativo. Para este caso se utiliza una imagen ISO de Windows XP SP3.

En el siguiente paso se indica la ubicación de la imagen ISO o se selecciona "Use CDROM or DVD" en caso de instalar desde un CD o DVD. Además se debe indicar el tipo de sistema operativo a instalar y su versión.

En el paso 3 se asigna la cantidad de memoria RAM a la máquina virtual y la cantidad de CPUs. En general se recomienda nunca asignar más de la mitad de la memoria RAM del host.

Luego se asigna espacio de almacenamiento en disco. En este punto se puede crear una nueva imagen de disco en archivo de tamaño fijo o dinámico, o también se puede utilizar una imagen existente creada con la herramienta "qemu-img" e incluso volúmenes lógicos LVM. Para este ejemplo se crea una imagen nueva, pero lo mejor es utilizar volúmenes lógicos LVM por su flexibilidad, robustez y simplicidad para realizar backups y restores.

En el último paso se selecciona el tipo de red, es posible utilizar una interfaz bridge o NAT sobre la red virtual por defecto. Es posible crear múltiples redes virtuales en el hypervisor. Para ello se debe definir un nombre, rango de IP, habilitar o no DHCP y en qué rango y definir el modo de conexión de la red virtual con los dispositivos físicos (pueden ser todos o un único dispositivo físico y el modo de conexión puede ser NAT o ruteado).

Una vez que se hace clic en "Finish" se abre la consola de la nueva máquina virtual. En este caso bootea desde el CD de instalación de Windows XP SP3.

En la ventana del administrador de máquinas virtuales se observa que la máquina está en ejecución y en el pequeño gráfico de la derecha se observa el uso de CPU del guest:

Una vez finalizada la instalación se observa el escritorio de Windows XP:

 El modo gráfico por defecto es VNC y se cuenta con integración de teclado y mouse por lo que el desempeño gráfico es agradable y fluido.

 

Performance

Desde el punto de vista de performance, el rendimiento del emulador qemu-kvm es sorprendente. En mi experiencia con tecnologías como VMware ESXi, Hyper-V y VirtualBox, KVM no tiene nada que envidiarles en lo que respecta a rendimiento. Lógicamente tecnologías como vCenter de VMware tienen características más avanzadas de virtualización (por ejemplo migración de máquinas virtuales en vivo) que les han dado mayo éxito a nivel comercial. Pero sin dudas KVM está creciendo y en mis 2 años virtualizando servidores utilizando esta tecnología no he tenido complicaciones ni sorpresas.

...Continúa en el siguiente artículo que trata del uso de SPICE con libvirt en máquinas virtuales.


Tal vez pueda interesarte


Compartí este artículo