Este apartado describe todas las funciones de recursos de la versión Solaris 10 3/05 que son nuevas o que se han mejorado desde el lanzamiento del sistema operativo Solaris 9 en mayo de 2002. El sistema operativo Solaris 10 incluye una función vital para los usuarios de Solaris: la tecnología de partición Zonas de Solaris.
Esta función se introdujo en la versión Solaris Express 2/04. En la versión Solaris Express 7/04, se han incorporado nuevas funciones para las zonas.
La tecnología de partición Zonas de Solaris, que es un componente del entorno de contenedores de Solaris, es una tecnología de partición de software que se usa para virtualizar servicios de sistemas operativos y proporcionar un entorno aislado y seguro para ejecutar aplicaciones. Una zona es un entorno de sistema operativo creado en una única instancia del sistema operativo Solaris. Las zonas, básicamente, proporcionan las interfaces de Solaris y los entornos de aplicación estándares y no incluyen nuevas API o ABI que requerirían que las aplicaciones tuvieran que ser modificadas.
Cada zona puede proporcionar un conjunto se servicios personalizados. Las zonas son idóneas para entornos que consolidan varias aplicaciones en un único servidor. Las funciones de gestión de recursos se pueden usar en las zonas para controlar aún más la forma en que las aplicaciones usan los recursos de sistemas disponibles.
Una zona se puede concebir como si fuera una caja. Una o varias aplicaciones se pueden ejecutar en esta caja sin que ello afecte al resto del sistema. Este aislamiento impide que los procesos que se estén ejecutando en una zona puedan modificar los procesos que se ejecutan en otras zonas o interferir en ellos. Incluso un proceso que cuente con credenciales de superusuario y que se ejecute dentro de una zona, no podrá ver las actividades de las otras zonas ni influir en ellas.
La instancia única del sistema operativo Solaris es la zona global. La zona global es tanto la zona predeterminada para el sistema, como la zona que se usa para el control administrativo de todo el sistema. Un administrador que trabaje en la zona global puede crear una o varias zonas no globales. Una vez que las haya creado, dichas zonas no globales pueden ser administradas por administradores de zonas individuales. Los privilegios de un administrador de zona se reducen a una zona no global.
Las zonas no globales proporcionan aislamiento a prácticamente cualquier nivel de granularidad que se desee. Una zona no necesita una CPU dedicada, ni un dispositivo físico ni una porción de memoria física. Estos recursos pueden estar multiplexados a lo largo de varias zonas que se ejecuten en un único sistema o dominio. También pueden estar asignados en función de las zonas usando las funciones de gestión de recursos que estén disponibles en el sistema operativo. Incluso en un sistema pequeño que cuente sólo con un procesador, se pueden ejecutar varias zonas simultáneamente.
Para conseguir el aislamiento de los procesos, cada uno de ellos puede ver únicamente aquellos procesos que existan en la misma zona.
La comunicación básica entre las zonas se produce gracias a que cada zona cuenta al menos con una interfaz de red lógica. Las aplicaciones que se ejecutan en distintas zonas del mismo sistema pueden vincularse al mismo puerto de red usando bien las distintas direcciones IP asociadas a cada zona, bien una dirección con comodines. Una aplicación que se ejecute en una zona no puede observar el tráfico de red de otra zona. Este aislamiento se mantiene aunque los respectivos flujos de paquetes viajen a través de la misma interfaz física.
Cada zona cuenta con una porción de la jerarquía del sistema de archivos. Como cada zona está limitada a su árbol de la jerarquía del sistema de archivos, una carga de trabajo que se esté ejecutando en una zona concreta no puede acceder a los datos que estén en un disco de otra carga de trabajo que se ejecute en una zona diferente.
Los archivos utilizados por los servicios de nombres residen en la vista de un sistema de archivos root propia de una zona. De esta forma, los servicios de nombre que estén en distintas zonas estarán aislados unos de otros y podrán configurarse de forma diferente.
Para obtener más información acerca de cómo configurar y usar las zonas en su sistema, consulte la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris.
La función de controles de recursos (rctls) se introdujo en el software Solaris 9. Otros controles de recursos adicionales se introdujeron en el programa piloto Software Express y en las versiones Solaris Express 3/04, 8/04 y 10/04.
Se han agregado nuevos controles de recursos, tanto basados en proyectos como en procesos. Los controles de recursos proporcionan un mecanismo para controlar la forma en que las aplicaciones usan los recursos de sistema.
En el programa piloto Software Express, se agregaron los siguientes controles de recursos. Estos controles de recursos influyen en las utilidades System V IPC (comunicación entre los procesos), donde se incluye la memoria compartida, las colas de mensajes y los semáforos.
project.max-shm-ids
project.max-sem-ids
project.max-msg-ids
project.max-shm-memory
process.max-sem-nsems
process.max-sem-ops
process.max-msg-qbytes
Consulte Configuración de System V IPC para obtener más información.
En la versión Solaris Express 3/04, se han agregado los siguientes controles de recursos de puertos de eventos:
project.max-device-locked-memory
project.max-port-ids
process.max-port-events
En la versión Solaris Express 8/04, se han agregado los siguientes controles de recursos nuevos:
project.max-lwps
project.max-tasks
En la versión Solaris Express 10/04, se ha agregado el control de recursos project.max-contracts.
En la versión Solaris Express 11/04, se ha agregado el control de recursos criptográficos process.max-crypto-memory.
Puede encontrar información sobre los controles de recursos en el capítulo 6, "Resource Controls (Overview)", de Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris. Este capítulo incluye los siguientes apartados:
Una lista de los controles de recursos disponibles actualmente
Una descripción general de los controles de recursos
Información sobre la configuración de los controles de recursos
También encontrará información acerca de la configuración de los controles de recursos en la página de comando man project(4).
Esta función se introdujo en la versión Solaris Express 7/04.
Entre las mejoras efectuadas en los comandos de control de recursos y de base de datos de los proyectos que se introdujeron en la versión Solaris Express 7/04, se incluyen las siguientes:
Valor escalado y compatibilidad con el modificador de unidades para los comandos y los valores de control de recursos.
Validación mejorada y facilitación de la gestión del campo de atributos del proyecto
Consulte también la página de comando man project(4).
Formato de salida revisado y nuevas opciones para los comandos prctl y projects
Consulte las páginas de comando man prctl(1) y projects(1).
Para obtener información acerca de los cambios introducidos, consulte los siguientes capítulos de la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris:
Capítulo 2, “Projects and Tasks (Overview)”
Capítulo 3, “Administering Projects and Tasks”
Capítulo 6, “Resource Controls (Overview)”
Capítulo 7, “Administering Resource Controls (Tasks)”
Tenga en cuenta que, en este manual, se ha actualizado la información acerca de la configuración del proyecto predeterminado del usuario mediante los comandos useradd, usermod y passmgmt. Encontrará información sobre estos comandos en las páginas de comando man useradd(1M), usermod(1M) y passmgmt(1M).
Consulte también las siguientes páginas de comando man:
Esta función se introdujo en la versión Solaris Express 1/04.
Los conjuntos de recursos dinámicos (DRP, del inglés Dynamic Resource Pools) proporcionan un mecanismo para ajustar la asignación de recursos de cada conjunto como respuesta a los eventos del sistema y a los cambios en la carga de las aplicaciones que tienen habilitados los conjuntos de recursos. Los ajustes se realizan automáticamente para mantener los objetivos de rendimiento del sistema especificados por el administrador. Se registran los cambios efectuados en la configuración.
Estas funciones se aplican principalmente mediante el controlador de recursos poold, que es un daemon de sistema que se activa cuando se debe realizar una asignación de recursos dinámica. Periódicamente, poold examina la carga del sistema y determina si es necesario intervenir para habilitar el sistema con objeto de mantener los objetivos especificados de utilización de recursos. El daemon realiza la acción correctora, si es posible, o se registra la condición.
Para obtener más información, consulte los siguientes capítulos de la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris:
Capítulo 12, “Dynamic Resource Pools (Overview)”
Capítulo 13, “Administering Dynamic Resource Pools (Tasks)”
Capítulo 14, “Resource Management Configuration Example”
Consulte también las siguientes páginas de comando man:
En mayo de 2002, cuando se lanzó el sistema operativo Solaris 9, la contabilidad ampliada era una función nueva. El programa piloto Software Express introdujo mejoras en la contabilidad de los flujos y una interfaz Perl. Estas mejoras también se incluyen en la versión Solaris 10 3/05.
Para los usuarios de Solaris 9, las mejoras en la contabilidad de flujos se introdujeron en la versión Solaris 9 9/02. La interfaz Perl se incluyó en la versión Solaris 9 4/03.
Se pueden utilizar procesos de contabilidad ampliada junto con el módulo de contabilidad de flujo para IPQoS. Para obtener información sobre IPQoS, consulte la parte VII, "IP Quality of Service (IPQoS)", de la Guía de administración del sistema: servicios IP.
Para obtener información sobre la función de contabilidad ampliada, consulte el capítulo 5, “Administering Extended Accounting (Tasks)”, de la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris.
Una interfaz Perl para libexacct está ahora disponible en las versiones de Software Express. Esta interfaz permite crear secuencias Perl que pueden leer los archivos de contabilidad producidos por la estructura exacct. También puede crear secuencias Perl que escriban archivos exacct. La nueva interfaz tiene las mismas funciones que la API de C subyacente.
Puede usar la interfaz Perl para registrar el consumo de recursos del sistema en una tarea o proceso. También puede registrar el consumo según los selectores proporcionados por el módulo IPQoS flowacct.
Para obtener más información, consulte las siguientes páginas de comando man:
Para obtener información sobre cómo configurar y utilizar la contabilidad ampliada con las mejoras descritas en este apartado, consulte el capítulo 4, “Extended Accounting (Overview)”, de la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris.
Esta función se introdujo en el programa piloto Software Express y en Solaris 9 12/03. Además, se incluye en la versión Solaris 10 3/05.
El control de memoria física que usa el daemon de limitación de recursos es una función optativa. El daemon de limitación de recursos rcapd regula el consumo de memoria física por parte de los procesos que se ejecuten en proyectos con un límite de recursos definido. Las utilidades asociadas ofrecen mecanismos de administración del daemon y de generación de estadísticas relacionadas.
Para obtener más información, consulte el capítulo 10, “Physical Memory Control Using the Resource Capping Daemon (Overview)”, de la Guía de administración de sistemas: Zonas de Solaris y administración de recursos y contenedores de Solaris.
Consulte también las páginas de comando man rcapstat(1), rcapadm(1M), project(4) y rcapd(1M).