Creación de una máquina virtual

Lo primero, es lo primero

Antes de atacar el objeto de este capítulo, que es la creación de una máquina virtual (MV en adelante), no estaría de más asentar el concepto de qué es una máquina virtual y para qué nos puede servir. De poco ayuda que te expliquen cómo se instala algo si desconoces el provecho o la utilidad que ese algo te puede dar, ¿no?

Tirando de la Wikipedia, «En informática una máquina virtual es un software que simula a una computadora y puede ejecutar programas como si fuese una computadora real.», y las hay de dos tipos: las MV de sistema y las MV de proceso. En este capítulo nos centraremos en las primeras, las de sistema, que son las que permiten a una máquina física multiplexarse en varias máquinas virtuales donde cada una ejecuta su propio Sistema Operativo (SO en adelante). Aquí la palabra clave es el hecho de la multiplexación, que no subdivisión, es decir, el uso de los mismos medios o recursos de tu máquina entre distintos SO.

Bueno, vale, ¿y en palabras más al uso de los mortales? Pues imagínate un gran local en el que se celebran, por ejemplo, bodas y comuniones. Físicamente es un local único, pero puedes celebrar simultáneamente distintos eventos. Existen unos únicos lavabos, a disposición de los distintos eventos; existe una única cocina, a disposición de los distintos eventos; existen un número limitado de camareros, a disposición de los distintos eventos… Aquí de lo que se trata es de gestionar convenientemente los recursos que son compartidos, y de garantizar que cada evento se celebra de forma aislada en su propio recinto, no sea cosa que la novia acabe ocupando el lugar del bebé recién bautizado 😉

Bien y, como usuario que soy de un ordenador en casa, o en la oficina, ¿de qué me sirve esta cosa tan friki de las MV? Pues vamos a poner algunos ejemplos para que puedas verte reflejado en alguno de ellos y, así, podamos encontrarle la utilidad específica de cada uno:

  1. ¿Eres usuario de Windows y te sientes atraído por el lado oscuro de Linux? ¿Quieres probar un nuevo SO o nueva versión del que tienes antes de dar el paso definitivo a la migración de tu maquina a ese SO? Tener que particionar el disco y arrancar desde un ‘boot loader’ como GRUB, sin saber si la cosa va a cuajar, es un peñazo. Tendrás que reiniciar el equipo cada vez que cambies de un SO a otro y deshacerte de la partición si quieres recuperar el estado anterior en tu maquina. Montar una MV es la solución más limpia y fácil para probar nuevos SO.
  2. ¿Eres usuario de un SO como Linux y hay algún programa, como Hofmann o Filemaker, que no existe para ese SO? Ese es mi caso. A veces se soluciona con Wine (en Linux), pero no siempre. Lo mas adecuado es disponer de una MV con un Windows o un OSX que te permitirá ejecutar esas aplicaciones «exclusivas» para un SO que no es el de tu máquina, sin tener que adquirir otra.
  3. ¿Necesitas probar software, adquirido o desarrollado por ti, en distintos SO para ponerlo en producción con garantías en diversas plataformas? ¿Quieres probar un software sin que la prueba afecte a tu SO estable y bien afinado? Con la MV puedes tener todos esos SO en la palma de tu mano para probar sin jugártela.
  4. ¿Necesitas ejecutar diferentes servicios o aplicaciones para distintas plataformas a la vez y no quieres gastarte una pasta en hardware? Adquiriendo una máquina potente sobre la que instalar diversas MV ahorrarás un buen dinerito.

Manos a la obra

Los mecanismos de descarga e instalación dependen del sistema operativo (SO en adelante) que uses, y varían considerablemente. En este artículo nos centraremos en la instalación en una máquina Linux, concretamente Ubuntu (en mi caso la versión 13.04).VirtualBox puede ser instalado directamente desde el Centro de Software de Ubuntu, así que nos basaremos en el contenido del repositorio oficial de Canonical para realizar la instalación y cualquier posterior actualización, que es la manera más «user friendly» para llevar a cabo instalaciones, actualizaciones y desinstalaciones.¿Necesito algo previamente para poder empezar? Fácil, no.

Instalación del software de virtualización

Antes de iniciar la instalación en Linux, o cualquier otro SO, asegúrate de que tienes configurada la BIOS para que VirtualBox no te dé problemas a la hora de instalar el SO invitado (me he pasado horas sin saber porqué no conseguía instalar ningún SO en la máquina virtual y, al final, ha sido esta «pequeña» tontería). Accede a la BIOS y activa, si no lo están ya, los siguientes parámetros:

  • VT-d o Intel Virtualization Technology for Directed I/O: es una característica de virtualización de Input/output memory management unit (IOMMU) que mapea direcciones de memoria virtuales a direcciones de memoria físicas. Si tienes un procesador AMD, lo encontrarás bajo el nombre de AMD-Vi
  • Intel Virtualization  Technology, VT-x, o también llamado Vanderpool Technology: es una característica en la virtualización para máquinas x86 que permite que distintos SO compartan simultáneamente un procesador x86 de forma segura. Si tienes un procesador AMD, lo encontrarás bajo el nombre de AMD-V.

NOTA: Por favor, si tu BIOS te permite activar estas características, no te saltes este paso tengas el SO que tengas!!! A mí me ha sido imposible hacer nada hasta que activé ambas.

Tras este previo, empezamos. Desde el Centro de Software de Ubuntu, localizamos VirtualBox y lo instalamos.

Captura-de-2013-07-24-13-253A40-253A28

Arrancamos VirtualBox pulsando sobre su icono.

Captura-de-2013-07-24-13-46-22

Pulsamos sobre el botón Nueva para crear una máquina virtual y completamos los campos. Debemos estar muy atentos a la hora de seleccionar correctamente el SO y versión (ojo con los 32 y 64 bits) que vamos a alojar en la MV.

Captura-de-2013-07-24-13-51-18

Asignamos la RAM que le vamos a dar a esta máquina (os recomiendo que le deis suficiente o, de lo contrario, la MV irá más lenta que el caballo del malo, pero tampoco os paséis o vuestro PC no tendrá suficiente para que el SO que hospeda -anfitrión- al SO huésped -invitado- pueda ejecutarse con fluidez). Recordad que la RAM se suele asignar según potencias de 2, es decir que si vais a darle 4GB de RAM a la MV lo suyo sería escribir 4096MB, o sea, 4GB * 1024MB, o sea 2^12).

Captura-de-2013-07-24-13-53-53

A la pregunta de si queréis crear un disco virtual, le decís que sí; se trata de un fichero físico en vuestro PC que que hará las veces de disco duro de la MV. Dejáis todas las opciones marcadas por defecto. Si lo hacéis así, el disco duro virtual irá adquiriendo mayor tamaño a medida que el SO invitado lo requiera, garantizando así que no le asignas un espacio excesivo que después no vas a utilizar ni en tu MV ni en el sistema que anfitrión.  Finalmente pulsáis sobre el botón Crea.

Captura-de-2013-07-24-13-54-37

Captura-de-2013-07-24-13-55-09

Ya tenéis vuestra MV lista y en disposición de ser parametrizada un poquito más antes de arrancarla definitivamente.

Captura-de-2013-07-24-14-00-05

Parametrización de la MV

Piensa que ahora tienes un solo hardware que va a ser usado por tu SO anfitrión y tu SO invitado -ejecutándose en la MV-. Así pues, los recursos físicos disponibles en tu PC van a ser usados por ambos. ¿De qué recursos estamos hablando? Pues no solo se trata de la memoria RAM, que ya hemos asignado en pasos previos; se trata de tu lector/grabador de CD/DVD, de tus lectores de tarjetas SD, MMC, MS, de tus puertos USB donde posiblemente tienes conectado un disco duro externo y que seguro que también quieres usarlos con tu MV y, sobretodo, de tu conexión a la red, ya sea por cable o por WiFI. Vamos poco a poco configurando cada uno de estos recursos compartidos.Para el DVD, accedemos al punto etiquetado como «almacenamiento». Ahí verás que ya se da por sentado que tu disco duro, y más concretamente el fichero del disco virtual, es un recurso usado por tu MV. Si seleccionas el «Controlador IDE» podrás parametrizar la MV para usar el CD/DVD. Te recomiendo que establezcas lo siguiente:

  • En el icono desplegable con un CD selecciona «Dispositivo anfitrión …» donde los «…» es el nombre con el que VirtualBox reconoce a tu reproductor CD/DVD.
  • Dispositivo CD/DVD = IDE Primario Esclavo
  • Passthrough = Sí (marca la casilla)

 

Captura-de-2013-08-05-11-05-44

Para la red, accedemos al punto etiquetado como «Red». Aquí debes ser consciente de que puedes compartir tu tarjeta de red, tu adaptador de red inhalámbrico, o ambos. Fíjate que tienes distintas pestañas para que puedas configurar los que necesites. Asegurate de establecer cada adaptador que vayas a usar en una pestaña diferente. En mi caso voy a configurarlos a ambos (eth0 y wlan0). Haremos lo siguiente:

  • Asegúrate de que está marcada la casilla de «Habilita el adaptador de red»
  • Conectado a = Adaptador puente
  • Nombre = eth0 (para la tarjeta de red) wlan0 para él adaptador inhalámbrico

Captura-de-2013-07-24-14-02-55

Captura-de-2013-07-24-14-03-06

¡Ala, ya está! ¿Hemos acabado? Nooooooooooo. Ahora nos falta instalar el SO invitado en la MV que has creado. Ah, pero… ¿y lo de los puertos USB? ¿Es que no hay que configurarlos? Tranquilos, aún no es el momento.

Instalación del SO cliente

¿Cómo instalaste el SO de tu PC? Pues no hay mucho más misterio… Introduce el CDROM con el SO a instalar en tu MV. Pulsa sobre el botón Inicia. La MV se arrancará como si fuese tu PC (pero sin el mensaje de la BIOS) y se iniciará el proceso de instalación del SO que hayas escogido. Ahí ya te dejo solo, pues se trata de instalar el SO escogido por ti.
Una vez finalizada la instalación, comprueba que tienes red; si no es así, algo habrás configurado mal. Por cierto, no te preocupes si no puedes ejecutar tu MV a pantalla completa o no tienes acceso al disco USB que tienes permanentemente pinchado; estas facultades se habilitan en próximos pasos.

Instalar Guest Additions

Si has arrancado tu MV te darás cuenta de que hay algo que te causa cierta preocupación: ¿por qué no puedo ver mi SO invitado a pantalla completa? ¿cómo narices puedo compartir documentos entre anfitrión y huésped -porque lo cierto es que entre sus estructuras de disco no hay visibilidad-? Viene a salvar estos problemas las ‘Guest Additions’.
Las ‘Guest Additions’ es un paquete de software que forma parte de VirtualBox para mejorar el rendimiento de la MV y añadir nuevas funciones. Consisten en una serie de controladores (drivers) y aplicaciones para el sistema virtualizado que lo optimizan para un mejor rendimiento y usabilidad. Debe instalarse en cada una de las máquinas virtuales, de manera que si tienes más de una, hay que hacerlo en todas ellas. Cuáles son las mejoras que ofrece no va a ser objeto de este artículo.
Para instalar este paquete debemos seleccionar Dispositivos -> Instala Guest Additions desde el SO invitado, así que debes haber arrancado tu MV antes. Dile que sí cuando te pregunte si las quieres descargar y también a si quieres montar el disco imagen (iso) cuando lo haya descargado. Di que sí cuando la VM te pregunte para reiniciar.

Captura-de-2013-08-05-13-20-32

Captura-de-2013-08-05-13-24-41

Captura-de-2013-08-05-13-25-51

Aquí ves como la carpeta compartida de mi Ubuntu está accesible en la MV Windows. Para llegar a este punto tenemos que hacer alguna cosilla más…

Captura-de-2013-08-05-14-41-19

Para configurar la carpeta compartida, una vez instalado este paquete de software, accedemos al punto etiquetado como «Carpetas compartidas» en VirtualBox. Haremos lo siguiente:

  • Le damos al botón con un icono que es una carpeta con un signo más (‘+’) superpuesto.
  • Indicamos la ruta de nuestro disco duro donde tenemos ubicada la carpeta que queremos usar como carpeta compartida.
  • Otorgamos un nombre a dicha carpeta o dejamos el que se nos presenta.
  • Marcamos «Montar automáticamente»

Captura-de-2013-07-24-14-06-13

Captura-de-2013-07-24-14-07-04

Instalar Extension Pack

Este paquete te permitirá ampliar las funcionalidades de VirtualBox, especialmente la que ahora mismo más nos interesa, que es poder usar los puertos USB para conectar unidades de almacenamiento externo o usar los lectores de tarjetas.
Para la instalción, lo primero es ir a http://download.virtualbox.org/virtualbox/ y decargar el archivo con nombre «extension pack» de tu versión de VirtualBox (en mi caso la 4.2.10).

Captura-de-2013-08-18-11-49-34

imgvbox

Con VirtualBox sin arrancar, ejecuta el archivo que has descargado y pulsa sobre el botón Instalar

Un último paso

En el caso de Linux (no he probado en otro SO huésped), y por aquello de que en Linux la seguridad es un factor muy a tener en cuenta, para poder usar los puertos USB hay que dar un paso más, que es el de añadir al usuario dentro de un grupo especial que VirtualBox crea y que se denomina ‘vboxusers’. Existen diversas formas de hacerlo, y la más directa es editar el archivo de sistema que contiene dicha información, pero lo haremos de forma más sencilla y menos ‘friki’.

Abre el gestior de cuentas de usuarios y grupos. Para ello tendrás que tener instalado el paquete gnome-system-tools. Si no lo tienes instalado, desde el terminal teclea sudo apt-get install gnome-system-tools. Una vez finalizada la instalación, localiza el programa de gestión de usuarios y grupos (desde el HUD es inmediato) y ejecútalo.

Pulsa sobre el botón Gestiona los grupos, localiza el grupo ‘vboxusers’ y pulsa sobre el botón Añadir. Marca ahora todos los usuarios de Ubuntu que desees añadir dentro de este grupo.

Captura-de-2013-08-18-12-16-39

Captura-de-2013-08-18-12-16-53

Captura-de-2013-08-18-12-17-24

Haz un log-off y vuelve a hacer un log-in (con ello conseguimos que cargue toda la nueva configuración de grupos y usuarios)

Ahora sí podemos ya configurar qué dispositivos USB compartiremos entre los distintos SO. Accedemos al punto etiquetado como ‘USB’ y, simplemente vamos pulsando sobre el botón con el ‘+’ para ir añadiendo los dispositivos USB a ser usados por tu SO invitado.

Captura-de-2013-08-18-12-26-09

NOTA: todo dispositivo que es usado por el sistema invitado vía la MV deja de ser accesible desde el sistema anfitrión. Si tu MV es un Windows con antivirus y lo has configurado para que analice todo dispositivo USB que pinches en él, tardará un poco en montarse el disco USB externo. Paciencia… es un Windows.

That’s all folks! ¡Espero que os resulte útil!

2 comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.