Virtualización en escritorios (II): Virtualbox

Tras la presentación de lo que es la virtualización de sistemas, sus ventajas y los casos de uso más habituales, voy seguir esta serie de artículos dedicada a la virtualización en escritorios con el repaso a las soluciones más populares existentes en el mercado. Para ello, empezaré con Virtualbox, una de las opciones más sencillas de instalar y utilizar.

Virtualbox fue originalmente desarrollado por la empresa alemana innotek GmbH, que lo vendió en 2008 a Sun Microsystems, terminando en manos de Oracle con el resto de activos de Sun (como Java, MYSQL, Solaris, etc.) cuando se produjo la famosa adquisición. Se ejecuta en los sistemas operativos más populares y en otros minoritarios, como el propio Solaris o FreeBSD, y es capaz de alojar a una ingente cantidad de sistemas virtualizados, incluyendo OS/2. Su instalación es tan sencilla como descargarse de la web oficial el instalador correspondiente al sistema operativo anfitrión de nuestra elección y proceder a su ejecución, tras lo cual hay que proceder también a descargar e instalar el «VirtualBox extension pack», que amplía las posibilidades del paquete original con soporte USB 2.0, RDP y arranque PXE. Sin embargo, en el caso de Debian es aún más sencillo como veremos más adelante.

La existencia del «VirtualBox extension pack» se debe a la especial licencia del software. En la actualidad, el núcleo de Virtualbox se distribuye bajo la licencia libre GPLv2, mientras que las características extendidas antes mencionadas sólo están accesibles mediante una licencia privativa para uso y evaluación personal. Esto convierte a Virtualbox en una opción muy asequible para usuarios domésticos y en entornos educativos, pero pierde enteros en entornos corporativos frente a soluciones completamente libres y, en lo referente a costes de licencias, gratuitas.

Virtualbox basa su funcionamiento en la virtualización completa (full virtualization), es decir, en la emulación al 100% de la plataforma hardware sobre la que corre el sistema huésped, de forma que éste nunca accede directamente a los recursos del hardware del anfitrión. Así, es posible instalar prácticamente cualquier sistema operativo sin modificar ni adaptar al entorno virtualizado, a cambio de una apreciable pérdida de rendimiento por la emulación por software del hardware. Sin embargo, los desarrolladores de Virtualbox han hecho un buen trabajo intentando que dicha pérdidad de rendimiento no sea tan grande, sobre todo gracias al uso del soporte de virtualización en hardware que los procesadores modernos traen de serie.

Como comentaba antes, la instalación en Debian es aún más sencilla que en otros sistemas gracias al uso de repositorios. Aunque Virtualbox está disponible en los repos oficiales, yo prefiero utilizar los que Oracle pone a disposición de los usuarios ya que así nos aseguramos tener siempre acceso a la última versión disponible. De hecho, a la hora de escribir este artículo, he comprobado que en Debian tenemos la versión 4.1, mientras que en el repositorio de Oracle contamos con la 4.2, publicada en Septiembre de 2012.

Empezamos por tanto la instalación añadiendo el repositorio oficial de Oracle a nuestra lista, bien a través del Centro de Software o bien editando directamente el fichero /etc/apt/sources.list, operaciones que sólo podemos realizar como administradores del sistema. Utilizaremos esta línea si usamos Squeeze:

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib

o bien ésta otra si usamos Wheezy:

deb http://download.virtualbox.org/virtualbox/debian wheezy contrib

Ahora actualizamos la base de datos de paquetes:

# apt-get update

Y procedemos a instalar Virtualbox:

# apt-get install virtualbox-4.2

Sólo queda darle permisos de acceso a Virtualbox a aquellos usuarios del sistema anfitrión que queramos. Para ello, basta con añadirlos al grupo de usuarios vboxusers, de forma que Virtualbox pueda ejecutarse con pleno acceso a los recursos que necesita cuando es invocado por dichos usuarios. Por ejemplo, si queremos darle permiso al usuario marco, lanzamos el siguiente comando:

# adduser marco vboxusers

Listo. Ahora invocamos Virtualbox desde el icono que se ha debido instalar en nuestros menús y debería aparecer una pantalla como ésta:

Virtualbox recién instalado

Virtualbox recién instalado

En el caso de que la licencia nos lo permita, podemos proceder entonces a instalar el «extension pack», que descargaremos previamente de la página de descargas de Virtualbox (una única descarga para todas las plataformas). Una vez hayamos cerrado Virtualbox, procedemos a la instalación del paquete como administradores con este comando:

# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack

Alguien me dirá que es más sencillo hacer un simple doble click sobre el fichero del paquete o instalarlo a través del menú de preferencias del propio Virtualbox (y no les falta razón), pero de este modo sólo se instala para el usuario que está instalando el paquete y no para todos los del sistema anfitrión. Además, desde línea de comandos tendremos acceso a cualquier error que se produzca y, aunque parezca increible, podremos actualizar el paquete, algo que no parece posible desde los otros métodos si no desinstalamos primero el existente.

Sólo queda crear nuestras propias máquinas virtuales a través del sencillo asistente que Virtualbox ofrece al pulsar el botón «Nueva» y personalizarlas a través del botón «Configurar», como se puede ver en la siguiente pantalla:

virtualbox1

Virtualbox con una VM creada

Como se puede apreciar en el pantallazo, tengo una máquina virtual (VM) ya creada basada en Debian y que tengo suspendida en plena ejecución, de forma que cuando la inicie seguirá corriendo por donde iba cuando se detuvo.

Un consejo a la hora de crear nuevas máquinas virtuales. El asistente nos preguntará por el almacenamiento de la VM, que debería ser en un fichero alojado en un dispositivo local (trabajar con VMs en red supone una enorme pérdida de rendimiento). Cuando nos pregunte por el tipo de asignación del espacio, debemos asegurarnos de que sea dinámico y no fijo, de forma que no perdamos en el disco físico todo el espacio reservado para la VM mientras no esté en uso.

Si además nos aseguramos de que en la configuración de cada VM estén activas las extensiones de virtualización del procesador, tendremos un sistema de virtualización completo y lleno de posibilidades para nuestro escritorio. Espero vuestras experiencias con Virtualbox.