Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

No todo es Vmware y Virtualbox

Esaú A.
  • Escrito por Esaú A. el 23 de Octubre de 2013
  • 5 min de lectura | Servers
No todo es Vmware y Virtualbox

Las virtualizaciones de sistemas o entornos son algo muy utilizado por aquellos que nos movemos constantemente para probar distintos sistemas, comprobar las novedades que se van añadiendo con las revisiones o actualizaciones, etc... pero su uso va mucho más allá de estos simples testeos.

A nivel de implementación de servicios funcionales, pongamos el caso de una empresa que ha dedicado parte de su capital a adquirir varios equipos con un hardware potente, con el fin de poder ofrecer un servicio de hosting a otras empresas con los que incluirá distintos escritorios para cubrir las diferentes necesidades de sus posibles clientes.

Aquí recomendar VirtualBox o VmWare no sería lo idóneo, por lo que veremos un par de herramientas (que además son open source) con las que podremos desarrollar este tipo de tareas. Ambas herramientas puedes hacer uso utilizando Proxmox, aprende como en el curso online con clases .

OpenVZ

Esta primera solución se basa en una tecnología de virtualización a nivel de Sistema Operativo . Esto no significa otra cosa, más que el Kernel que se usará para cada instancia (sistema o equipo virtualizado) será emulado por el programa, que a su vez se basará en el Kernel de la máquina anfitrión, y que los recursos de hardware de este, se verá repartido entre las distintas instancias que levantemos.

RAM Burst

A pesar de crear instancias con unos recursos dedicados concretos que habremos especificado a la hora de "levantarlas", recientemente los desarrolladores han implementado una herramienta muy útil, que han llamado 'RAM Burst' .

La función de dicha ventaja es la siguiente. Si tengo una instancia que está a punto de sobrepasar esos límites de recursos establecidos, y existen otras en las que no se alcanza el 70% de su uso, el sistema necesitado de recursos tomará 'prestada' cierta de los mismos durante ese proceso tan exigente que esté realizando, para cuando acabe la tarea, devolver los límites a los configurados al inicio. En caso de que la instancia 'prestamista' necesitase esos recursos que se le han solicitado, los tomaría sin esperar a que le sean devueltos, con lo que la máquina que estaba al límite de sus recursos, daría síntomas de lentitud.

Virtualiza "solo" el sistema operativo

Al tratarse de un sistema de virtualización a nivel de sistema operativos, pesa muchísimo menos que otras soluciones similares (como KVM que veremos a continuación), moviéndose mejor en equipos que no cuenten con un hardware de virtualización específico. Esta mayor fluidez se debe a su sistema de virtualización, que sólo emula el sistema operativo, evitando la emulación también del Kernel propio de cada instancia, y la consiguiente carga para el procesador y RAM.

Acceso Root y actualización 'en caliente'

La configuración simplificada de discos y red junto con su acceso total de root y la posibilidad de actualización 'en caliente' (sin necesidad de reiniciar ni parar las instancias levantadas en ese momento), hacen de esta herramienta una gran apuesta sobre todo en equipos que no cuenten con hardware a la última.

Sistema de contenedores

Además de todo esto, cuentan con un sistema de 'contenedores' para la carga rápida de instancias. Estos 'contenedores' no son más que sistemas preinstalados y 'preparados' para su despliegue, sin tener más que montarlo puesto que por norma general cuenta por defecto con una configuración básica. Asimismo cuenta también con una extensa comunidad que mantiene el proyecto al día, preparando 'contenedores' de diversas plataformas.

Quizás lo único que podemos encontrarle de negativo a Openvz es el hecho de que sólo funciones en Linux y sólo virtualice distribuciones Linux , aunque bien mirado, casi cuenta como ventaja .

KVM

Kernel Virtual Machine (KVM) o Máquina basada en el núcleo , es la herramienta de Red Hat que, tal y como su nombre nos indica nos ayudará a crear entornos virtuales completo, es decir, con hardware y Kernel 'propio' . Entre sus funciones como hipervisor, es capaz de gestionar y distribuir los recursos compartidos del equipo anfitrión como disco, CPU, red, etc... aunque al contrario que OpenVZ, en caso de que una instancia requiera más RAM de la asignada, no podrá 'tomar prestados' recursos de otras que no los aprovechan.

Simulación de Hardware

Como una de sus características es que simula hardware, podremos ejecutar cualquier Kernel en las instancias (siempre con unos límites), por lo que el nodo del equipo anfitrión queda 'libre' de cualquier compartición, pudiendo llevar a cabo simulaciones de equipos con BSD o Windows como sistemas operativos. Esto también significaría que podemos cargar nuestros propios módulos al Kernel que seleccionemos, además de que añadirá complejidad a la hora de mantener el software actualizado , al contrario que en OpenVZ donde prima la simplicidad.

Velocidad y Fluidez

Otra de sus ventajas es la alta velocidad que proporciona y la fluidez que nos ofrece, principalmente porque tiene módulo propio dentro del Kernel de las distribuciones Linux, desde la versión 2.6 del mismo. Esta agilidad de ejecución también es posible gracias a la existencia de un hipervisor único para todas las instancias. KVM es capaz de funcionar en todo tipo de máquinas, no obstante para aprovechar todas sus funciones deberemos contar con un procesador que cuente con VT en el caso de los Intel, o SVM para los pertenecientes a la casa AMD.

Comando Kill

Siguiendo con las bondades de esta solución de virtualización, por aquello que comentábamos de que posee módulo propio dentro del Kernel de Linux, podríamos utilizar el comando Kill (comúnmente usado para eliminar procesos en ejecución del sistema) para cerrar o 'matar' máquinas virtuales que tuviésemos creadas con KVM, ya que el Kernel lo reconocería como proceso.

Conexiones de Red

KVM soporta 3 tipos de conexiones de red: bridge, route y nat, contando también con tres vías de gestión del software: interfaz web, interfaz gráfica y consola o terminal; dando a los administradores la posibilidad de gestionar todos los recursos telemáticamente. KVM es s oportado por sistema GNU/Linux, Mac, Windows, Solaris y BSD , además de ofrecer más seguridad y privacidad entre las distintas máquinas virtuales levantadas.

Conclusión

De entre estas dos soluciones de virtualización, sólo seremos capaces de saber cuál nos interesaría más cuando tengamos presentes los fines para los que necesitamos la virtualización de entornos; por lo que usaremos o recomendaremos OpenVZ cuando la intención sea ejecutar aplicaciones de espacio de usuario en Linux, cuando no contemos con discos de gran capacidad o cuando contemos con grandes cantidades de usuarios que tengamos que gestionar de forma fácil y rápida. E implementaremos o aconsejaremos KVM cuando una de las principales metas sea la de virtualizar sistemas operativos Windows, Mac, o en definitiva que no sean sistemas Linux; o cuando necesitemos de una configuración más avanzada de seguridad como ipset, nfnetlink, netfilter de cortafuegos, etc...

Por todo esto, os animamos a probar y descubrir cuál de estas herramientas se adapta mejor a vuestras necesidades o requisitos, además de recomendaros suscribiros a la web para estar al día de noticias, 'how to's' y otros artículos interesantes.

Por cierto, para todos los que tengáis interés en estas tecnologías, deciros que se va a comenzar un curso online en pocos días ;)

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars