Viernes, Noviembre 24, 2017

SmartOS, un sistema operativo derivado de OpenSolaris que combina ZFS, DTrace, Zones y KVM

8681722771_86b72e213f_b.jpg

SmartOS combina cuatro tecnologías extraordinarias en un mismo sistema operativo para proveer un entorno de virtualización multiplataforma que promete revolucionar los centros de cómputo: ZFS+DTrace+Zones+KVM.

Se trata de un hipervisor especializado lo suficientemente liviano para correr completamente en memoria (se puede iniciar mediante PXE, archivos ISO o dispositivos USB), y la su vez completo para soportar cualquier tipo de aplicación, y al mismo tiempo eficiente gracias a la tecnología de zonas y el sistema de archivos ZFS, de Solaris. Gracias a que corre desde una imagen "live", permite olvidarse por completo de cualquier error de actualización o similar. En caso de fallo, simplemente volver a una imagen previa. El uso de sistemas de archivos ZFS garantiza integridad, con particular énfasis en prevenir la corrupción de datos no detectada o silenciosa. Cuenta con para-virtualización mediante zonas altamente seguras (ya que la mayor parte del software de sistema es de sólo lectura), y también virtualización con KVM. Tal vez el único sistema operativo que ofrece y soporta al mismo tiempo ambos paradigmas de virtualización en un mismo paquete.

SmartOS se basa en el kernel illumos, un fork open source de OpenSolaris (uno de los sistemas operativos más confiables a nivel corporativo en la historia de la computación), a su vez descendiente de UNIX System V Release 4. Es un proyecto desarrollado por Joyent (los creadores de Node.js), una compañía de software y servicios especializada en cloud computing y virtualización. Esto da la pauta de que se trata de un producto de alta calidad, pues es la plataforma tecnológica que utilizan para competir, por ejemplo, con Amazon AWS. De acuerdo a su sitio Web, SmartOS es y será siempre open source.

Posee características avanzadas como el gestor de inicio de servicios SMF (Service Management Facility) que permite recuperarse rápidamente en caso de fallos o congestiones en el servicio, planificación de CPU justa y eficiente mediante el uso de CPU Caps y Shares, limitación y control de disco y entrada/salida, entre otras, con el objetivo de lograr un buen comportamiento entre vecinos en entornos multi-tenant masivos.

A su vez, la tecnología DTrace (Dynamic Tracing) permite detectar rápidamente qué está funcionando mal y por qué cuando algo no se comporta como debería a través de la pila de software, en tiempo real y en producción.

Ambos tipos de virtualización se soportan de la siguiente forma:

  • OS Virtual Machines (Zonas): las zonas (una tecnología inspirada en los jails de FreeBSD) ofrecen una solución de paravirtualización liviana, completa y segura, en espacio usuario, compartiendo un mismo kernel global. Esto permite lograr un rendimiento cercano al metal y todas las características que ofrece illumos, como por ejemplo la capacidad de introspección dinámica mediante DTrace.
  • KVM Virtual Machines: la tecnología de virtualización completa KVM de Linux permite correr diferentes sistemas operativos como Linux, Windows, *BSD, etc.

Dado que corre completamente en memoria, es posible dedicar completamente los discos para las máquinas virtuales, sin desperdiciar espacio para el huésped. Esta arquitectura tiene otras ventajas incluyendo mayor seguridad, evitar parches, actualizaciones rápidas y mucho menor tiempo de recuperación.

El entorno de virtualización de SmartOS se construye sobre las tecnologías fundacionales de illumos, heredadas de OpenSolaris, entre las que se destacan:

  • ZFS para la virtualización del espacio de almacenamiento.
  • Crossbow (dladm) para virtualización de redes.
  • Zonas para virtualización y contención de procesos.
  • DTrace para introspección y monitoreo de recursos.
  • SMF para la gestión de servicios.
  • RBAC/BSM para auditoría y seguridad basada en roles.

Típicamente se "instala" descargando y copiando una imagen en un dispositivo USB, para luego bootear desde el mismo. En el primer inicio, una herramienta de configuración inicializa la red y establece la contraseña de root, par aluego crear los pooles ZFS que proveerán el almacenamiento persistente para las máquinas virtuales.

Una vez que se inicia sesión se ingresa en la zona global. Desde allí es posible descargar "VM Images" utilizando la herramienta imgadm, las cuales son sistemas operativos pre-configurados (OS Zones) y máquinas virtuales KVM. Luego se puede utilizar la herramienta vmadm para crear y gestionar a ambos (OS y KVM).

Un aspecto importante de SmartOS es que tanto los OS implementados como zonas, como las máquinas virtuales KVM, se construyen sobre la tecnología de zonas. En el caso de para-virtualización (OS Zones), la máquina virtual guest se provee con un entorno a nivel usuario completo sobre el cual correr aplicaciones directamente. En cambio, en el caso de las máquinas virtuales KVM, se provee sólo el proceso qemu que corre en una zona destripada. Esto ofrece una variedad de ventajas para la administración, por ejemplo un método uniforme para gestionar el control de los recursos, interfaces de red, etc. A su vez los guests KVM poseen una capa de seguridad adicional no ofrecida por otras plataformas KVM (sistemas GNU/Linux y otros).

Finalmente, las máquinas virtuales se describen en formato JSON. Ambas herramientas imgadm y vmadm aceptan y retornan todos los datos en formato JSON. Esto ofrece una interfaz de programación simple y consistente para crear y gestionar máquinas virtuales de forma automática.

Sin dudas se trata de una plataforma extremadamente atractiva para implementar un centro de cómputos moderno y eficiente. Por otro lado, el hecho de que sea la tecnología utilizada por quienes compiten con AWS en el terreno de la computación en la nube (y además sea de código abierto) inspira confianza para tenerlo en cuenta como una opción más que viable para nuestros centros de cómputo.

 

Más información: SmartOS Documentation

Fuente: linuxito

Compártelo. ¡Gracias!

 
Grupo Digital de Ayuda! Laboratorio Linux! - Linux para todos.

¿Quién está en línea?

Hay 108 invitados y ningún miembro en línea

Contador de Visitas

9053805
Hoy Hoy 246
Ayer Ayer 978
Esta semana Esta semana 4411
Este mes Este mes 32296
Total de Visitas Total de Visitas 9053805

Día con más
visitantes

11-11-2017 : 2493

Gracias por su visita