Qemu – Disponer de varias máquinas virtuales de pruebas

El motivo de disponer de varias máquinas virtuales con diferentes sistemas operativos puede ser que necesitemos trastear con sistemas y no queremos cargarnos el que estamos usando.
Otros de los motivos pueden ser tener siempre una copia de una máquina virtual con una instalación por defecto del sistema operativo.

Disponer de una máquina con lo mínimo por ejemplo puede ser de utilidad para documentar como compilar algún programa en alguna distro y de ese modo saber que dependencias se han de instalar y que no nos pase que nos olvidamos algunas si por ejemplo ya habíamos instalado esa dependencia para compilar otro programa.

Sea cual sea el motivo qemu es de mucha utilidad y nos permitirá con pocos conocimientos manejar diferentes máquinas virtuales de estas de andar por casa.

# Instalar qemu

En distros basadas en Debian se puede así:

$ apt-get install qemu

# Nos bajamos la iso de la distro que queremos instalar en la máquina virtual

$ wget "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.3.0-amd64-netinst.iso"

Mientras se va bajando podemos ir ya preparando la imagen que deseamos, es decir, vamos a usar la iso de la distro para instalarla en una imagen.

# Tipos de imágenes que soporta qemu

Qemu soporta bastantes tipos de imágenes (raw por defecto, cloop, cow, qcow, qcow2, vmdk, vdi, vhdx, vpc, …) pero la ideal por ser nativa y bastante flexible es qcow2. Esa es la que vamos a usar con la herramienta qemu-img no obstante si te interesa por algún motivo otro tipo pues usa otro tipo.

vmdk se usa por tema de compatibilizarlo con vmware y vdi se usa para compatibilidad con virtualbox.

# Creación de una imagen con qemu-img

Vamos a crear una imagen llamada debian.qcow2 de 8Gb . No ocupará 8Gb hasta que no lo llenemos.

$ qemu-img create -f qcow2 debian.qcow2 8G

# Ya tenemos la iso de la distro y una imagen qcow2 que espera que le instalemos allí algo

La iso que hemos bajado es para amd64 de modo que lo ejecutaremos para que arranque desde cdrom así:

$ qemu-system-x86_64 -m 1G -enable-kvm -cdrom debian-9.3.0-amd64-netinst.iso -hda debian.qcow2 -boot d 

-m 1G indicará 1Gb de RAM. Si queremos por ejemplo 512Mb indicaríamos -m 512M

Hemos de tener en cuenta que qemu permite un montón de infraestructuras y que aunque hace unos años se ejecutaba simplemente como qemu ahora cada infraestructura tiene su comando. En el caso de amd64 usaremos qemu-system-x86_64.

Si todo va bien ya podemos comenzar a instalar debian en esa imagen. Cuando termine podemos apagar la máquina virtual y lanzarla de nuevo sin la opción de cdrom. Si todo va bien apagamos y nos la guardamos como imagen de debian recién instalada.

Y así con otras distros es el proceso. Un trabajo de muchas horas que podemos ir guardando en un disco externo, pendrive, tarjeta sd, … para disponer de estos sistemas limpios cuando toque.

# Liberar el ratón de la ventana de qemu

Eso se hace pulsando control+ alt

# Ventana completa

Esto no mola mucho ya que quizás veamos desproporcioando todo el tinglado. Pero se puede hacer con alt+f10 y quitarlo con lo mismo. De todos modos eso funcionará una vez liberamos el ratón de la ventana.

# Usuarios y claves

Cuando instalemos las imágenes si por algún casual podríamos compartirlas con alguien mejor dejarlas con un usuario llamado usuario y claves sencillas que recordemos y podamos compartir.

# ¿Que utilidades se le pueden dar a estas máquinas?

De primeras podemos compartirlas con alguien, es decir, podemos por ejemplo dejar en una imagen instalado un software especifico que requiera de bastante jaleo para compilarse y ejecutarse. Podríamos tener de ese modo todo el tinglado preparado para ser compartido.

Esto al mismo tiempo es de utilidad para ver el proceso de instalación de una distro sin tener que hacerlo sobre una máquina real. Al hacerlo de forma virtual no corremos mucho riesgo.

Es posible repartir máquinas con un software especifico que va a usarse en algún curso, taller, etc…

próximo Publicación

Atrás Publicación

8 Comentarios

  1. victorhck 29 enero, 2018

    y entiendo que borrando el archivo .qcow2 borramos todo rastro de dicha imagen?

    Siempre quise probar qemu…

    Saludos!

    • mierda 29 enero, 2018 — Autor de artículo

      En realidad no solamente borrando algo se borra pero si. Lo bonito es que te copias la imagen sin nada y tienes la distro recién instalada siempre.

      Luego puedes tener por ejemplo una debian con kde, otra con gnome, otra con i3, …
      Una gentoo recién montada, etc…

      Y puedes ejecutarlas con más o menos RAM por ejemplo. Qemu es buena cosa.

      Algo que me maravilla es que no se ciñe a soportar virtualizar arquitecturas rollo i386 o x86_x64, … te permite arm, m68k, … con lo cual puedes virtualizar por ejemplo raspbian, android o incluso amigaOS versiones para micros motorola.

  2. Zagur 29 enero, 2018

    Wow! Me encanta lo bien explicado que está! Siempre he querido usar Qemu pero nunca me llegó a funcionar del todo. Igual es que usaba una GUI…. XD Luego en casa cacharrearé un poco!

    Saludos!
    Zagur

  3. Indian 1 febrero, 2018

    Y si tenemos más de una cpu en el procesados podemos asignar varias para que vaya más rápido con la opción -smp cpus=2 por ejemplo para tener dos.

  4. Indian 12 febrero, 2018

    El otro día en el planeta fedora publicaron un artículo sobre virt-builder una forma de obtener imágenes de internet, en debian las saca de libguestfs.
    https://lukas.zapletalovi.com/2018/02/hidden-gem-of-fedora-virt-builder.html
    http://libguestfs.org/

    • mierda 12 febrero, 2018 — Autor de artículo

      muy muy muy interesante :). Por lo que veo tiene un listado de imágenes muy extenso. Justo estaba necesitando algo así. Gracias.

    • mierda 12 febrero, 2018 — Autor de artículo

      Crema :). Ando probando.

      # apt-get install libguestfs-tools
      $ virt-builder fedora-27 –size=10G –root-password password:redhat
      $ qemu-system-x86_64 -m 1G -enable-kvm -hda fedora-27.img -boot d

Dejar una contestacion

© 2018 [ MIERDA TV ]

Tema de Anders Norén