Contenedores Solaris

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de marzo de 2013; las comprobaciones requieren 7 ediciones .

Solaris Containers (incluidas Solaris Zones ) es una implementación a nivel de sistema operativo de la tecnología de virtualización presentada por Sun Microsystems en 2005 para Solaris 10 .

Las zonas funcionan como servidores virtuales completamente aislados dentro de una única instancia del sistema operativo. Al ejecutar muchos servicios en el mismo sistema y colocar cada uno de ellos en su propio contenedor virtual, el administrador del sistema puede crear el mismo nivel de protección en una máquina como si todos los servicios se ejecutaran en diferentes máquinas.

Terminología

Siempre hay una zona en el sistema, llamada " zona global " . La zona global es la instancia del sistema operativo que se carga cuando se enciende la computadora. Otras zonas se conocen como no globales ( "zonas no globales" ), o simplemente zonas . No se recomienda el término "zona local", ya que en este contexto la palabra "local" no es un antónimo de la palabra "global". La zona global tiene la capacidad de controlar todos los procesos, independientemente de la zona en la que se estén ejecutando. Por lo tanto, el sistema siempre tiene una zona global y posiblemente zonas no globales. A menos que se indique lo contrario, el término "zona" en este artículo se referirá a zonas no globales.

Descripción

Cada zona tiene su propio nombre de red, interfaces de red virtual y sistemas de almacenamiento; No hay límite para el hardware mínimo que admite una zona, aparte del espacio mínimo en disco necesario para mantener la configuración única de una zona. Cabe destacar que una zona no necesita un procesador, memoria, interfaz de red física o HBA dedicados, aunque cualquiera de estos puede estar dedicado a una zona.

Cada zona tiene un sistema de seguridad que evita que los procesos interactúen o monitoreen procesos en otras zonas. Cada zona puede tener su propia lista de usuarios. El sistema resuelve automáticamente los conflictos cuando se utilizan las mismas identificaciones de usuario en diferentes zonas; por ejemplo, dos zonas en el sistema pueden tener un usuario con ID 10000.

A una zona se le puede asignar un grupo de recursos (un conjunto de procesadores y memoria) para garantizar una cantidad mínima de recursos. Una zona puede estar en uno de los siguientes estados:

Algunos programas no pueden ejecutarse dentro de una zona no global; esto generalmente se debe a que la aplicación requiere privilegios que no se pueden otorgar dentro del contenedor. Dado que una zona no tiene su propio kernel (a diferencia de una máquina virtual de hardware), es posible que las aplicaciones que requieren acceso directo a las funciones del kernel no se ejecuten en un contenedor.

Recursos

Las zonas tienen muy poco impacto en el uso de CPU y memoria. Actualmente, se puede ejecutar un máximo de 8191 zonas no globales dentro de una sola instancia de sistema operativo. Las zonas pueden ocupar hasta 50 MB de espacio en disco.

Zonas marcadas

Aunque todas las zonas de un sistema comparten un núcleo común, es posible ejecutar instancias de sistemas operativos que no sean el sistema de la zona global. Para ello configura zonas tipificadas ( branded zones o BrandZ ). El motor BrandZ permite ejecutar aplicaciones en Solaris que se compilaron originalmente para su ejecución en otros sistemas operativos sin volver a compilar.

Cuando un programa se ejecuta en una zona con marca, el kernel de Solaris maneja las llamadas recibidas desde esa zona como las manejaría un kernel del sistema nativo de las aplicaciones en esa zona.

Contenedores implementados para los sistemas operativos Linux , Solaris 8 , Solaris 9 y Solaris 10 . La emulación de Red Hat Enterprise Linux 3 está disponible en Solaris en la plataforma x86 . La emulación requiere bibliotecas Red Hat 3 o bibliotecas CentOS equivalentes . Usando algunos trucos, puede emular Debian [1] .

El proyecto OpenSolaris s10brand utiliza el motor BrandZ para crear contenedores para aplicaciones de Solaris 10 en OpenSolaris . Los resultados del proyecto se integran en OpenSolaris build 127.

Es técnicamente posible implementar soporte de zona para SuSE Linux , FreeBSD y Darwin en x86 [2] . Sin embargo, hasta agosto de 2010 no se publicaba información sobre los casos de funcionamiento de estos sistemas en zonas de marca.

Funciones de implementación

Las zonas con marca no son compatibles con la arquitectura sun4us . Los paquetes se pueden instalar en servidores Fujitsu PRIMEPOWER que ejecutan Solaris 10, pero intentar usar zonas generará un error.

Tecnologías similares

Otras implementaciones de tecnología de virtualización a nivel de sistema operativo incluyen OpenVZ / Virtuozzo , Linux-VServer , FreeBSD Jail , FreeVPS , cuentas virtuales Icore y AIX Workload Partitions .

Notas

  1. SunHelp.Ru: Raising Debian Etch in BrandZ Archivado el 2 de mayo de 2008.
  2. Preguntas frecuentes sobre BrandZ/SCLA (Grupo comunitario brandz.brandz_lae_faq) - XWiki (enlace no disponible) . Consultado el 19 de septiembre de 2009. Archivado desde el original el 6 de septiembre de 2009. 

Véase también

Enlaces

En inglés

En ruso