texto:   A-   A+
eliax

Eliax explica: Todo sobre Máquinas Virtuales, para el usuario común
eliax id: 5063 josé elías en jul 23, 2008 a las 11:22 AM ( 11:22 horas)
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

Comentarios

  • 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.

  • hola! oye Elias entonces cual es la diferencia entre boot camp y ahora parallels en una mac, los dos hacen lo mismo?

    • Geraldo,

      Son dos cosas totalmente distintas. Boot Camp no es nada mas que permitirte iniciar tu máquina con el sistema operativo Windows en vez de OS X.

      Es decir, Boot Camp te convierte tu máquina en una máquina de Windows, a toda velocidad. Lo irónico del caso es que las Macs son entre las máquinas mas rápidas del momento para ejecutar a Windows, debido a la alta calidad de los componentes que Apple utiliza.

      La gran limitación de Boot Camp es que te fuerza a elegir en el momento de iniciar tu máquina si quieres iniciar en OS X o en Windows (debes mantener presionada la tecla de Option mientras enciendes la máquina para ver esta opción), por lo que no puedes ejecutar ambos sistemas operativos a la vez.

      Con Parallels lo que haces es que ejecutas a Windows *dentro* de OS X, por lo que puedes acceder a ambos a la vez, con la gran limitante de que esto utiliza mas recursos de memoria y CPU de tu máquina, y hace que Windows ejecute notablemente mas lento que dentro de Boot Camp.

      Ahora, un truco interesante es que Parallels te permite declarar a Boot Camp como una VM, por lo que puedes acceder a tus aplicaciones y datos tanto directamente con Boot Camp como desde OS X, teniendo tú la opción de utilizar a Boot Camp solo cuando necesitas velocidad (como para juegos).

      • GRACIAS!!! TODO ACLARADO

  • Ya que tu no lo puedes decir lo digo yo, Mac OS X también se puede utilizar en una maquina virtual, es bastante lento si no tienes una maquina potente, pero hay unas cuantas distribuciones e instrucciones por la red

    • El problema de instalar a OS X en una PC genérica es que no es una solución para consumidores finales sino que para usuarios bastante técnicos, pues aparte de ser ilegal requiere de unos cuantos hacks y al final el OS X que instalas por lo general ofrece problemas de no poder actualizarse y cosas por el estilo, así como muchas incompatibilidades a todo nivel.

  • el punto débil de las maquinas virtuales es que de la misma forma que se comporta como un sistema operativo completo tienes el mismo riesgo de tener un virus en la maquina virtual donde no solo estarías comprometiendo la información de la maquina virtual con windows si no también el del sistema operativo linux (Tomando como ejemplo que el sistema operativo base sea linux y el virtual window)

    • Venedan

      Esto no es cierto, y es otra de las grandes ventajas de tener una máquina virtual: Te aísla los virus a solo la máquina virtual.

      Nota que aunque han aparecido su par de documentos de investigación mostrando que bajo ciertas circunstancias (circunstancias sumamente especiales y específicas) sería posible infectar al sistema operativo maestro, lo cierto es que no se conoce un solo caso en donde alguien haya tenido éxito con esto de manera genérica.

  • No estoy de acuerdo con eso ultimo que dices venedan, existir existen virus multiplataforma pero son pocas, ademas dependera de la forma en la que tengas configurada la red de tu maquina virtual, existir puede existir esa posibilidad pero es MUY COMPLICADA que se produzca.

    El punto débil es la velocidad, aunque si utilizas un procesador preparado para virtualización, ejemplo la mayoria de los core 2 duo, la cosa se puede acelerar una barbaridad, si ademas metes uno de esas versiones "mini" de sistemas operativos puedes llegar a instalar un xp en una vitualbox en MINUTOS y el sistema de snapshots (capturas) es una gozada, tengo amigos que tienen maquinas virtuales solo para ocultar a sus parientas sus amiguitas del msn..., fotos, pelis etc en un disco "virtual" con un sistema operativo dentro de un sistema operativo protegido con contraseña..

  • bueno ese fue mi primera pregunta al instalar el virtualbox en linux si era posible que un virus pudiera pasar del sistema virtual al sistema base y me puse ha investigar en internet y lo que encontré es que la respuesta es NO, aunque hay matices, no hay ninguna manera por la que un virus pueda saltar de la máquina virtual al ordenador que la simula, el antifitrión. Y aunque pudiera violar la protección de memoria, lo cual no es nada sencillo, el código ejecutable de Windows no funciona en linux, así que hasta en el caso más apocalíptico se estaria a salvo

    Sin embargo, un virus diseñado a tal efecto podría acceder a los directorios de nuestro equipo compartidos por VirtualBox y modificar nuestros archivos de forma relativamente sencilla. Por lo que hay que estar seguros y evitar esta posibilidad

    1. Deshabilitar la compartición de archivos entre Linux y la máquina virtual.
    2. Compartir los archivos en sólo lectura.

    Todo esto podemos configurarlo desde las propiedades de la máquina virtual en cuestión.

  • Wow Sorprendente y Muy interesante El Reportaje... !!! tenia muchas dudas respecto a eso pero ya kedan aclaradas.. :D !!!


    Tambien te falto Virtual PC de MS ... :P

  • algo que eliax no dijo es que las maquinas virtuales suelen ocasional problemas con la configuracion de la red, por que te crea en la maquina maestra unas cuantas conexiones de red,

    si bas ha cmd y escribes ipconfig te daras cuentas que ya no tienes una sola comfiguracion tendras como 4, 5 habeces mas, si tienes configurada tu computadora para trabajar con programas p2p como emule azureus y progrmas que utilizen una configuracion de ip estatica internamente de el tipo 192.168.1.* te daras cuenta que depronto dejan de funcional, que tienes problemas con los puertos de tu router, que te da id baja que en windows vista tienes inestabilidad al entrar al panel de control y conexiones de red y muchas beses no te detesta las DNS

    • Anónimo,

      Ese es solo el caso dependiendo de como compartas la red con la VM. Ese es un tema que puede tomar un artículo completo por sí mismo, pero para ayudarte con tu problema, lo que tienes que hacer en tu caso es decirle al sistema de VM que trate la VM como si estuviera detrás de un NAT, de esa manera lo único que haces es que tu PC funciona como un router a la VM, en vez de compartir los puertos, y eso te evita los problemas que mencionas.

      Al menos Paralles y creo que también VMWare toman esta configuración tipo NAT por defecto.

  • YO tengo varios clientes que usan Macs y ejecutan mis aplicaciones hechas en Visual Foxpro (el mejor lenguaje para aplicaciones de negocios). Uno usa VMware y varios Parallers. El resultado es mas que excelente.

  • Excelente información, muy precisa y detallada que me tome la libertad de publicarla tal cual en mi blog, obviamente citandote.

    Felicitaciones y gracias por la info.

  • Como les hemos informado anteriormente, Windows 7, el sucesor de Windows Vista, sale al mercado en Enero del 2010, es decir, en menos de año y medio, y Microsoft ya está ocupado en qué hacer después de eso.

    Por ahora los rumores circulaban en torno a d

  • Gracias por la información eliax
    Tengo una pregunta, al momento de instalar VirtualBox en linux para instalar XP, ¿Qué pasa con el disco duro? El disco duro de windows tendría todo el espacio? o como una partición "virtual" o como?

    • Solo tendría el espacio que le dediques explícitamente.

  • hola
    en serio me fasina esta pagina
    aunke prodrian acomo
    darla un poco
    bexso

    atte:
    su amiga sakura

  • hola buenas a todos una pregunta estoy acargo de un centro de computos para una universidad y queria sabe si existe algun programa que perimite tener como un menu de maquinas virtuales y bootear una, y que aparesca como si fuera el menu de instalaciones de sistemas operativo de una pc
    gacias

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
5 + 3 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Adoro este Blog, lo conocí hace unos días y no puedo parar de leerlo. Soy de Argentina, tengo 24 años y aunque soy artista (Compositor de música y dibujante) tengo una mente con muchas ansias de aprender cosas nuevas todo el tiempo. Me fascina la astronomía y la filosofía. Supongo que tanto como yo, debes pasar horas preguntandote que joraca es todo esto que nos rodea!!! jajaja

De todo lo que me perdí estos años por no leer este blog.
"

por "Lean Pascazzi" en mar 10, 2013


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax