MacOS

Virtualizando en MacOS X Snow Leopard con VMware Fusion

La virtualización hoy en día no es nada nuevo. Sin embargo, es ahora cuando está empezando a tomarse en serio, sobre todo a nivel empresarial. Habría muchísimo que estudiar al respecto, pero podríamos simplificarlo en algo así:

¿Es mejor tener un centro de proceso de datos (CPD) con cientos de servidores físicos, o es mejor tener un pequeño CPD con uno o dos armarios como mucho con diez servidores físicos que contengan cientos de virtuales?

En principio, la elección es obvia. El coste en licenciamiento siempre va a ser muy inferior al coste en «hierros». Y no solo en máquinas físicas, sino en gasto energético, infraestructuras, mantenimientos, espacio, etc.

Actualmente vamos a empezar en mi empresa un gran proyecto de virtualización. Años de servidores físicos y prácticamente obsoletos se verán convertidos en poco tiempo en una modernísima infraestructura que podrá ser controlada y gestionada desde un único punto (no en cientos como ahora), y con la que podremos aumentar la productividad de la empresa, reducir tiempos de gestión, y por qué no decirlo, vivir mejor (a nivel de técnico de sistemas, claro).

Lo bueno de virtualizar es que prácticamente puedes olvidarte de la parte física de las máquinas. Generalizando mucho, un «windows virtual» puede funcionar en prácticamente cualquier máquina: desde en un pequeño netbook de 9 pulgadas hasta en un carísimo servidor de miles de euros. Y tengamos en cuenta también que la parte «virtual» no son más que un conjunto de archivos que podemos copiar, mover, borrar, y sobre todo… ¡HACER BACKUP! (Hagan backup a menudo, amiguitos). Pero no quiero aburriros con temas corporativos, servidores, CPD’s y servidores enormes y que hacen un ruido que asusta mucho.

Voy a contaros cómo es la virtualización en un sistema de escritorio como el que cualquiera de vosotros podéis tener. Para qué puede servir. Voy a centrarme en MacOS X Snow Leopard que es lo que yo utilizo. Sin embargo, podréis hacer prácticamente lo mismo en un Windows o en un Linux. No voy a dar detalles sobre la instalación ni sobre la configuración. Para eso ya tenéis millones de tutoriales y webs en internet. Pero no dudéis en preguntarme si tenéis alguna duda y os puedo ayudar.

Dejadme que os enseñe una foto de lo que es actualmente mi escritorio en el curro. Podría estar más ordenado, lo sé, pero no quedaría creíble:

Como veis, tengo dos monitores conectados a mi Snow Leopard. Muchas ventanas, es un caos, lo sé. Es solo para enseñaros cuántas cosas pueden estar funcionando a la vez en un «simple» MacOS montado sobre un Core2Duo E6750 @ 2.66GHz con 6Gb de RAM.

En el momento de la captura, tenemos a MacOS Snow Leopard como «host» (o el que se encarga de gestionarlo todo), y sobre él tenemos corriendo tres máquinas virtuales:

  • Windows XP SP3
  • Ubuntu 10.10
  • Windows 7 Ultimate

¡¡¡¡A LA VEEEEEEZ!!!!

Fijaos, voy a enseñaros las capturas de pantalla, una por cada monitor, y paso a detallaros lo que podemos ver en cada uno de ellos:

Monitor 1:

Monitor 1. Clic para ver a tamaño real.
  • Ventana con un PC virtual ejecutando Ubuntu 10.10. Como veis, dentro de Ubuntu tenemos abierto un firefox con este humilde blog, y un monitor de sistema para ver que los recursos están muy tranquilitos.
  • Ventana del explorador de Windows. Gracias al modo «Unity» de VMware, podemos tener en nuestro escritorio ventanas de MacOS y de Windows mezcladas, sin necesidad de tener el PC virtual de Windows ejecutándose en una ventana aparte, como le pasa a Ubuntu. Lo que vemos en esta ventana del explorador es el disco duro VIRTUAL del PC VIRTUAL que está ejecutando Windows XP.
  • Cliente de Twitter. No tiene nada que ver con el tema, pero hace bonito.
  • Ventana del Paint Shop Pro 7.04 bajo Windows. El mítico «photoshop para nenas», corriendo bajo Windows XP en una ventana igual que el explorador de antes. Fijaos que tengo abierto un PNG que he arrastrado encima de la ventana de Paint Shop Pro 7 bajo Windows XP DESDE el escritorio de MacOS.
  • Dock de Snow Leopard con multitud de aplicaciones abiertas y el abanico de documentos desplegado.
  • Y en la barra superior de menús, podemos ver también todos los iconos de los programas ‘residentes’ de MacOS y del Windows XP que tenemos en modo «Unity». Queda raro ver ahí el iconito de conexiones de red de Windows XP, ¿eh?

Monitor 2:

Monitor 2. Clic para ver a tamaño real.
  • Windows 7 Ultimate (de fondo) ejecutándose a pantalla completa. También tenemos abierta un par de consolas de administración, una web en Internet Explorer 8 y mi twitter en Chrome.
  • Ventana de Adium (conversación con @El_Fa) sobre lo poco que nos ha impresionado el iPad 2, presentado ayer.
  • Ventana con iTunes, keynote de presentación del iPad 2 de ayer. Insisto: muy poco impresionado.

Vale, qué bonico, muchas ventanitas y mucho de tó, pero ¿qué es un PC virtual?

Bien. Imaginaos un emulador de Megadrive. O el MAME. No son más que programas que emulan un hardware, haciendo que el software que corre sobre el hardware que emulan pueda ser ejecutado sin necesidad de dicho hardware. Qué lío ¿eh? Pues un PC virtual es, eso mismo. Una emulación de un PC sobre el que se puede instalar cualquier sistema operativo. Y lo resultante de todo esto, no es más que un conjunto de archivos, como os decía.

¿Y qué sistemas operativos puedo instalar en un PC virtual?

El software con el que estoy trabajando ahora mismo para virtualizar es VMware Fusion para Mac. Existen más alternativas, que funcionan y se integran mejor o peor, pero he elegido VMware debido al proyecto empresarial en el que estoy inmerso. Pero vamos, podréis instalar lo más estándar del mercado:

  • Windows (3.1, 95, 98, ME, 2000, familia 2000 Server, familia 2003 Server, NT, XP, Vista y 7 -32 y 64 bits-).
  • Apple MacOS
  • Linux (Asianux, CentOS, Debian, Fedora, Mandrake, Mandriva, Novell, OpenSUSE, Oracle, Red Hat, Sun Java Desktop, SUSE, TurboLinux, Ubuntu y otros).
  • Novell Netware (5 y 6).
  • SUN Solaris (8, 9 y 10).
  • VMware ESX (Server 4).
  • Otros (MS-DOS, FreeBSD y otros).

Y… ¿para qué?

Seamos bueno y admitámoslo: hay cosas que los «maqueros» no podemos hacer, sobre todo en entornos de administración de servidores Windows. Por eso, tener la opción de virtualizar un Windows y tenerlo ahí apartadito en una ventana hasta que nos haga falta es una gran solución. También es un entorno de pruebas genial. Imaginad que desarrollamos una web y queremos ver cómo se ve en navegadores de Windows, Linux, Mac… o para enseñanza. No hay mejor manera de aprender Linux que instalarse uno y toquetearlo.

¿Y puedo configurar mi PC virtual y ponerle millones de tarjetas 3D, procesadores, teras de RAM y no quedarme anticuado nunca más?

Obvia y desgraciadamente, no. Un PC virtual siempre va a depender directamente del hardware sobre el que se está ejecutando el sistema operativo host, es decir, el que maneja las máquinas virtuales. Esto es, si tenemos un iMac de 27″ con procesador i5 Quad Core y 4Gb de RAM, no podremos -en principio, luego realmente no es así porque hay cosas que nos podemos ‘saltar’- crearnos un PC virtual que sobrepase esas especificaciones. Se trata más bien de repartir los recursos que tenemos entre los PC’s virtuales que creemos.

Mola y soy un culo-veo, culo-quiero. ¿Cómo empiezo a virtualizar en mi PC?

Empecemos por lo que es gratis. Podéis bajar una plataforma para virtualizar llamada «VirtualBOX» aquí, y después bajaros una ISO (imagen de CD) de Ubuntu Linux de aquí. Luego ya se empiezan a multiplicar las opciones. Podemos usar opciones de pago, como el consabido VMware Fusion para Mac, VMware Workstation para Windows, o el famoso Parallels Desktop para Mac y para Windows. En cualquiera de estas opciones, podréis instalar casi cualquier sistema operativo desde ISO o desde CD físico (podéis conectar vuestro lector de CD/DVD físico al virtual).

Resumiendo, amiguitos: podéis tener en casa vuestra propia red de servidores (web, dominio, archivos, etc), puestos de trabajo, media centers y un largo etcétera por un coste nulo o muy reducido. ¿Para qué? Eso ya es cosa vuestra. ¿Vale la pena el esfuerzo? Si es para aprender, siempre.