Virtualización

 

 

   
     

Es una de las últimas técnologías informáticas que permiten optimizar los recursos y ganar disponibilidad mediante la virtualización de servicios o recursos hardware. Las CPUs modernas ya incorporan extensiones destinadas a facilitar dicha virtualización y que la pérdida de rendimiento sea mínima ... cuando mínima es inferior al 3% sobre el recurso real.

Es probable que te haya sucedido el tener una avería grave en el ordenador que controla el observatorio, tener que comprar uno nuevo ... y lo que casi es peor ... tener que volver a instalar todo desde cero. Son muchas, muchas horas de trabajo. En otras ocasiones no nos atrevemos a probar una nueva versión de software o drivers por miedo a que luego no funcione y no tener marcha atrás.

La tecnología de virtualización te permitirá poder desplegar tu sistema informático del observatorio ejecutando sobre una máquina virtual (guest) en cualquier ordenador físico (host), independientemente de la CPU, placa base y dispositivos que tenga. Replicar una máquina virtual no implica más que copiar un directorio del sistema real. Podrás jugar con la copia, y si no te gusta el resultado, simplemente lo borras. Y para hacer un backup ... pues te copias a un disco externo el directorio correspondiente a la máquina virtual y listo. Incluso podrás tener replicado tu máquina  del observatorio en más de un ordenador.

Esta tecnología no es sencilla ni trivial, pero intentaré explicarte paso a paso el proceso a seguir para utilizarla. Aunque no pretendo elaborar una guía paso a paso, pues el tema da para muchas páginas, y se requieren unos conocimientos en informática nada triviales.

 

HOST

Hablemos primero de la máquina física (host) que utilizaremos como plataforma de virtualización.

Aunque lo primero sea pensar que necesitamos una máquina con muchos cores, la verdad es que lo realmente crítico es disponer de suficiente memoria, y cuanto más rápida mejor. Las CPUs suelen estar bastante ociosas, y además, se comparten entre la máquina real y la máquina virtual. No ocurre lo mismo con la memoria, que generalmente se le asigna una zona en exclusiva para cada una de las máquinas, y por lo tanto no se comparte.

En mi caso, que sólo suelo arrancar una única máquina virtual, monté un procesador Intel Pentium G2120 3.1GHz (tecnología de 22nm, y por tanto bajo consumo) con 8 GB RAM DDR3 en una placa Mini ITX DH67CFB3.

A pesar de usar Windows de 64 bits, y aunque el número de programas que usamos en un observatorio automatizado no es despreciable, una máquina con 4 GB de RAM es más que suficiente. Considerando que el sistema real (host) correrá un sistema operativo Linux, del que procuraremos desactivar todo el entorno gráfico de usuario que no utilizaremos, y que con 2 GB de RAM irá sobrado. Tenemos que aún nos quedan de margen otros 2 GB de RAM ... que en caso de necesidad podremos asignar a la máquina virtual.

 

¿Qué Linux instalamos en el host?

Pues cualquiera que sea ligero. Cualquier versión server nos valdrá. En mi caso utilizo Linux Debian 7 con interfaz gráfico XFCE (ligerito) al que he instalado XRDP, lo que me permite conectarme a él usando el protocolo de escritorio remoto de Microsoft (más ligero). Aunque usaremos esta vía de conexión sólo en la fase de configuración.

También hay que instalar SSH y NTP. El primero para establecer sesiones no gráficas con el host, y el segundo para garantizar que la máquina real y las virtuales tengan ajustado el reloj con la suficiente precisión.

 

¿Qué herramienta usaremos para virtualizar?

Inicialmente pensé en utilizar VirtualBox, porque lo había usado para otras aplicaciones y porque es gratuito. Pero descubrí con desagradable sorpresa que no gestiona muy bien el tema de los dispositivos USB (al menos la versión que probé en su momento), sobre todo se pegaba de tortas con las cámaras fotográficas.

Cuando estaba a punto de tirar la toalla con este proyecto, se me ocurrió probar con VMWare Player 5.0.2, que es gratuito para uso no comercial. ¡Fantástico!

En el host tendremos que instalar VMware Player for Linux 64-bit (VMware-Player-5.0.2-1031769.x86_64.bundle)  y VMware VIX API for 64-bit Linux (VMware-VIX-1.12.2-1031769.x86_64.bundle), lo que nos permitirá arrancar las máquinas virtuales sin necesidad de utilizar en interfaz gráfico.