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

Capítulo 1 Introducción a administración de recursos de Solaris 10

La función de administración de recursos es un componente del entorno de contenedores de Solaris. La administración de recursos permite controlar el modo en que las aplicaciones utilizan los recursos del sistema. Se puede:

En este capítulo se tratan los temas siguientes.

Información general sobre la gestión de recursos

Los entornos informáticos modernos deben proporcionar una respuesta flexible a las diferentes cargas de trabajo que generan las distintas aplicaciones de un sistema. Una carga de trabajo es una adición de todos los procesos de una aplicación o grupo de aplicaciones. Si no se utilizan las funciones de administración de recursos, el sistema operativo Solaris responde a las demandas de carga de trabajo adaptándose a las nuevas solicitudes de aplicaciones de forma dinámica. Esta respuesta predeterminada general significa que toda la actividad del sistema tiene el mismo acceso a los recursos. Las funciones de administración de recursos de Solaris permiten tratar las cargas de trabajo individualmente. Se puede:

La capacidad de minimizar los compromisos de rendimiento de varias cargas de trabajo, junto con las funciones que supervisan el uso de los recursos, se denomina administración de recursos. La administración de recursos se implementa a través de un conjunto de algoritmos. Los algoritmos controlan las series de solicitudes de capacidades que presenta una aplicación durante su ejecución.

Las funciones de administración de recursos permiten modificar el comportamiento predeterminado del sistema operativo con respecto a las diferentes cargas de trabajo. El comportamiento hace referencia principalmente al conjunto de decisiones que toman los algoritmos del sistema operativo cuando una aplicación presenta una o más solicitudes de recursos para el sistema. Puede utilizar las funciones de administración de recursos para:

La implementación de una configuración del sistema que utilice las funciones de administración de recursos puede tener varias finalidades. Se puede:

Al planificar una configuración administrada por recursos, algunos de los requisitos clave son:

Una vez identificadas las cargas de trabajo conflictivas y las de cooperación, puede crear una configuración de recursos que presente el menor compromiso para los objetivos de servicio del negocio, dentro de las limitaciones de las funciones del sistema.

El sistema Solaris cuenta con una administración de recursos eficaz que ofrece mecanismos de control, de notificación y de supervisión. Muchas de estas funciones se proporcionan a través de mejoras en los mecanismos existentes, como el sistema de archivos proc(4), los conjuntos de procesadores y las clases de planificación. Otras funciones son específicas de la administración de recursos. Estas funciones se describen en los capítulos siguientes.

Clasificación de los recursos

Un recurso es cualquier aspecto del sistema informático que pueda manipularse con la finalidad de cambiar el comportamiento de la aplicación. En consecuencia, un recurso es una capacidad que solicita una aplicación implícita o explícitamente. Si se deniega o limita la capacidad, la ejecución de una aplicación potente es más lenta.

La clasificación de recursos, a diferencia de la identificación de recursos, puede realizarse para una serie de ejes. Los ejes se pueden solicitar de forma implícita (en contraposición a su solicitud explícita), pueden basarse en el tiempo, como el tiempo de la CPU (en contraposición a las solicitudes independientes del tiempo, como los recursos compartidos de la CPU), etc.

Generalmente, la administración de recursos basada en el planificador se aplica a los recursos que puede solicitar la aplicación de forma implícita. Por ejemplo, para continuar la ejecución, una aplicación solicita de forma implícita tiempo de CPU adicional. Para grabar datos en un socket de red, una aplicación solicita ancho de banda implícitamente. Pueden colocarse limitaciones en el uso total de un recurso solicitado de forma implícita.

Pueden presentarse interfaces adicionales para que los niveles de servicio de CPU o el ancho de banda se negocien de forma explícita. Los recursos que se solicitan de forma explícita, como una solicitud de subproceso adicional, se pueden administrar por limitación.

Mecanismos de control de administración de recursos

Los tres tipos de mecanismos de control disponibles en el sistema operativo Solaris son las limitaciones, la planificación y las particiones.

Mecanismos de limitación

Las limitaciones permiten al administrador o al desarrollador de aplicaciones definir los límites de consumo de recursos específicos para una carga de trabajo. Con unos límites establecidos, el consumo de recursos de modelación pasa a ser un proceso más sencillo. Asimismo, pueden utilizarse los límites para controlar las aplicaciones cuyo comportamiento incorrecto podría afectar al rendimiento o la disponibilidad del sistema a través de solicitudes de recursos no reguladas.

Las limitaciones suponen complicaciones para la aplicación. La relación entre la aplicación y el sistema puede modificarse hasta que la aplicación deje de funcionar. Para atenuar este riesgo, puede reducir gradualmente las limitaciones en las aplicaciones cuyos recursos tienen un comportamiento desconocido. La función de controles de recursos que se describe en el Capítulo 6Controles de recursos (descripción general) ofrece un mecanismo de limitación. Las aplicaciones más nuevas pueden programarse para que tengan en cuenta sus limitaciones de recursos, pero no todos los programadores deciden hacerlo.

Mecanismos de planificación

La planificación hace referencia a la toma de una serie de decisiones de asignación a intervalos específicos. La decisión que se toma se basa en un algoritmo predecible. Una aplicación que no necesita su asignación actual deja el recurso disponible para el uso de otra aplicación. La administración de recursos basada en la planificación permite el uso completo de una configuración no asignada, a la vez que proporciona asignaciones controladas en una situación de asignaciones excesivas. El algoritmo subyacente define el modo en que se interpreta el término "controlado". En algunas instancias, es posible que el algoritmo de planificación, garantice que todas las aplicaciones tengan algún tipo de acceso al recurso. El planificador de reparto justo (FSS) descrito en el Capítulo 8Programador de reparto justo (descripción general) administra el acceso de la aplicación a los recursos de la CPU de un modo controlado.

Mecanismos de partición

La partición se utiliza para vincular una carga de trabajo con un subconjunto de los recursos disponibles del sistema. Este vínculo garantiza que siempre haya disponible una cantidad determinada de recursos para la carga de trabajo. Las funciones de agrupaciones de recursos que se describen en el Capítulo 12Agrupaciones de recursos (descripción general) permiten limitar las cargas de trabajo de subconjuntos específicos del equipo.

En las configuraciones que utilizan la partición se puede evitar la asignación excesiva en el sistema. Sin embargo, al evitar esta asignación excesiva, la capacidad de obtener usos elevados puede verse reducida. Un grupo reservado de recursos, como procesadores, no está disponible para ser utilizado por otra carga de trabajo cuando la carga vinculada a ellos está inactiva.

Configuración de la administración de recursos

Partes de la configuración de administración de recursos puede colocarse en un servicio de nombres de la red. Esta función permite al administrador aplicar limitaciones de administración de recursos a un grupo de equipos, en lugar de basarse en los equipos individuales. Los trabajos relacionados pueden compartir un identificador común, y el uso adicional de dichos trabajos se puede tabular desde los datos de cuentas.

La configuración de administración de recursos y los identificadores orientados a la carga de trabajo se describen con mayor detalle en el Capítulo 2Proyectos y tareas (información general). La función de contabilidad ampliada que vincula estos identificadores con el uso del recurso de la aplicación se describe en el Capítulo 4Contabilidad ampliada (descripción general).

Interacción con Zonas de Solaris

Las funciones de administración de recursos pueden utilizarse con Zonas de Solaris para detallar más el entorno de aplicación. Las interacciones entre estas funciones y las zonas se describen en las secciones aplicables de esta guía.

Cuándo utilizar la administración de recursos

Utilice la administración de recursos para asegurarse de que las aplicaciones cumplan los tiempos de respuesta requeridos.

La administración de recursos también puede aumentar el uso de los recursos. Al categorizar y priorizar el uso, puede utilizar de forma eficaz la capacidad de reserva durante los períodos no pico, lo que a menudo acaba con la necesidad de potencia de procesamiento adicional. También puede asegurarse de que los recursos no se malgasten debido a la variabilidad de la carga.

Consolidación de servidores

La administración de recursos es ideal para los entornos que consolidan una serie de aplicaciones en un único servidor.

El coste y la complejidad de administrar varios equipos fomenta la consolidación de varias aplicaciones en servidores más grandes y más escalables. En lugar de ejecutar cada carga de trabajo en un sistema distinto, con acceso completo a los recursos de dicho sistema, puede utilizar el software de administración de recursos para segregar las cargas de trabajo en el sistema. La administración de recursos permite reducir el coste total de propiedad al ejecutar y controlar varias aplicaciones en un único sistema Solaris.

Si proporciona servicios de aplicaciones e Internet, puede utilizar la administración de recursos para:

Bases de usuarios diversas y de gran tamaño

Utilice las funciones de administración de recursos de cualquier sistema que tenga una base de usuarios diversa y de gran tamaño, como una institución educativa. Si tiene una combinación de cargas de trabajo, el software se puede configurar para otorgar prioridad a determinados proyectos.

Por ejemplo, en grandes agencias de corredores, los agentes necesitan acceso de forma intermitente y rápida para ejecutar una consulta o realizar un cálculo. En cambio, otros usuarios del sistema tienen cargas de trabajo más coherentes. Si asigna una cantidad proporcionalmente mayor de potencia de procesamiento a los proyectos de los agentes, éstos obtendrán la respuesta que necesitan.

La administración de recursos también resulta ideal para los sistemas e clientes sencillos. Estas plataformas proporcionan consolas sin estado con búferes de trama y dispositivos de entrada, como tarjetas inteligentes. Los cálculos reales se llevan a cabo en un servidor compartido, lo que tiene como resultado un tipo de entorno en el que se comparte el tiempo. Utilice las funciones de administración de recursos para aislar los a usuarios del servidor. Un usuario que genere una carga excesiva no monopolizará los recursos de hardware ni afectará a los demás usuarios del sistema.

Configuración de la administración de recursos (mapa de tareas)

El siguiente mapa de tareas proporciona información general de alto nivel sobre los pasos para configurar la administración de recursos del sistema.

Tarea 

Descripción 

Para obtener instrucciones 

Identificar las cargas de trabajo del sistema y categorizar cada una de ellas por proyecto. 

Crea entradas de proyecto en el archivo /etc/project, el mapa NIS o el servicio de directorios LDAP.

Base de datos project

Priorizar las cargas de trabajo en el sistema. 

Determina qué aplicaciones son críticas. Estas cargas de trabajo pueden requerir acceso preferencial a los recursos. 

Consulte los objetivos del servicio corporativo. 

Supervisar la actividad del sistema en tiempo real. 

Utiliza las herramientas del sistema para ver el consumo de recursos de las cargas de trabajo que se ejecutan en el sistema. Puede evaluar si debe limitar el acceso a un recurso específico o aislar cargas de trabajo concretas de otras cargas de trabajo. 

Supervisión del sistema y páginas del comando man cpustat(1M), iostat(1M), mpstat(1M), prstat(1M), sar(1) y vmstat(1M)

Realizar modificaciones temporales en las cargas de trabajo que se ejecutan en el sistema. 

Para determinar los valores que se pueden modificar, consulte los controles de recursos que están disponibles en el sistema Solaris. Puede actualizar los valores desde la línea de comandos mientras se ejecuta la tarea o el proceso. 

Controles de recursos disponibles, Acciones locales y globales en valores de controles de recursos, Actualización temporal de los valores de controles de recursos en un sistema en ejecución y páginas del comando man rctladm(1M) y prctl(1).

Definir controles de recursos y atributos de proyecto para cada entrada de proyecto en la base de datos project o la base de datos del proyecto de servicio de nombres.

Cada entrada de proyecto del archivo /etc/project o la base de datos del proyecto del servicio de nombres puede contener uno o más atributos o controles de recursos. Los controles de recursos limitan las tareas y los procesos vinculados al proyecto. Para cada valor umbral que se coloque en un control de recursos, puede asociar una o más acciones que se deben realizar cuando se alcance dicho valor.

Puede configurar los controles de recursos utilizando la interfaz de la línea de comandos. Algunos parámetros de la configuración también se pueden configurar utilizando Solaris Management Console. 

Base de datos project, Formato de archivo /etc/project local, Controles de recursos disponibles, Acciones locales y globales en valores de controles de recursos y Capítulo 8Programador de reparto justo (descripción general)

Coloque un vínculo superior sobre el consumo de recursos de la memoria física por parte de los grupos de procesos vinculados a un proyecto. 

El daemon de aplicación límite (cap) de recursos aplicará el límite de recursos de memoria física definido para el atributo rcap.max-rss del proyecto en el archivo /etc/project.

Base de datos project y Capítulo 10Control de memoria física utilizando el daemon de límite de recursos (descripción general)

Crear configuraciones de agrupaciones de recursos. 

Las agrupaciones de recursos permiten particionar los recursos del sistema, como los procesadores, y mantener las particiones después de reiniciar el sistema. Puede añadir un atributo project.pool a cada entrada del archivo /etc/project.

Base de datos project y Capítulo 12Agrupaciones de recursos (descripción general)

Convertir el planificador de reparto justo (FSS) en el planificador predeterminado del sistema. 

Asegura que todos los procesos del usuario de un sistema CPU único o un conjunto de procesadores pertenezcan a la misma clase de planificación. 

Configuración de FSS y página del comando man dispadmin(1M)

Activar la función de contabilidad ampliada para supervisar y registrar el consumo de recursos por tareas o procesos. 

Utiliza los datos de contabilidad ampliada para evaluar los controles de recursos actuales y para planificar los requisitos de capacidades para futuras cargas de trabajo. Puede realizarse un seguimiento del uso adicional en todo el sistema. Para obtener estadísticas completas sobre el uso para las cargas de trabajo relacionadas que implican más de un sistema, varios equipos pueden compartir el nombre del proyecto. 

Cómo activar la contabilidad ampliada para procesos, tareas y flujos y página del comando man acctadm(1M)

(Opcional) Si necesita realizar ajustes adicionales en la configuración, puede seguir modificando los valores desde la línea de comandos. Puede modificar los valores mientras se ejecuta la tarea o el proceso. 

Las modificaciones de las tareas existentes se pueden aplicar temporalmente sin necesidad de reiniciar el proyecto. Ajuste los valores hasta obtener un rendimiento satisfactorio. A continuación, actualice los valores actuales del archivo /etc/project o de la base de datos del proyecto del servicio de nombres.

Actualización temporal de los valores de controles de recursos en un sistema en ejecución y páginas del comando man rctladm(1M) y prctl(1)

(Opcional) Capturar datos de contabilidad ampliada. 

Crea registros de contabilidad ampliada para las tareas y los procesos activos. Los archivos que se generan pueden utilizarse para fines de planificación, contracargos y facturación. También hay una interfaz de Lenguaje Práctico de Extracción e Informes (Practical Extraction and Report Language o Perl) para libexacct que permite desarrollar secuencias de extracción e informes personalizados.

Página del comando man wracct(1M) y Interfaz Perl para libexacct