QEmu

Hace unas semanas apareció un famoso parche de 200 líneas para Linux que permite acelerar notablemente nuestras aplicaciones de escritorio. El gran Jesusda recogió en su bitácora cómo podemos aplicarlo y me animé a probarlo, con tan mala suerte que libvirt me dejó de funcionar y tuve que aprender a manejarme directamente con QEMU.

QEmu es un emulador/virtualizador OpenSource que principalmente uso para ejecutar sistemas Windows sobre Linux. QEmu se comporta como virtualizador cuando ejecutamos sistemas operativos x86 sobre hardware x86 y se comporta como emulador cuando ejecutamos sistemas operativos no x86 (ARM, PPC, etc) sobre hardware x86. Además el rendimiento mejora cuando lo usamos con KVM (Kernel-based Virtual Machine).

KVM es un módulo del kernel de Linux (kvm.ko) y el conjunto de herramientas asociadas para proveer una solución de virtualización completa con Linux sobre hardware x86, dado que aprovecha las extensiones de virtualización de la CPU (vt/svm instructions set), Intel-VT y AMD-V. Al ser un módulo del kernel el hypervisor puede usar el gestión de CPU y memoria propia del Kernel y ser más ligero y sencillo, a diferencia de XEN. KVM no soporta paravirtualización de CPU aunque sí para los drivers de dispositivos mejorando con ello el rendimiento.

Para usar QEmu lo primero que se necesita es una imagen para almacenar los datos persistentes, lo que sería nuestro disco duro :P. Esto lo hacemos con el comando qemu-img y podemos generar dos tipos de imagen:

  • raw Sin compresión. Puede exportarse a otros formatos.
  • qcow2 El mejor. Crece conforme se va llenando.

Podemos crear un nuevo fichero de imagen ejecutando:
qemu-img create -f qcow2 windows.img 10G

Para copiar el contenido de un archivo de imagen a otro:
qemu-img convert -f qcow2 original.img \
-O qcow2 nuevo.img

Para iniciar una nueva máquina virtual montando una ISO y que arranque con 512MB RAM desde el CD-Rom podemos usar:
qemu -enable-kvm  \
-cdrom MiSistema.iso \
-hda discoDuro.img \
-m 512 \
-boot d

No hay comentarios: