martes, 18 de octubre de 2011

¿Qué hipervisores son los más recomendables en Linux?



Hace poco, leyendo en un grupo LinkedIn llamado Linux España, preguntaban por el equivalentes hay en Linux para el MS Hyper-V R2. En sus propias palabras, pedía “un SO exclusivo para virtualizar, que tenga amplia estabilidad y compatibilidad con distribuciones linux (RedHat, SusE) características como "Snapshots", Virtual Networks... y sobre todo una interfaz no tan complicada de manejar dichas características”. He aquí lo que otros usuarios le recomendaron.

  • “Te diré que tienes a tu disposición bastantes alternativas a Hyper-V, alternativas más maduras y avanzadas. La mejor solución como casi siempre es la que mejor se adapte a tus necesidades y podríamos hablar largo y tendido de cada una de ellas, así que sintetizando mucho te indico cuáles son las opciones más habituales:
* VMWare/Vsphere -> Posiblemente el más usado, uno de los pioneros de la virtualización, dispones de una versión gratuita pero con bastantes limitaciones, si quieres un entorno cloud, o alta disponibilidad necesitas las soluciones de pago y licenciar lo que vayas a usar (coste bastante elevado). Dispones de una consola de administración y configuración.

* Xen Server Citrix -> Solución comercial de Citrix para virtualización, también disponible una versión gratuita con limitaciones en cuanto funcionalidad, para entornos de alta disponibilidad también hay que licenciar el producto. También cuenta con una consola centralizada.

* Xen Open Source -> Es el hypervisor de Xen de Citrix gestionado por la comunidad de software libre, se puede instalar en distribuciones como SuSE y Debian (RedHat lo ha dejado de lado, de momento). Pese a perder algo de terreno por la necesidad de un kernel adaptado para el Dom-0 el reciente a anuncio de incluirlo dentro de la rama 3.0 del kernel de Linux sin duda van a relanzar su uso (habrá que ver cómo reacciona RedHat). Hay herramientas para administrarlo de manera gráfica pero no son interfaces tan rápidas de desplegar ni tan integradas ni completas como las anteriores.

*KVM -> Otro hypervisor competencia directa de Xen, es la puesta de RedHat para virtualizar y lo dicho del anterior aplica en éste.

* Otros -> OpenVz ... no los voy a desarrollar pues no creo que sean lo que buscas.

Nota1: Si vas a virtualizar sistemas Windows, lo únicos certificados por Microsoft son VMware/Vsphere y Xen Server Citrix, los otros se pueden usar sin problemas pero es posible que si tienes algún implantador exigente te tire para atrás una implantación por no estar certificados.

Nota2: Es muy importante saber el hardware que vas a usar, pues algunos de estos sistemas necesitan de una CPU con extensiones de virtualización. Depende de la magnitud de tu proyecto necesitarás almacenamiento externo, cambios en la topología de red (posiblemente nuevo equipamiento) y un largo etc., etc.

Por lo poco que nos comentas, entiendo que buscar algo rápido con lo que pelearse poco y sencillo de configurar, y con una potente interfaz de gestión, en ese caso los dos primeros son la elección más acertada. Pero avisarte si estás empezando ahora a virtualizar, que consolidar los servicios en entornos virtuales no es nunca algo trivial y pese a que las herramientas permitan un despliegue rápido hay que entender que vas a cambiar la base de tus sistemas, que van a aparecer nuevas necesidades, nuevos problemas y en general los procedimientos y protocolos de administración van a sufrir grandes cambios, un proyecto de virtualización es uno de los más serios que se pueden dar en un CPD y en donde hay que valorar muchas elementos.

Por último animarte a documentarte bien y probar varias soluciones hasta que encuentres la que se adapte a tus necesidades”.
  • “Haz la prueba con SO ComFusion 3 basado en Ubuntu 10.04 LTS”. 

  • “Centrándome en software con licencia open source, tienes Xen (la rama opensource) y KVM. También está Virtualbox OSE (la vertiente opensource de la actual OracleVM), pero si la comparas con la última, le faltan features y la cosa pierde gracia, así que la voy a obviar.

    Ambas (Xen y KVM) tienen interfaz gráfica, pero para acceder a la mayoría de funcionalidades avanzadas tienes que tirar de consola/terminal (así que mejor hacerte amigo de ella). Sin embargo y como comentó Jerónimo, Xen requiere adaptar el kernel del guest y en general es más complejo (aunque se dice que puedes obtener un rendimiento superior, pero eso depende de muchos factores a parte de la tecnología de virtualización elegida).

    También, como comentó el compañero, actualmente es importante (porque supone una mejora interesante de rendimiento) el poseer de extensiones de virtualización por hardware en el procesador”. 

  • “Si tienes Linux y quieres virtualizar exclusivamente Linux, OpenVZ es interesantísimo, y el rendimiento es insuperable. También necesita un kernel "parcheado" pero es instalable en todas las distribuciones importantes, seguro que en SUSE también. Yo tengo esto sobre Debian y he llegado a tener funcionando hasta 12 máquinas en un portátil con 2Gb de RAM. Aquí no importa tu hardware realmente si soporta el kernel de OpenVZ”. 

  • “Yo solo utilizo VirtualBox para hacer pruebas sin de software o de sistemas operativos en mi equipo de sobremesa (léase trastear). ;-)

    En instalaciones más serias normalmente intento siempre trabajar con software libre en la medida de lo posible y como plataforma de virtualización utilizo Proxmox. ¿Alguien lo ha utilizado? Proxmox es una plataforma basada en Debian que permite montar infraestructuras virtuales de dos formas: por medio de KVM o bien OpenVZ. Depende del tipo de trabajo a realizar, se puede optar por una u otra cosa. Si se trata de montar algo para LAMP por ejemplo, personalmente prefiero OpenVZ. Es sencillo, ligero, fácil de gestionar, rápido, etc., pero no sirve para virtualizar cualquier cosa (realmente no es una virtualización real sino una especie de jaula). También permite un número mayor de máquinas virtuales en una máquina fija (densidad le llaman a eso), por su escaso consumo de recursos. La opción no-libre de OpenVZ, (Virtuozzo), creo que es muy utilizada en ISPs y servicios de hosting por esta razón. Y por no necesitar, ni siquiera precisa de las extensiones de virtualización del procesador. Vamos, que corre en casi cualquier cosa.

    KVM es necesario cuando se necesita virtualizar máquinas enteras y de forma completa o bien otros sistemas que no son GNU/Linux. Es muy potente y bajo mi punto de vista, con un buen rendimiento.

    Xen hace tiempo que no lo utilizo. Trasteé bastante con él cuando era incluído por CentOS, pero teniendo una opción más específica como Proxmox y además basada en Debian, me cambié. :-)

    Comentar de paso que Proxmox tal como comentaba Edward, tiene una gestión vía web de más o menos lo básico (le faltan cosas, pero todo llegará, como todo lo que está en plena evolución). Yo tengo servidores en producción montados con Proxmox, y de momento no ha habido mayores problemas.

    Esto refiriéndome a lo que normalmente toco, que es PYME y similares. Supongo que en gran empresa la cosa puede cambiar bastante”. 

  • “El "problema" de proxmox es que es una distribución basada en Debian y aquí quieren, sus motivos tendrán, SUSE. Yo sí lo he probado y aseguro que funciona de miedo. También prefiero OpenVZ aunque yo lo manejo exclusivamente por consola”.

No hay comentarios: