La virtualización se apodera del PC

Aunque la virtualización está muy aprovechada en entornos corporativos, las ventajas de poder tener varias máquinas virtuales en un mismo ordenador son innegables y universales

Javier Pastor Nóbrega

La virtualización se apodera del PC

7 julio 2010

Aunque no todo el mundo es consciente de sus posibilidades, la virtualización puede llegar a solucionar muchos problemas de compatibilidad que afrontan los usuarios a la hora de migrar de sistemas, pero también es útil para probar otras alternativas en el terreno de los sistemas operativos o para experimentar con versiones aún en estado muy preliminar. Éstas son algunas de las razones por las que disponer de una aplicación de virtualización en nuestro ordenador es interesante, pero hay muchas más, porque los casos de uso son prácticamente ilimitados. La virtualización está muy de moda en servidores, pero también está convirtiéndose en un recurso muy interesante para los usuarios convencionales de informática.

Tipos de virtualización

En la actualidad, este campo está dividido en un gran número de soluciones, algunas más adecuadas que otras dependiendo de los distintos escenarios. De hecho, la virtualización que se aplica en empresas es poco parecida a la que podremos disfrutar los usuarios de soluciones como VirtualBox o VMware, de modo que es conveniente explicar las diferentes tecnologías.

• Virtualización completa: Dentro de este grupo de soluciones tenemos a su vez otros tres subgrupos que se dirigen a distintos escenarios. En primer lugar, hay una capa de emulación hardware que permite acceder a los recursos desde la plataforma virtualizada. Este sistema se usa por ejemplo en KQEMU. En segundo lugar, si se opta por traducción binaria, se emula un conjunto de instrucciones (por ejemplo, el de la plataforma x86 que usamos en la mayoría de ordenadores de 32 bits). Un desarrollo clásico dentro de este grupo es VirtualBox. Finalmente, a la virtualización clásica pertenecen desarrollos como KVM, que hace uso del kernel Linux. Este grupo aprovecha el soporte de la virtualización nativa que aportan las tecnologías Intel VT y AMD-V.

virtualizacion5

• Paravirtualización: Estos sistemas ofrecen mejor comportamiento nativo (el rendimiento de la máquina se acerca al de un sistema instalado de forma convencional en un equipo físico) gracias a una interfaz software que es similar —aunque no idéntico— al del hardware utilizado en la plataforma. Xen es uno de los ejemplos clásicos de esta aproximación.

• Virtualización a nivel de sistema operativo (Contextualización/Contenedores): En este tipo de técnica, el propio núcleo del sistema operativo permite crear múltiples instancias aisladas del sistema operativo nativo en lugar de una sola. Estas instancias (que a menudo se conocen como contenedores) tienen entidad propia y son vistas como un servidor independiente . Ejemplos muy conocidos son Linux-VServer y OpenVZ.

Es interesante tener en cuenta también que en estas categorías puede haber cierto uso de técnicas de emulación parcial. Sucede en desarrollos como KQEMU, KVM o VirtualBox, mientras que en OpenVZ o Xen no hay ningún tipo de emulación implicada y la virtualización es «pura». Y precisamente el tipo de aproximación al problema también determina la carga que esas capas de virtualización aportan al rendimiento y la eficiencia final del sistema virtualizado.

Como decíamos, hay soluciones que tienen un rendimiento en máquina virtual que prácticamente es el mismo que el de las soluciones nativas; es decir, daría igual instalarlas en un servidor separado o en una máquina virtual. Sin embargo, otras propuestas –precisamente, las protagonistas en esta comparativa– están más orientadas al usuario final, y aunque tienen ciertas ventajas, también disponen de una eficiencia menor: el sistema operativo instalado en una máquina real siempre se comportará sensiblemente mejor.

virtualizacion8

¿Para qué sirven?

Las aplicaciones prácticas de la instalación de un software de virtualización son múltiples, pero hay que tener claro qué se puede hacer y qué no con este tipo de soluciones. El escenario más común es el de poder ejecutar dos o más sistemas operativos distintos al mismo tiempo. Muchos usuarios están interesados, e incluso obligados por cuestiones de trabajo, en iniciar una sesión en dos sistemas distintos en los que corren aplicaciones diferentes.

Por un lado, está el uso casi por diversión, en el que por ejemplo instalaríamos en nuestro sistema operativo Windows una máquina virtual con Ubuntu para probar esta distribución Linux. Aunque hay muchos métodos de evaluar el funcionamiento de soluciones Linux –LiveCDs o Wubi, por ejemplo–, las máquinas virtuales son especialmente interesantes para ese propósito de prueba sin tener que preocuparnos de posibles descuidos o de la eliminación de datos de forma involuntaria. Con las máquinas virtuales ese riesgo desaparece totalmente.

El segundo escenario clásico es el de la ejecución de aplicaciones que necesitamos para trabajar y que no funcionan en nuestro entorno habitual. Es lo que ocurre cuando, por ejemplo, un usuario de Mac OS X está forzado a trabajar con cierta versión de cierta aplicación que solo funciona bajo Windows. En ese caso, llegan al rescate soluciones como las VMware, Parallels o VirtualBox, que permiten instalar esas máquinas virtuales con Windows para acceder a las aplicaciones que necesitábamos sin problemas y, como en el caso anterior, sin riesgos.

En este último escenario hay que destacar otra ayuda muy interesante: los modos de coherencia, que proporcionan soluciones como VMware Fusion o Parallels Desktop, que permiten que el escritorio de Mac OS X y el de Windows se entremezclen, de forma que el usuario no tenga que preocuparse nunca por si una aplicación está ejecutándose en el sistema operativo anfitrión (el «bueno», el que arrancamos cuando encedemos el ordenador) o en el sistema operativo invitado (que es el que se ejecuta bajo la máquina virtual).

virtualizacion10

Sus limitaciones

Aunque gracias a las extensiones de los procesadores de Intel y AMD el rendimiento de los sistemas que corren bajo una máquina virtual son excelentes, hay que tener en cuenta que dicha producción nunca será tan notable como la que pueda ofrecer una instalación nativa, y aquí entran en juego los distintos tipos de virtualización de los que hablábamos anteriormente. Mientras que la virtualización a nivel de sistema operativo con conceptos como contenedores es muy eficiente en el uso de recursos (se habla de un 97% del rendimiento del SO real), en otras soluciones menos especializadas ese rendimiento puede ser menor y estar entre el 70% y el 90% según la situación.

Eso puede ser un obstáculo, aunque afortunadamente las máquinas virtuales permiten afinar el uso de recursos: podremos establecer cuánta memoria y cuánto disco duro le asignamos a cada máquina virtual. Pero además, si contamos con un procesador multinúcleo –algo muy extendido hoy en día–, podremos hacer que también la máquina virtual aproveche esos dos, cuatro o más cores para sus propias tareas, convirtiendo nuestra máquina virtual en una solución SMP (Symmetric MultiProcessing).

Ese soporte hardware, no obstante, no es completo. Y es que las tecnologías de virtualización no podrán sacar todo el partido a nuestro hardware. Un apartado claro en el que esto se demuestra es en aplicaciones gráficas exigentes y, sobre todo, en juegos. Que nadie piense que teniendo Linux e instalando Windows 7 en una máquina virtual tendrá acceso a aplicaciones y juegos DirectX 11. Esa API no es compatible con los últimos desarrollos de virtualización.

De hecho, en VirtualBox o VMware se permite la ejecución de aplicaciones y juegos OpenGL 2.0 y Direct3D 8/9, pero nada de Direct3D 10/11. No esperéis grandes rendimientos de esos juegos, aunque sí es posible que disfrutéis, por ejemplo, de títulos de estrategia o RPGs gracias a su menores requerimientos gráficos. En definitiva, si queréis ejecutar juegos de otras plataformas, la virtualización no es ni mucho menos la opción más adecuada.

virtualizacion9

Hipervisor, clave de la virtualización

Este componente software, que también suele conocerse como monitor de máquina virtual, es el encargado de que se puedan utilizar múltiples sistemas operativos en un equipo. En la actualidad los hipervisores se pueden clasificar en dos grandes grupos:

• Tipo 1 Nativo, bare-metal o unhosted. Este tipo de hipervisores se ejecutan directamente sobre el hardware real del equipo para controlar ese hardware y monitorizar los sistemas operativos virtualizados. Las máquinas virtuales que corren de forma simultánea lo hacen en otro nivel que está por encima del hipervisor. Ejemplos: VMware ESXi, VMware ESX, Xen, Citrix XenServer y Microsoft Hyper-V Server.

• Tipo 2 Hosted: En este caso, la aplicación hipervisora o monitora se ejecuta sobre un sistema operativo convencional para luego virtualizar diversos sistemas operativos. La virtualización se sitúa en una capa más alejada del hardware y el rendimiento del hipervisor es menor que en los anteriores. Ejemplos: Sun VirtualBox, Sun VirtualBox OSE, VMware Workstation, VMware Server, VMware Player, QEMU, Microsoft Virtual PC y Microsoft Virtual Server.

Aunque algunos desarrollos se pueden clasificar fácilmente en uno u otro grupo, hay cierto debate a la hora de englobar otras soluciones como hipervisores de Tipo 1 (teóricamente más eficientes) o de Tipo 2 (más orientados al usuario final). Por ejemplo, los desarrolladores de Xen afirman que KVM es un hipervisor de Tipo 2, como también podría serlo Microsoft Virtual Server. Sin embargo, cada hipervisor aprovecha ciertas fortalezas (en el caso de KVM, el kernel Linux y su versatilidad) y, por lo tanto, englobar a cada desarrollo en uno u otro grupo es para muchos una cuestión meramente académica.

virtualizacion3

Tu procesador te ayuda

Hace tiempo que tanto Intel como AMD fabrican procesadores con una serie de extensiones que son vitales para acelerar los procesos de virtualización, y para soportar algunas características más que interesantes. En el caso de AMD, su tecnología AMD-V, que fue desarrollada con el nombre en clave de Pacifica, está presente en la práctica totalidad de sus microprocesadores actuales (los Sempron suelen no estar preparados con esta capacidad).

Por su parte, también Intel presentó hace tiempo su propia propuesta al respecto, la tecnología llamada VT-x (antes conocida como Vanderpool) y que de nuevo está presente en casi todos los microprocesadores actuales, aunque cuidado, no en todos. Si vais a aprovecharos de los programas de virtualización, deberíais aseguraros de que el procesador de vuestro ordenador dispone de dichas extensiones, algo fácil de comprobar en los sitios web de los fabricantes.

virtualizacion6

Virtualización en empresas, otro mundo

Aunque en esta comparativa nos hemos centrado en las soluciones para el usuario final, las tecnologías de virtualización tienen especial protagonismo en el mundo corporativo, donde temas como la consolidación de servidores, la posibilidad de balancear cargas o la virtualización de escritorios (que ofrece una nueva visión de los Thin Clients tradicionales) están a la orden del día.

Las soluciones de empresas son desarrolladas por compañías muy experimentadas como XenSource, VMware, Citrix, Microsoft o Red Hat (que se apoya en KVM tras la compra de Qumranet, aunque antes lo hacía en Xen) y las implantaciones son más complejas, como también lo son los productos, que no tienen demasiado que ver con las soluciones para usuario final.

virtualizacion2

Diez razones por las que virtualizar

Es muy fácil encontrar razones para aprovechar este tipo de soluciones, pero a continuación os proponemos 10 de ellas.

1. Reducción de los costes de compra y mantenimiento

2. Compatibilidad con aplicaciones y sistemas operativos antiguos

3. Pruebas en entornos aislados y seguros que no afectan al resto de componentes

4. Entorno de desarrollo barato para programadores software en distintas plataformas de forma simultánea

5. Gestión y control centralizado de recursos

6. Procedimientos de backup y restauración muy sencillos

7. Migraciones en vivo de máquinas virtuales entre distintos PCs o servidores físicos

8. Fácil recuperación/reinicio en caso de posibles caídas

9. Alta disponibilidad

10. Fácil puesta en marcha de servicios de Cloud Computing

La opinión de PC Actual: más fácil y barato que nunca

Hace unos años, la virtualización era una tecnología a la que era muy difícil acceder, tanto por las pocas opciones como por el precio de las soluciones disponibles. Prácticamente, VMware no tenía rival en un mercado que poco a poco fue ganando adeptos debido a los beneficios que proporciona en consolidación de servidores y control de gastos. Curiosamente, esas ventajas no solo se traducen en beneficios para la empresa, ya que pronto se pudieron extender a máquinas de escritorio como PCs y portátiles. El mercado empezó a animarse y, hoy en día, las tendencias favorecen tanto a empresas como a usuarios finales.

Tres claros destacados

Es evidente que existen tres grandes protagonistas en este segmento, al menos cuando hablamos de usuario final. VMware compite con sus productos Work­station, Player e incluso Server –un buen paso previo (y gratuito) para empresas que quieren comenzar a explorar este terreno–, mientras que VirtualBox y Parallels disponen de sus propias soluciones con una única diferencia en el caso de Parallels: se trata de una solución de pago, mientras que los desarrollos de VMware y VirtualBox tienen coste cero.

De hecho, ese ha sido el único factor que ha perjudicado a Parallels, que quizás en la plataforma Windows no está tan pulido como sus competidores, pero que está claro que en Mac OS X compite de tú a tú con VMware Fusion. Es difícil elegir un vencedor entre VMware Player y VirtualBox, pero nos hemos decantado por VirtualBox por una ventaja poco tangible para muchos pero que nosotros valoramos: se trata de un desarrollo Open Source, y esa libertad y filosofía hacen que la balanza se desequilibre a favor del desarrollo de Sun/Oracle.

Apertura_Opina

En Linux, otro mundo

Del resto de soluciones comentadas habría que dejar a un lado XP Mode, un desarrollo de Microsoft que ha sabido aprovechar las ventajas de Virtual PC para ofrecer una aplicación práctica a la hora de migrar de Windows XP a Windows 7. Sin embargo, es demasiado específico, y no tiene apenas nada que ver con las tres propuestas más destacadas, y mucho menos con las alternativas del mundo Linux.

KVM, Xen y Linux-VServer son tres formas distintas de acercarnos a la virtualización de sistemas, cada una con sus ventajas e inconvenientes. KVM es la más «cercana» al usuario final, ya que existen ciertos asistentes que permiten crear y gestionar máquinas virtuales como con VirtualBox, VMware o Parallels. En Xen también es posible acceder a tales paneles de control, pero su puesta en marcha es más compleja, como la de Linux-VServer, ambas poco aptas para usuarios noveles y para los que no se hayan «peleado» con el kernel Linux. Sin embargo, los beneficios en rendimiento son muy significativos, lo que precisamente justifica el éxito en grandes implantaciones. Si nos restringimos a los usuarios finales, lo tenemos claro: VirtualBox es nuestra preferida.

lomejor

Lo mejor: Muchos avances

El rendimiento de estas soluciones se ha mejorado gracias al soporte de extensiones de virtualización por parte de Intel y AMD, pero estos desarrollos también han sabido ir mejorando su soporte hardware –vital para una emulación eficiente–. Así, hoy en día, los modos de coherencia o de integración de escritorios proporcionan una serie de posibilidades muy llamativas para el usuario final. El soporte de modos 3D –aunque no para jugar a juegos en máquinas virtuales– y de todo tipo de periféricos nos permiten explotar dichas tecnologías para resolver situaciones de migración, pruebas o consolidación.

lopeor

Lo peor: Algunas limitaciones

En general, nos hemos encontrado con que las opciones de compartir carpetas entre las máquinas anfitrión y las máquinas invitadas son limitadas y, salvo en VMware, la configuración de dichas carpetas es algo confusa. También es cierto que las herramientas de integración de las máquinas virtuales (VMware Tools, VirtualBox Guest Additions…) no están disponibles para todos los sistemas operativos invitados, lo que impide un funcionamiento más suave para estas soluciones si queremos probar un sistema operativo menos extendido o soportado.

Loading...