miércoles, julio 23, 2008
|
Hoy quiero hablarles de Máquinas Virtuales para sistemas operativos (diferente a Máquinas Virtuales para entornos de ejecución, como Java o .Net), y lo pienso hacer esta vez de una manera que cualquiera entienda, sin poseer conocimientos técnicos profundos.
Una Máquina Virtual (o VM por sus siglas conocidas en Inglés) en este sentido es el equivalente a tener una PC dentro de otra. Es como si una ventana de un programa en tu PC fuera la pantalla o monitor de otra máquina mas pequeña dentro de tu PC. Una máquina virtual efectivamente engaña a un sistema operativo a creer que esté ejecutándose en hardware para su uso exclusivo, cuando en realidad está compartiendo recursos con otro sistema operativo, o quizás con varios mas. Es tanto así, que después que creas una máquina virtual, e insertar el CD de instalación de un sistema operativo, este arranca el proceso de instalación como si lo estuvieras haciendo en una PC totalmente nueva de fábrica, inclusive detectando tarjetas de redes, WiFi, Bluetooth, video, sonido, puertos USB, discos duros, memoria, CPU, como si fuera una máquina de verdad. La gran ventaja de esto es que tienes el poder de crear la máquina virtual con los parámetros que desees, de modo que el sistema operativo invitado tenga la ilusión (por ejemplo) que tiene un solo procesador, 512MB de memoria y 10GB de disco duro, cuando tu PC en realidad tiene 2GB de memoria, un procesador de 2 núcleos, y 250GB de disco duro. Yo personalmente he probado ya a VMWare tanto en Linux como en Windows, y a Parallels Desktop en Mac OS X, y les puedo asegurar que el poder acceder a un sistema operativo de esta manera es extremadamente útil. Ejemplos de usos típicos de una VM: - Si desarrollas software, puedes tener varias máquinas virtuales con varias versiones del mismo sistema operativo, para así ver cómo se comporta con la compatibilidad entre varias versiones. - Si quieres probar un programa, primero puedes tomarle una "foto" a la máquina virtual en su estado actual, después instalar el programa y probarlo, y si no te gusta simplemente regresas con la foto que tomaste al sistema operativo tal cual estaba antes de tu instalarlo. En otras palabras, para tu PC una VM no es nada mas que un archivo en disco que puedes copiar, restaurar, borra, transferir, etc. - Puedes también copiar una máquina virtual desde una PC física a otra, sin tener que volver a instalar todos los drivers uno a uno, mas todas las actualizaciones. - Para los que desarrollan aplicaciones de redes de bajo nivel, es posible ejecutar varias VMs a la vez, de tal manera que puedas crear dentro de una sola PC una red "LAN Virtual" completa, lo que te ahorraría tiempo y dinero en pruebas. - Con una VM puedes mudarte a una arquitectura mas moderna, y utilizar una VM para ejecutar los programas antiguos necesarios para operar tu empresa. Por ejemplo, puedes migrar toda tu empresa a Linux, y después con una VM ejecutas a Windows o DOS para ejecutar las aplicaciones viejas. Esto te permite migrar paulatinamente a una nueva arquitectura sin tener que re-crear toda la infraestructura tecnológica de una sola vez de manera traumática. - Es además una opción para empresas con cientos de PCs que quieran mantener en una misma versión para fines de ejecutar programas, pues hay empresas que ofrecen soluciones que le permite al administrador de informática poder copiar o reiniciar máquinas virtuales de manera remota a todas las PCs de una empresa de manera simultánea y sencilla. - Ejecutar servicios y servidores en otro sistema operativo que no puedes utilizar en el sistema operativo maestro. Por ejemplo, si necesitas crear una aplicación en Linux que utilice a Microsoft SQL Server en Windows, lo que puedes hacer es arrancar una VM con Windows dentro de Linux para desde Linux acceder a MS SQL Server con un driver a través de una red virtual entre ambas máquinas. - En Internet puedes descargar máquinas virtuales pre-configuradas para todo tipo de tareas. Por ejemplo empresas como VMWare y Parallels ofrecen VMs gratuitas con Linux pre-instalado, o con versiones de Linux configuradas de tal manera que ya funcionan "fuera de caja" como un router, o firewall, o servidor de telefonía IP (con Asterisk), etc. Es casi seguro que para cualquier cosa que se te antoje ya exista una VM pre-configurada que solo tienes que arrancar localmente en tu PC y ya está lista para su uso. Soluciones recomendadas Si te interesa probar esto de las máquinas virtuales, hay 3 opciones que recomiendo. 1. VirtualBox. Este programa es ahora mantenido por Sun Microsystems, y es ofrecido en versiones tanto gratuitas como comerciales, por lo que es una excelente manera de empezar a probar. La versión gratuita te permite crear y ejecutar VMs sin restricciones. 2. VMWare. Esta es comercial, pero te ofrecen el player (es decir, lo que ejecuta una VM) gratuito. Si deseas crear una VM desde cero debes comprar la versión comercial. 3. Parallels Desktop. Esta es comercial, y si tienes una Mac quizás sea la mejor opción (aunque VMWare Fusion dicen que ya está a la par). Noten que los tres productos están disponibles para practicamente todos los sistemas operativos populares, como Windows, Linux y Mac OS X. Así mismo con cualquiera de ellos puedes instalar prácticamente cualquier otro sistema operativo de manera virtual en tu PC (el único que no puedes instalar de manera virtual es OS X, debido a sus restricciones de licencia que dictan que se utilice en computadoras vendidas por Apple exclusivamente). En otras palabras, si tienes Linux, puedes instalar a Windows dentro de Linux. Y si tienes Windows, puedes instalar a Linux dentro de Windows. Similarmente, si tienes una Mac (con procesador Intel) puedes instalar Windows o Linux en tu Mac. Qué buscar en una solución de VM Ahora les quiero mencionar brevemente las cosas a buscar en una VM, pues las necesidades de cada uno pueden variar. - Sus requerimientos en recursos. Aunque muchos de los fabricantes de VMs ponen unas especificaciones bastante bajas, lo cierto es que no obtienes nada gratis con la VM. Si creas una VM con 512MB o 1GB de memoria, esa es memoria que tu sistema operativo maestro ya no puede utilizar. Así mismo, el CPU es compartido con la VM. En otras palabras, mientras mas poderoso tu equipo, mejor. - Su estabilidad y rendimiento. Aquí lo mejor es instalar y probar. Las versiones comerciales de estos productos al menos te permiten probar de manera limitada una VM antes de comprar, por lo que es recomendable que los pruebes todos antes de decidirte a utilizar uno. En cuanto a estabilidad, al menos VMWare y Parallels me han salido bien estable. VirtualBox no puedo opinar ya que no he probado la última versión, pero dicen que es tan estable como las otras dos soluciones. - Que se fusione lo mas posible con el sistema operativo "maestro". Es decir, la capacidad de combinar el sistema operativo "virtual" con el "real", de tal manera que si abres una ventana de una aplicación en la VM esta surja en el escritorio de tu PC "real". Las tres soluciones nombradas hacen esto en diferentes grados, siendo Parallels en OS X la mas impresionante de todas, inclusive permitiéndote abrir archivos de un sistema operativo con un programa de otro (ejemplo: abrir Photoshop en Mac OS X para editar un archivo en Windows). - Que permita fácil configuración de redes y de compartir archivos. Una cosa que es útil es poder compartir datos entre la VM y el sistema operativo que aloja la VM. Esto es soportado a diferentes niveles por cada solución. En el peor caso puedes compartir archivos por medio de una memoria externa USB formateada con FAT32 (por lo general vienen con FAT32). - Que permita fácil migración y conversión de VMs creadas por otros productos. Por ejemplo, Parallels te permite transformar una VM creada por VMWare a una VM que funciona en Parallels. Esto es muy útil pues te ofrece mas opciones a la hora de buscar VMs preconfiguradas. - Si quieres utilizar una VM para jugar video-juegos, lo primero que debes saber es que no es recomendable jugar juegos de acción rápida y 3D en una VM, ya que no están optimizadas para esto, pero si lo deseas probar de todas maneras, entonces presta atención al grado de compatibilidad que ofrecen con juegos 3D por medio de cosas como Direct3D y tecnologías similares. En cuanto a juegos de estrategia (como Civilization, el Sims original, etc), entonces es posible que tengas una experiencia agradable con cualquiera de estas soluciones, siempre y cuando tengas una PC lo suficientemente potente para los requerimientos del juego en cuestión. - Que te permita utilizar imágenes CDs y DVDs en vez de CDs o DVDs físicos. Una imagen de CD o DVD no es nada mas que un disco completo comprimido a un solo archivo (en formatos como .iso o .dmg por ejemplo), y es muy útil poder hacerle creer que ese archivo es un disco real completo, para así tu poder trabajar más rápida y cómodamente sin necesidad de tener discos físicos a la mano. Notas finales Algo bueno de una VM es que probarlo no te cuesta nada, y si no te funciona bien simplemente deinstalas y borras las VMs, liberando fácilmente tu espacio en disco, sin necesidad de formatearlo o de hacer cosas complicadas. Pues eso es todo, espero como siempre que esto le sea útil a unos cuantos. Página oficial de VirtualBox Página oficial de VMWare Página oficial de Parallels A continuación, unos videos para ilustrar como funciona todo este tema de las Máquinas Virtuales. En este video verán como una Mac ejecuta a Windows XP por medio de Parallels Desktpo (enlace YouTube)... En este otro video verán como Linux ejecuta a Windows XP por medio de VMWare (enlace YouTube)... Y en este otro verán (y los guiarán paso a paso) como Windows ejecuta a Linux por medio de VirtualBox (enlace YouTube)... autor: josé elías |
20 comentarios |
Educación , Pregunta a eliax , Software , Videos |
Comentarios
Añadir Comentario |
"Creo que vivir mil años sería aburrido, pero estoy dispuesto a ser voluntario para comprobarlo personalmente ;-)"
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
VMWare ofrece varios de sus productos de manera gratuita, aunque con algunas limitaciones que se ofrecen en las versiones que venden. De hecho para el proximo lunes estaran liberando de manera gratuita la version que monta un "sistema operativo" para virtualizacion (segun http://searchservervirtualization.techtarget.com/news/article/0,289142,sid94_gci1322340,00.html?track=NL-651&ad=652131&asrc=EM_NLN_4094654&uid=1430560), el cual es mas eficiente si quieres correr mas de una maquina virtual en un mismo equipo.