lunes, 19 de mayo de 2008

Mi Virtual Machine (Parte 1)

JKS [jksware@gmail.com]

Se te podrá romper la PC, actualizarle el micro, board y memoria, mudarla incluso de lugar, cambiar su sistema operativo o cualquier otra modificación posible, pero no conservarás para siempre la misma máquina. Sin embargo, existe una forma muy rara de poseer una máquina con disco duro, memoria, CPU o CPUs, adaptadores de red, sin ni siquiera tener una propiedad legal de la misma y que dure para siempre. No estoy hablando de montar un ejército de máquinas fantasmas en nuestros centros laborales que “ejecuten a distancia” las órdenes que cómodamente les damos desde nuestras casas, no. En este caso me refiero a una tecnología en desarrollo que ha adquirido gran popularidad y que permite no montar una, sino cuantas PCs sean necesarias siempre y cuando se cuenten con los recursos mínimos necesarios: me refiero a la virtualización.

ARQUITECTURA DE UNA MÁQUINA VIRTUAL

Si bien no todos poseemos un 1 GB de RAM y un microprocesador de 64 bit, necesarios para acometer limpiamente la tarea que les presento a continuación – en que nos concentraremos en buscar un software necesario para “virtualizar” una PC, y configurar algunas de las “medidas” que trae por defecto – si podemos aventurarnos a hacerlo si nos limitamos de “sobrecargar” con programas y procesos inútiles a ambas computadoras, la host (anfitriona) y la guest (invitada).

Lo mínimo indispensable que podemos hacer para “correr” con la velocidad adecuada una máquina virtual es limpiar de desperdicios el sistema operativo de la hospedera. Nuestro objetivo es que cuando veamos la gráfica de memoria física ambas ocupada y disponible, dependiendo por supuesto del sistema en que estemos trabajando, y de aquel que se quiera virtualizar, nos sobren al menos 32 MB de RAM; para cada configuración de máquina hospedera/virtual se podría hacer un análisis más detallado, pero depende principalmente de los requerimientos mínimos que tengan ambos, contando, por supuesto, que casi siempre los mismos están muy por debajo – y me refiero sobre todo a Windows – de lo que realmente se consume cuando ya lleva un tiempo instalado y usándose activamente.

El otro parámetro mesurable se refiere a la velocidad de cálculo general que dispongamos en el sistema madre, esto es la frecuencia de nuestro CPU y placa base, además de la existencia o no de un GPU que pueda soportar la carga de memoria en texturas y ventanas que requiere llevar dos o más sistemas operativos a la vez, ambos conteniendo sistemas gráficos de ventanas o un “desktop manager”, como por ejemplo podría ser el Aero de Vista y el KDE 4.0 de GNU/Linux. Se recomienda reiteradamente disminuir al mínimo toda clase de efectos visuales que pueda aminorar el rendimiento general de ambos sistemas, de ser posible al contar con poca memoria, trabajar el sistema virtualizado – en caso de ser Linux – en modo texto o de consola, con lo que este ocupará como máximo unos 32 MB en caso de desempeñarse como máquina cliente (Workstation) o unos 64-128 MB de estar corriendo cualquier tipo de servidor, dígase Apache en Linux/Debian.

SOFTWARES DE VIRTUALIZACIÓN

A los que alguna vez se han atrevido a probar el Knoppix o aquellos que ya tengan un GNU/Linux instalado, sabrán que *sí* existe una manera de ejecutar el Starcraft o el Photoshop en ambiente Unix. Esta manera tiene nombre y se llama WinE.

WinE no es el clásico software de virtualización, en la medida de que no emula una máquina virtual de pies a cabeza, es decir, desde los parámetros del BIOS hasta el cursor del sistema operativo, sino que se conforma con abstraerse de las ventanas, interrupciones y demás para contentarse únicamente con la emulación del sistema de directorios de DOS en ambiente Unix y la carga en memoria de algunas DLL fundamentales del sistema. Ambos cambios se pueden representar como la intervención de la ruta archivos de los programas, como cuando el Photoshop pida abrir un archivo – y ya que no entiende que quiere decir /mnt/hda0/ - tendrá entonces que intervenir el WinE y decirle que esto es disco primero/partición primera, o lo que es igual, C:/. Pero WinE es muy específico en cuanto a lo que permite hacer, por las mismas características que tiene: el programa que siempre corre bajo Linux no monta el Windows – de hecho este es el único sistema que permite – sino que lo emula. Las diferencias parecen ser bastante obvias releyendo el párrafo anterior.

Para satisfacer entonces las necesidades de virtualización, que no existían antes de que se produjera y comercializaran estos software, sino que vinieron después tal cual un vicio pero no por eso dejan de ser menos importantes, surgieron programas como VMWare, cuyo nombre es un combinado de Virtual Machine Ware, que significa algo así como Hardware de la Máquina Virtual, por llevarlo a términos entendibles, aunque ware en verdad se refiera en este caso a ambas partes lógicas que componen una máquina cualquiera, emulada o no, el hardware y el software.

Aunque VMWare es propiedad de VMWare, Inc, existen estrechos vínculos con la familia Microsoft por existir serias áreas ocultas dentro del software del último, que no son reveladas a demás compañías, pero que sin embargo permiten que un software emule mejor o peor los sistemas operativos. Estoy sin duda hablando de backdoors inexplorados dentro de Windows. Microsoft a su vez creó un software que permite virtualizar con mucho menos opciones que VMWare claro está, pero que no tiene relevancia alguna, excepto que es gratuito y que puede ser descargado desde la página de descargas oficial de Microsoft.

Existen otros softwares – comerciales o no – como VirtualBox, pero que dejan mucho que desear en cuanto a materia de seguridad y estabilidad se refiere, al menos en sus versiones para Windows. Sin duda alguna, VMWare es la solución “virtual” a nuestra escasez de máquinas computadoras en un laboratorio con condiciones para “experimentar”.

GUEST OS

Por más que el subtítulo anterior se asemeje al nombre de una nueva distribución de Linux, no cabe duda de que se refiere al sistema operativo que instalaremos en nuestra PC virtual, una vez configurada. Para hacer esto debemos tener en mente con antelación qué tipo de sistemas estamos optando por instalar. No se requerirán la misma cantidad de memoria y disco duro para configurar una PC que sirva de servidor o no, o que no se quiera para nada serio. El qué se va a hacer después de instalar el sistema, si es utilizarlo para probar un programa que acaba de compilar o como se distribuye en la red un nuevo troyano, está enteramente fuera de mi terreno.

Eso sí, antes de instalar VMWare Workstation – que es la versión que estaré comentando – asegúrate de haber marcado la opción “desactivar autorun” que ofrece en el proceso de instalación. No queremos que ambas máquinas se nos queden “congeladas” después que introducimos una película de DVD en el lector, y este tenga que decidir a fuerza de “quién se marea primero” a quien obedecer, si al host OS o al guest OS, y créanme, no es nada agradable.

Los procesos de configuración de la máquina virtual nueva son muy intuitivos y están adornados con una interfaz gráfica de usuario amigable y una extensa y poderosa ayuda/tutoriales que nos permiten cambiar muchos de los parámetros por default que se fijan una vez que termina de “crearse” la susodicha máquina. Entre las cosas que vale la pena revisar y cambiar de ser necesario, está la creación de un disco duro.
Cualquier archivo que se crea en una máquina se guarda bajo un sistema de archivos, a lo que anteriormente me refería. Este sistema de archivos en dependencia de su versión y procedencia – ambiente Unix o DOS principalmente – tiene capacidades máximas de rendimiento de las cuales no puede desprenderse a no ser que se formatee e instale una nueva versión mejorada. Entre estas vale la pena mencionar el tamaño máximo de un archivo que es posible tener bajo determinado sistema, así como el tamaño máximo por partición; por ejemplo bajo FAT el tamaño máximo que una partición puede llegar a tener es de 2 GB, ni un byte más, pero ofrece un directorio Format Allocation Table (FAT) pequeño y por esto es útil en memorias y otros dispositivos de baja capacidad. Con FAT32, el tamaño de la partición se hace mucho más grande, sin embargo no sucede así con el tamaño máximo de archivo que no sube de 4 GB, siendo esto un inconveniente muy molesto a la hora de crear nuestra disco duro virtual, en el que se instalará el SO también virtual. Otro formato a destacar es el ISO/Joliet, en el que se hacen las compilaciones de DVDs que quememos: el mismo tiene un tamaño máximo de 2 GB por archivo, y no sucede así con el UDF que sí permite estos tamaños, información válida de recordar si se piensa hacer nuestra máquina virtual “portable”, es decir, transportarla enteramente en un DVD o CD, algo muy común y una de las principales ventajas de la virtualización.

Recomiendo entonces que nuestro disco duro virtual sea menor de 2 GB, si se piensa guardar en un formato FAT32 o transportar en una memoria flash o DVD, dado las razones que acabo de exponer. En el wizard de creación de la máquina, asegúrese de marcar Allocate all disk space now y Split disk into 2 GB files.

Otra de las características de nuestro sistema es la facilidad con que este puede fragmentar los archivos que se creen, así que antes de crear nuestro disco duro debemos darle una pasada de Diskeeper u otro defragmentador que encontremos a mano, si no queda más remedio el que trae Windows.

ContinuarÁ ...




Artículos relacionados


No hay comentarios: