Índice

Llegados a este punto, procederemos a crear la VM e instalar nuestro Windows, buscando el máximo rendimiento posible. Este punto es aplicable a cualquier VM que queramos instalar, utilizando KVM como hipervisor.

Lee el resto de esta entrada »

Anuncios

En este nuevo artículo voy a comentar brevemente algunos ejemplos de software de virtualización existentes en el mercado, centrándome en las soluciones de software libre, claro.

Recordemos que las máquinas virtuales son la forma de ejecutar un sistema operativo completo dentro de otro; nos olvidaremos de emuladores como, por ejemplo, wine.

En primer lugar, hemos de tener en cuenta cuál es el SO que utilizamos en nuestro equipo (el cual llamaremos sistema “host”), para tener claras qué opciones tendremos a nuestra disposición. También hemos de considerar si queremos virtualizar servidores (por seguridad, estableciendo barreras virtuales entre el servidor y la red, o bien por probar sistemas distribuidos), o bien sistemas de escritorio. En este post, me voy a centrar en sistemas de escritorio.

Sistemas Windows

Si lo que pretendemos es ejecutar un sistema Linux, Solaris, etc… (los hay que lo han conseguido incluso un MacOSX!) dentro de una máquina Windows, tendremos varias posibilidades:

  • VmWare.

    Ya hablé en otro post acerca de este software, y de las muchas posibilidades que nos ofrece en su versión libre. He de añadir que, a la versión VmPlayer, se ha unido, siempre en la familia “libre”, el VmServer, que nos permite acceder a las máquinas virtuales a través de una red, manteniendo en una máquina los ficheros necesarios y ejecutándola allá donde queramos. Por supuesto, también podemos ejecutarlo en modo local! La principal novedad de VmServer, es que siendo libre nos permite crear máquinas virtuales directamente, sin necesidad de editar el fichero de configuración a mano. Aún así, yo recomiendo descargar una versión de prueba de VmWare Workstation y crear, antes de que finalice la demo, las máquinas que vayamos a necesitar más adelante, y utilizar Player para trabajar con ellas.

  • VirtualBox

    La compañía Sun (http://www.virtualbox.org/) comenzó implementando una solución similar a VmWare Workstation, pero libre, y con todas las prestaciones necesarias para cualquier usuario. Posteriormente, implementaron una versión de pago, pero mantienen otra versión totalmente libre, VirtualBox OSE. Su rendimiento es excelente (sobre todo a partir de la versión 2), y hay que instalar en la máquina, una vez esté completamente instalado el Sistema Operativo, un juego de utilidades que se descarga en la web del fabricante en forma de imagen iso y que podemos instalar fácilmente desde la misma interfaz gráfica. Os animo a probarla, ya que es completamente libre (licencia GNU en su versión OSE)

  • Microsoft Virtual Server / Virtual PC

    Desde la página http://www.microsoft.com/spain/virtualserver/default.mspx, podremos obtener toda la información que busquemos acerca de la solución de virtualización implementada por Microsoft. Disponible sólo para Windows (obviamente) y Mac. Su funcionamiento y rendimiento son similares a VmWare, y es totalmente gratuita (Virtual PC, al menos). Obviamente, si lo queremos virtualizar es Windows sobre Windows (un XP sobre un Server, por ejemplo…) es una buena idea, pero para virtualizar Linux, tengo entendido que el rendimiento deja mucho que desear.

  • Parallels Workstation. Esta solución apareció primero como nativa de Mac, y posteriormente ha sido portada a Windows (e incluso a Linux). Existe una versión gratuita de prueba. Desconozco su rendimiento ya que nunca la he probado… os animo a ello!

  • Qemu.

    Este software libre apareció por primera vez para Linux, y ha sido portado, entre otros, a Windows. No dispone de interfaz gráfica por si sólo, pero hay un desarrollo independiente, qemu-manager, específico para Windows. Funciona muy bien para máquinas virtuales Linux, pero las máquinas de Windows dejan bastante que desear.

Sistemas Linux

Desde un entorno Linux, también tenemos un buen número de soluciones de virtualización.

  • VmWare.

  • VirtualBox

  • Parallels Workstation

  • Qemu/KQemu (Kqemu es un parche para el núcleo de linux que acelera la máquina virtual, de modo similar a como hacen las VMTools en VmWare)

  • Xen.

    Esta solución permite arrancar varios sistemas operativos en un mismo ordenador, utilizando un balance de carga y permitiendo un alto rendimiento (penalizaciones de un 2%, en contra del 20% que tendrían otras soluciones más “normales”. Un “problema” de esta tecnología es que necesita que el procesador tenga implementada (a nivel hardware) una capa de virtualización (Intel VT o AMD Pacífica).

  • Bochs (otra emulación Open Source)

  • KVM (Kernel Virtual Machine)

    Es una solución para implementar virtualización completa con Linux sobre hardware x86 o 64 bits. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. La idea de esto es, por ejemplo, ejecutar aplicaciones de 32 bits sobre un SO Linux de 64 bits, con un alto rendimiento. Se utiliza a través de Qemu.

  • MacOnLinux/ Basilisk / SheepShaver.

    Todos estos programas tienen en común la intención de emular sistemas Mac sobre x86. La versión más alta de MacOS que han logrado emular es la 9.0.4. Puede que MacOnLinux, corriendo sobre otro emulador (PearPC) sea capaz de emular MacOsX, pero está en fase alfa y es muy inestable y poco eficiente.

Sistemas MacOS X

Aunque no sea software libre, MacOSX tiene también su legión de incondicionales. Por supuesto, por muy contentos que estén con su Mac, habrá cosas de otros sistemas que echarán de menos… para ellos también hay soluciones:

  • VmWare.

    Por ahora se encuentra en fase Beta, y utiliza el nombre en clave Fusión.

  • VirtualBox.

  • Virtual PC de Microsoft

  • Parallels (por supuesto).

    Se dice de esta solución que tiene un rendimiento excelente…. como no tengo Mac, no he podido probarla!

  • Qemu for Mac (o q – kju).

    Solución derivada del proyecto libre Qemu, desarrollada específicamente para Mac.

  • MacOnLinux.

Uno de los retos que me he planteado es instalar MacOsX en mi PC (aunque sea a través de máquina virtual), pero tengo sólo un AMD64 normalito, de sólo un núcleo, y hasta que no tenga otra cosa creo que no lo intentaré… si alguien sabe algo acerca del tema, le invito a comentarlo aquí.

Lo primero, es definir claramente qué entendemos por máquina virtual (VM en adelante)

  • Es una forma de poder ejecutar aplicaciones de otro sistema operativo que de otro modo sería muy complicado utilizar. Por ejemplo, utilizaremos algunas aplicaciones de Windows como Visual Studio.
  • No es un emulador que intente aprovechar todas las características de la máquina física donde estamos trabajando, y permita ejecutar aplicaciones de otro sistema como un proceso más. Al contrario, es un entorno virtual que simula la ejecución de una máquina genérica, configurable hasta cierto punto, dentro de nuestro sistema operativo.
  • Una VM es como tener “un ordenador más dentro del nuestro”. En una misma VM podemos hacer lo mismo que podríamos con una máquina física, siempre teniendo en cuenta las limitaciones hardware. Por ejemplo, cosas que no podremos hacer sería utilizar aplicaciones 3D o acceder directamente al hardware del equipo… pero cualquier otro uso que queramos hacer de la máquina, lo tenemos a nuestra disposición. Tendremos que instalarle un Sistema Operativo para trabajar, por supuesto.
  • La VM es independiente de la máquina física: podemos copiar el fichero correspondiente a otro equipo y seguirá funcionando exactamente igual. Del mismo modo, la única forma de comunicarnos con la VM será a través de la red: la VM posee una tarjeta de red que está conectada con nuestra red local a través de la máquina física, y a través de esa interfaz podemos transferir información sin ningún problema.

Esta definición de VM es válida para entornos VmWare o similares (qemu, Ms Virtual PC,…), pero están apareciendo nuevos conceptos de diseño que revolucionarán este mundo y cambiarán totalmente la forma de trabajar con VM (Xen, Kernel Virtual Machine,…)

1.- Creación de la VM.

Una VM de vmware se compone, a nivel de usuario, de dos ficheros: uno que servirá como imagen del disco duro (.vmdk), y otro de texto donde almacenaremos la configuración de la VM (.vmx).

Hay varias maneras de crear una VM (obtener los dos ficheros necesarios) para VmWare.

  • http://www.easyvmx.com/. En ésta página podremos crear, totalmente on-line y de forma gratuíta, la VM que queramos. Simplemente, seleccionamos los parámetros necesarios (hardware incluído, tamaño de disco duro, SO que vamos a instalar dentro…). En esta misma página también encontramos VMs ya creadas previamente, así como archivos “disco duro” preparados para su uso, incluso algunas con SO ya preinstalados (por supuesto, SOs libres o gratuitos).
  • Qemu. Este software es otra solución de virtualización, totalmente libre y gratuita, disponible en los repositorios Debian. Los hay que la prefieren a VmWare, si bien ésta última está más extendida y es algo más cómoda de utilizar. Mediante este sofware, podemos crear sin problemas un fichero de imagen de disco duro para su uso con VmWare. Para utilizar Qemu, aquí tenemos un excelente tutorial: http://www.kriptopolis.org/qemu. Sin embargo, si lo que queremos es simplemente crear el fichero de disco duro y la VM para VmWare, aquí: http://diario-de-ubuntu.blogspot.com/2006/10/vmwarevmware-player.html, y aquí: http://www.vnunet.es/Laboratorio/Microconsultas/Inform%C3%A1tica_personal/Linux/20051221012, tenemos información más que suficiente para crear esos ficheros.
  • VmWare Workstation. Este software no es libre: para utilizarlo tenemos que registrarnos en la página de VmWare, http://www.vmware.com/es/, para que nos den una clave que sólo sirve durante un mes. Tiempo más que suficiente para crear las VM que necesitemos. Este software tendremos que descargarlo de todas maneras para optimizar nuestra VM, así que mas vale tenerlo en cuenta.
  • En la misma página de VmWare hay VM disponibles para su descarga, totalmente preparadas para su uso. http://www.vmware.com/vmtn/appliances/

     

2.- Arrancar y utilizar la VM

Para utilizar las VM creadas, utilizaremos el software VmPlayer, totalmente libre y gratuito, disponible para un montón de plataformas en la Web de VmWare, y en los mismos repositorios de Debian. También se puede instalar a través del script de instalación Automatix (http://www.getautomatix.com/).

Aquí encontrarás más información acerca de Ubuntu y VmPlayer:

http://www.guia-ubuntu.org/index.php?title=VMware_Player

VmPlayer presenta algún inconveniente que otro; entre otros, perderemos su uso si recompilamos el kernel de Linux. Para poder usar nuestras VM tras recompilar el núcleo, podemos probar a reinstalarlo o bien directamente probaremos suerte instalando VmWare Server, otro software de VmWare de código abierto que podremos recompilar y utilizar sin problemas en nuestro equipo. Para más información, tenemos el Google… 😉

3.- Instalación del SO.

Tenemos dos opciones a la hora de instalar el SO, si no está ya preinstalado, claro.

  1. A partir de un CD/DVD

  2. A partir de una imagen ISO.

A partir de un CD/DVD es bastante sencillo, se hace igual que con cualquier máquina: metemos el CD, arrancamos la VM (con VmPlayer), y procedemos a su instalación, como en cualquier otro equipo.

Cuando queremos hacerlo partiendo de una imagen ISO, tendremos que cambiar un par de cosas en el fichero de configuración (.vmx) :

En nuestro fichero de configuración tendremos unas líneas similares a éstas:

ide1:0.present = “TRUE”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “atapi-cdrom”
ide1:0.autodetect = “TRUE”

Tendremos que cambiarlo por:

ide1:0.present = “TRUE”
ide1:0.fileName = “Ubuntu610.iso”
ide1:0.deviceType = “cdrom-image”
ide1:0.autodetect = “TRUE”

Y ya tendremos preparado el sistema para que el CDROM sea el correspondiente a la imagen ISO que hemos puesto, en este caso, “Ubuntu610.iso”. Por supuesto, si queremos arrancar desde el CD, entraremos en la BIOS en nuestra VM (tecla F2 al arrancar) y cambiaremos los dispositivos de arranque. Después de instalar, volveremos a poner nuestra unidad de CD como estaba, cambiando de nuevo el fichero vmx.

4.- Optimización de nuestra VM

Llegados a este punto, ya tendremos nuestra VM funcionando, pero encontramos algunos defectos:

  • El ratón no va todo lo bien que debería.
  • La resolución no es muy buena.
  • Cuando queremos cambiar de la VM a nuestro equipo, tenemos que pulsar CTRL+ALT siempre, y se hace un poco pesado.
  • El acceso a las unidades compartidas a través de la red no será facil.

Para corregir estos defectos, y algunos más, tendremos que instalar las VmTools. Este software viene incluido con VmWare WorkStation, y es necesario para que podamos usar con cierta soltura nuestra máquina virtual. Hay dos formas de instalar este software:

  • Si habíamos instalado WorkStation, a través de menús podremos activar la opción adecuada. Cuando lo hagamos, encontraremos un CD en nuestra VM que contendrá las VMTools para su instalación. Las instalamos y ya tendremos a punto nuestra VM.
  • Si no habíamos instalado WorkStation, lo descargamos en versión “tar.gz”, lo descomprimimos, y buscamos la carpeta “vmware-distrib/lib/isoimages”. En esa carpeta tenemos las vmtools en imágenes iso de cds. Copiamos la imagen iso al directorio donde tengamos la VM, cambiamos el fichero .vmx para que acepte esa iso, y cuando arranquemos instalamos el software del CD.

Federico Martínez Pérez

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.