Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Componentes de zonas

Esta sección describe los componentes de zona obligatorios y opcionales que pueden configurarse. En Datos de configuración de zonas se proporciona información adicional.

Nombre y ruta de la zona

Debe elegir un nombre y una ruta para la zona.

Zona autoboot

La configuración de la propiedad autoboot determina si la zona se inicia automáticamente al iniciar la zona global. También debe habilitarse el servicio de zonas, svc:/system/zones:default.

Asociación de agrupaciones de recursos

Si ha configurado agrupaciones de recursos en el sistema tal como se describe en el Capítulo 13Creación y administración de agrupaciones de recursos (tareas), puede utilizar la propiedad pool para asociar la zona con una de las agrupaciones de recursos al configurar la zona.

A partir de Solaris 10 8/07, si no tiene configuradas las agrupaciones de recursos, puede especificar que un subconjunto de los procesadores del sistema se dedique a una zona no global mientras se ejecuta utilizando el recurso dedicated-cpu. El sistema creará dinámicamente una agrupación temporal para utilizar mientras se ejecuta la zona. Con la especificación a través de zonecfg, la configuración de la agrupación se propaga durante las migraciones.


Nota –

Una configuración de zona que utiliza un conjunto de agrupaciones persistentes mediante la propiedad pool es incompatible con una agrupación temporal configurada mediante el recurso dedicated-cpu. Puede definir sólo una de estas dos propiedades.


Solaris 10 8/07: recurso dedicated-cpu

El recurso dedicated-cpu especifica que un subconjunto de los procesadores del sistema debe dedicarse a una zona no global mientras se ejecuta. Cuando se inicia la zona, el sistema crea dinámicamente una agrupación temporal para utilizar mientras se ejecuta la zona.

Con la especificación en zonecfg, la configuración de la agrupación se propaga durante las migraciones.

El recurso dedicated-cpu establece los límites de ncpus y, opcionalmente, importance.

ncpus

Especifique el número de CPU o un intervalo, por ejemplo 2–4 CPU. Si especifica un intervalo porque desea que la agrupación de recursos tenga un comportamiento dinámico, haga también lo siguiente:

importance

Si utiliza un intervalo de CPU para conseguir un comportamiento dinámico, defina también la propiedad importance. La propiedad importance, que es opcional, define la importancia relativa de la agrupación. Esta propiedad sólo se necesita cuando especifica un intervalo para ncpus y está utilizando agrupaciones de recursos dinámicos administradas por poold. Si poold no está en ejecución, se omite importance. Si poold está en ejecución y no se configura importance, importance tendrá el valor de 1 de forma predeterminada. Para obtener más información, consulte Restricción de la propiedad pool.importance.


Nota –

Los recursos capped-cpu y dedicated-cpu son incompatibles. Los recursos cpu-shares rctl y dedicated-cpu son incompatibles.


Solaris 10 5/08: recurso capped-cpu

El recurso capped-cpu proporciona un límite de grano fino absoluto de la cantidad de recursos de CPU que un proyecto o una zona pueden consumir. Al utilizarse con conjuntos de procesadores, los recursos capped-cpu limitan el uso de las CPU en un conjunto. El recurso capped-cpu tiene una sola propiedad ncpus que es un número positivo con dos decimales. Esta propiedad corresponde a unidades de CPU. El recurso no acepta un intervalo. El recurso acepta un número decimal. Cuando se especifica ncpus, un valor de 1 significa el 100 por ciento de una CPU. Un valor de 1,25 significa el 125 por ciento, ya que el 100 por ciento corresponde a toda una CPU del sistema.


Nota –

Los recursos capped-cpu y dedicated-cpu son incompatibles.


Clase de planificación en una zona

Puede utilizar el programador de reparto justo (FSS) para controlar la asignación de los recursos de CPU disponibles entre las zonas, basándose en la importancia de las cargas de trabajo en la zona. Dicha importancia se expresa con el número de recursos compartidos de la CPU que asigna a cada zona. Aunque no utilice FSS para administrar la asignación de recursos de la CPU entre las zonas, puede configurar la clase de planificación de la zona para que utilice FSS y pueda definir los recursos compartidos de los proyectos en la zona.

Cuando define la propiedad cpu-shares de forma explícita, el programador de reparto justo (FSS) se utilizará como clase de planificación para dicha zona. Sin embargo, se recomienda utilizar FSS como la clase de planificación predeterminada con el comando dispadmin. De este modo, todas las zonas se beneficiarán de un reparto justo de los recursos de la CPU del sistema. Si no se configura cpu-shares para una zona, la zona utilizará la clase de planificación predeterminada del sistema. Las acciones siguientes definen la clase de planificación para una zona:

Puede utilizar el comando priocntl descrito en la página del comando man priocntl(1) para mover los procesos en ejecución a una clase de planificación diferente sin cambiar la clase de planificación predeterminada ni reiniciar.

Solaris 10 8/07: control de memoria física y recurso capped-memory

El recurso capped-memory establece los límites para la memoria physical, swap, y locked. Cada límite es opcional, pero debe configurarse como mínimo uno.


Nota –

Normalmente, las aplicaciones no bloquean cantidades importantes de memoria, pero, si lo desea, puede establecer memoria bloqueada si se sabe que las aplicaciones de la zona bloquean la memoria. Si le preocupa la confianza en una zona, también puede establecer un límite de memoria bloqueada de hasta un 10% de la memoria física del sistema o un 10% del límite de la memoria física de la zona.


Para más información, consulte el Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general), Capítulo 11Administración del daemon de límite de recursos (tareas) y Cómo configurar la zona. Para definir temporalmente un límite de recursos para una zona, consulte Cómo especificar un límite de recursos temporal para una zona .

Interfaces de red de zona

Las interfaces de red de zona configuradas por el comando zonecfg para proporcionar conectividad de red se configurarán automáticamente y se colocarán en la zona cuando se inicie.

La capa de protocolo de Internet (IP) acepta y entrega paquetes para la red. Esta capa incluye rutas IP, el protocolo de resolución de dirección (ARP), la arquitectura de seguridad IP (IPsec) y el filtro IP.

Hay dos tipos de IP disponibles para las zonas no globales: direcciones IP compartidas y direcciones IP exclusivas. La zona de IP compartida comparte una interfaz de red y la zona de IP exclusiva debe tener una interfaz de red dedicada.

Para obtener información sobre las funciones IP de cada tipo, consulte Redes en zonas no globales de IP compartida y Solaris 10 8/07: redes en zonas no globales de IP exclusiva.

Zonas no globales de dirección IP compartida

La zona de IP compartida es el tipo predeterminado. Debe tener una o más direcciones IP dedicadas. Una zona de IP compartida comparte la configuración de capa de la IP y el estado con la zona global. La zona debe utilizar la instancia de IP compartida si se cumplen las dos condiciones siguientes:

A las zonas de IP compartida se asignan una o más direcciones IP utilizando el comando zonecfg. Los nombres del vínculo de datos también deben configurarse en la zona global.

Estas direcciones se asocian con las interfaces de red lógicas. El comando ifconfig puede utilizarse desde la zona global para añadir o eliminar interfaces lógicas en una zona en ejecución. Para más información, consulte Interfaces de red de IP compartida.

Solaris 10 8/07: zonas no globales de IP exclusiva

Las zonas de IP exclusiva cuentan con todas las funciones del nivel de IP.

Una zona de IP exclusiva tiene su propio estado relacionado con la IP.

Esto incluye la posibilidad de utilizar las siguientes funciones en una zona de IP exclusiva:

A una zona de IP exclusiva se le asigna su propio conjunto de vínculos de datos utilizando el comando zonecfg. A la zona se le asigna un nombre de vínculo de datos como xge0, e1000g1 o bge3200, utilizando la propiedad physical del recurso net. La propiedad address del recurso net no está configurada.

Tenga en cuenta que el vínculo de datos asignado permite utilizar el comando snoop.

El comando dladm puede utilizarse con el subcomando show-linkprop para mostrar la asignación de vínculos de datos a las zonas de IP exclusiva en ejecución. El comando dladm puede utilizarse con el subcomando set-linkproppara asignar vínculos de datos adicionales a las zonas en ejecución. Consulte Solaris 10 8/07: administración de vínculos de datos en zonas no globales de IP exclusiva para ver ejemplos de uso.

En una zona de IP exclusiva en ejecución, el comando ifconfig puede utilizarse para configurar la dirección IP, que incluye la posibilidad de añadir o eliminar interfaces lógicas. La configuración IP de una zona puede configurarse del mismo modo que la zona global, utilizando sysidtools tal como se describe en sysidcfg(4).


Nota –

La configuración IP de una zona de IP exclusiva sólo puede verse desde la zona global utilizando el comando zlogin. A continuación se muestra un ejemplo.


global# zlogin zone1 ifconfig -a

Diferencias de seguridad entre las zonas globales de IP compartida y de IP exclusiva

En una zona de IP compartida, las aplicaciones de la zona, incluido el superusuario, no pueden enviar paquetes con direcciones IP de origen que no sean las asignadas a la zona con la utilidad zonecfg. Este tipo de zona no tiene acceso para enviar y recibir paquetes de vínculos de datos arbitrarios (capa 2).

En una zona de IP exclusiva, zonecfg concede el vínculo de datos completo especificado a la zona. Como resultado, el superusuario de una zona de IP exclusiva puede enviar paquetes spoofed en uno de esos vínculos de datos, al igual que puede hacerse en la zona global.

Uso simultáneo de zonas no globales de IP compartida e IP exclusiva

Las zonas de IP compartida siempre comparten la capa IP con la zona global, y las zonas de IP exclusiva siempre tienen su propia instancia de la capa IP. Pueden utilizarse tanto zonas de IP compartida como zonas de IP exclusiva en el mismo equipo.

Sistemas de archivos montados en zonas

Generalmente, los sistemas de archivos montados en una zona incluyen:

Puede incluir, por ejemplo, los siguientes sistemas de archivos:

Los montajes llevados a cabo desde el entorno de aplicación tienen determinadas limitaciones. Estas limitaciones evitan que el administrador de zona deniegue el servicio al resto del sistema, o que tenga repercusiones negativas en otras zonas.

Existen limitaciones de seguridad asociadas con el montaje de determinados sistemas de archivos dentro de una zona. Otros sistemas de archivos muestran un comportamiento especial cuando se montan en una zona. Consulte Sistemas de archivos y zonas no globales para obtener más información.

Dispositivos configurados en zonas

El comando zonecfg utiliza un sistema de concordancia de reglas para especificar los dispositivos que deben aparecer en una zona específica. Los dispositivos que concuerdan con una de las reglas se incluyen en el sistema de archivos /dev de la zona. Para obtener más información, consulte Cómo configurar la zona.

ID de host en zonas

Puede establecer una propiedad hostid para la zona no global que sea diferente del hostid de la zona global. Esto se realizaría en el caso de un equipo físico consolidado en una zona utilizando la función de físico a virtual. Las aplicaciones que estén actualmente en el interior la zona podrían depender del hostid original, y es posible que no se pudiera actualizar la configuración de la aplicación. Consulte Tipos de propiedades y recursos para obtener más información.

Configuración de controles de recursos de zonas

El administrador global puede establecer controles de recursos de zonas con privilegios para una zona. Los controles de recursos de la zona limitan el uso total de los recursos de todas las entidades de procesos de una zona.

Estos límites se especifican tanto para las zonas globales como para las no globales utilizando el comando zonecfg. Consulte Cómo configurar la zona.

A partir de Solaris 10 8/07, el método recomendado y más sencillo para configurar un control de recursos de zona es utilizar el nombre de propiedad en lugar del recurso rctl.

Solaris 10 5/08: El control de recurso zone.cpu-cap establece un límite absoluto en la cantidad de recursos de CPU que una zona puede consumir. Un valor de 100 significa el 100 por ciento de una CPU como opción de project.cpu-cap. Un valor de 125 representa el 125 por ciento, ya que el 100 por ciento corresponde a una CPU completa del sistema al utilizar el recurso cpu-cap.


Nota –

Al establecer el recurso capped-cpu, se puede establecer un número decimal para la unidad. El valor está correlacionado con el control de recurso zone.capped-cpu , pero la configuración se reduce a 100. Una configuración de 1 es equivalente a una configuración de 100 para el control de recursos.


El control de recurso zone.cpu-shares establece un límite para el número de recursos compartidos de la CPU del programador de reparto justo (FSS) para una zona. Los recursos compartidos de la CPU se asignan en primer lugar a la zona, y luego se subdividen entre los proyectos de la zona tal como se especifica en las entradas project.cpu-shares. Para obtener más información, consulte Uso del programador de reparto justo en un sistema Solaris con zonas instaladas. El nombre de propiedad global para este control es cpu-shares.

El control de recurso zone.max-locked-memory limita la cantidad de memoria física bloqueada disponible para una zona. La asignación del recurso de memoria bloqueado para los proyectos de la zona se puede realizar con el control de recurso project.max-locked-memory. Consulte la Tabla 6–1 para obtener más información.

El control de recurso zone.max-lwps mejora el aislamiento del recurso al evitar que demasiados procesos ligeros (LWP) de la zona afecten a otras zonas. La asignación del recurso LWP para los proyectos de la zona se puede realizar con el control de recurso project.max-lwps. Consulte la Tabla 6–1 para obtener más información. El nombre de propiedad global de este control es max-lwps.

Los controles de recurso zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids y zone.max-shm-memory se utilizan para limitar los recursos de System V que utilizan todos los procesos de una zona. La asignación de los recursos de System V para los proyectos de la zona puede realizarse con las versiones de proyecto de estos controles de recurso. Los nombres de propiedad global de estos controles son max-msg-ids, max-sem-ids, max-shm-ids y max-shm-memory.

El control de recurso zone.max-swap limita el intercambio que consumen las asignaciones de espacio de dirección del proceso de usuario y los montajes tmpfs de una zona. La salida de prstat -Z muestra una columna de intercambio. El intercambio que se registra es el intercambio total que consumen los montajes tmpfs y los procesos de la zona. Este valor ayuda a supervisar el intercambio reservado por cada zona, que se puede utilizar para elegir la configuración adecuada de zone.max-swap.

Tabla 17–1 Controles de recursos de la zona

Nombre de control 

Nombre de propiedad global 

Descripción 

Unidad predeterminada 

Valor utilizado para 

zone.cpu-cap

 

Solaris 10 5/08: límite absoluto de la cantidad de recursos de CPU para esta zona.

Cantidad (número de CPU), expresada como porcentaje 


Nota –

Al establecer el recurso capped-cpu, se puede establecer un número decimal para la unidad.


 

zone.cpu-shares

cpu-shares

Número de recursos compartidos de CPU del planificador de reparto justo (FSS) para esta zona. 

Cantidad (recursos compartidos) 

 

zone.max-locked-memory

 

Cantidad total de memoria física bloqueada disponible para una zona. 

Si se asigna priv_proc_lock_memory a una zona, procure configurar también este control de recurso para evitar que la zona bloquee toda la memoria.

Tamaño (bytes) 

Propiedad locked de capped-memory.

zone.max-lwps

max-lwps

Número máximo de procesos ligeros disponibles de forma simultánea para esta zona. 

Cantidad (LWP) 

 

zone.max-msg-ids

max-msg-ids

Número máximo de ID de cola de mensajes permitidos para esta zona. 

Cantidad (ID de cola de mensajes) 

 

zone.max-sem-ids

max-sem-ids

Número máximo de ID de semáforo permitidos para esta zona. 

Cantidad (ID de semáforo) 

 

zone.max-shm-ids

max-shm-ids

Número máximo de ID de memoria compartida permitidos para esta zona. 

Cantidad (ID de memoria compartida) 

 

zone.max-shm-memory

max-shm-memory

Cantidad total de memoria compartida System V permitida para esta zona. 

Tamaño (bytes) 

 

zone.max-swap

 

Cantidad total de intercambio que pueden consumir las asignaciones de espacio de direcciones del proceso del usuario y los montajes tmpfs para esta zona.

Tamaño (bytes) 

Propiedad swap de capped-memory

Estos límites pueden especificarse para ejecutar procesos utilizando el comando prctl. Se incluye un ejemplo en Cómo definir recursos compartidos de FSS en la zona global mediante el comando prctl. Los límites especificados a través del comando prctl no son persistentes. Los límites sólo surten efecto cuando se reinicia el sistema.

Solaris 10 11/06 y posteriores: privilegios configurables

Cuando se inicia una zona, se incluye en la configuración un conjunto predeterminado de privilegios safe. Estos privilegios se consideran seguros porque evitan que un proceso con privilegios de la zona afecte a los procesos de otras zonas no globales en el sistema o en la zona global. Puede utilizar el comando zonecfg para:


Nota –

Existen unos cuantos privilegios que no se pueden eliminar del conjunto de privilegios predeterminado de la zona, y hay otros tantos que no se pueden añadir al conjunto en este momento.


Para más información, consulte Privilegios en una zona no global, Cómo configurar la zona y privileges(5).

Inclusión de un comentario para una zona

Puede añadir un comentario para una zona utilizando el tipo de recurso attr. Para obtener más información, consulte Cómo configurar la zona.