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

Configuración de agrupaciones

ProcedureCómo crear una configuración estática

Utilice la opción -s para /usr/sbin/pooladm con el fin de crear un archivo de configuración estática que coincida con la configuración dinámica actual. A menos que se especifique un nombre de archivo diferente, se utiliza la ubicación predeterminada /etc/pooladm.conf.

Confirme su configuración utilizando el comando pooladm con la opción -c. A continuación, utilice el comando pooladm con la opción -s para actualizar la configuración estática para que coincida con el estado de la configuración dinámica.


Nota –

La nueva funcionalidad pooladm -s tiene prioridad sobre la funcionalidad anterior poolcfg -c discover a la hora de crear una configuración que coincida con la configuración dinámica.


Antes de empezar

Active las agrupaciones en el sistema.

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Actualice el archivo de configuración estática para que coincida con la configuración dinámica actual.


    # pooladm -s
    
  3. Visualice el contenido del archivo de configuración en un formato legible.

    Tenga en cuenta que la configuración contiene elementos predeterminados creados por el sistema.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
  4. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  5. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo modificar una configuración

Para mejorar la configuración, cree un conjunto de procesadores denominado pset_batch y una agrupación denominada pool_batch. A continuación, asocie la agrupación con el conjunto de procesadores.

Tenga en cuenta que debe incluir entre comillas los argumentos de subcomandos que contengan espacios.

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Cree el conjunto de procesadores pset_batch.


    # poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)'
    
  3. Cree la agrupación pool_batch.


    # poolcfg -c 'create pool pool_batch'
    
  4. Asocie la agrupación con el conjunto de procesadores.


    # poolcfg -c 'associate pool pool_batch (pset pset_batch)'
    
  5. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment kernel state
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    pset pset_batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  6. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  7. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo asociar una agrupación con una clase de planificación

Puede asociar una agrupación con una clase de planificación para que todos los procesos vinculados a la agrupación utilicen este programador. Para ello, configure la propiedad pool.scheduler con el nombre del programador. Este ejemplo asocia la agrupación pool_batch con el programador de reparto justo (FSS).

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte "Managing RBAC (Task Map)" en System Administration Guide: Security Services.

  2. Modifique la agrupación pool_batch que se asociará con FSS.


    # poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")'
    
  3. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    string pool.scheduler FSS
                    pset batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  4. Confirme la configuración en /etc/pooladm.conf:


    # pooladm -c
    
  5. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo establecer restricciones de configuración

Las restricciones afectan a las posibles configuraciones al eliminar algunos de los posibles cambios que podrían realizarse en una configuración. Este procedimiento muestra cómo definir la propiedad cpu.pinned.

En los ejemplos siguientes, cpuid es un entero.

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Modifique la propiedad cpu.pinned en la configuración estática o dinámica:

    • Modifique la configuración de tiempo de inicio (estática):


      # poolcfg -c 'modify cpu <cpuid> (boolean cpu.pinned = true)'
      
    • Modifique la configuración en ejecución (dinámica) sin modificar la configuración del tiempo de inicio:


      # poolcfg -dc 'modify cpu <cpuid> (boolean cpu.pinned = true)'
      

ProcedureCómo definir los objetivos de configuración

Puede especificar objetivos que debe tener en cuenta poold al llevar a cabo la acción correctiva.

En el procedimiento siguiente, se configura el objetivo wt-load para que poold intente asociar la asignación de recursos con el uso de recursos. El objetivo locality está desactivado para poder alcanzar este objetivo de configuración.

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Modifique el sistema tester para favorecer el objetivo wt-load.


    # poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")'
    
  3. Desactive el objetivo locality para el conjunto de procesadores predeterminado.


    # poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")'
    
  4. Desactive el objetivo locality para el conjunto de procesadores pset_batch.


    # poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'
    
  5. Visualice la configuración editada.


    # poolcfg -c info
    system tester
            string  system.comment
            int     system.version 1
            boolean system.bind-default true
            int     system.poold.pid 177916
            string  system.poold.objectives wt-load
    
            pool pool_default
                    int     pool.sys_id 0
                    boolean pool.active true
                    boolean pool.default true
                    int     pool.importance 1
                    string  pool.comment 
                    pset    pset_default
    
            pset pset_default
                    int     pset.sys_id -1
                    boolean pset.default true
                    uint    pset.min 1
                    uint    pset.max 65536
                    string  pset.units population
                    uint    pset.load 10
                    uint    pset.size 4
                    string  pset.comment 
                    boolean testnullchanged true
                    string  pset.poold.objectives locality none
    
                    cpu
                            int     cpu.sys_id 3
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 2
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 1
                            string  cpu.comment 
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 0
                            string  cpu.comment 
                            string  cpu.status on-line
    
            pool pool_batch
                    boolean pool.default false
                    boolean pool.active true
                    int pool.importance 1
                    string pool.comment
                    string pool.scheduler FSS
                    pset batch
    
            pset pset_batch
                    int pset.sys_id -2
                    string pset.units population
                    boolean pset.default true
                    uint pset.max 10
                    uint pset.min 2
                    string pset.comment
                    boolean pset.escapable false
                    uint pset.load 0
                    uint pset.size 0
                    string  pset.poold.objectives locality none
    
                    cpu
                            int     cpu.sys_id 5
                            string  cpu.comment
                            string  cpu.status on-line
    
                    cpu
                            int     cpu.sys_id 4
                            string  cpu.comment
                            string  cpu.status on-line
  6. Confirme la configuración en /etc/pooladm.conf.


    # pooladm -c
    
  7. (Opcional) Para copiar la configuración dinámica en un archivo de configuración estática denominado /tmp/backup, escriba:


    # pooladm -s /tmp/backup
    

ProcedureCómo establecer el nivel de registro de poold

Para especificar el nivel de información de registro que genera poold, defina la propiedad system.poold.log-level en la configuración de poold. La configuración de poold se realiza en la configuración de libpool. Para obtener mas información, consulte Información de registro de poold y las páginas del comando man poolcfg(1M) y libpool(3LIB).

También puede utilizar el comando poold en la línea de comandos para especificar el nivel de información de registro que genera poold.

  1. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener más información sobre las funciones, consulte Using the Solaris Management Tools With RBAC (Task Map) de System Administration Guide: Basic Administration.

  2. Defina el nivel de registro utilizando el comando poold con la opción -l y un parámetro, por ejemplo, INFO.


    # /usr/lib/pool/poold -l INFO
    

    Para obtener información sobre los parámetros disponibles, consulte Información de registro de poold. El nivel de registro predeterminado es NOTICE.

ProcedureCómo utilizar los archivos de comando con poolcfg

El comando poolcfg con la opción -f puede obtener información de un archivo de texto que contenga argumentos de subcomando poolcfg para la opción -c. Este método resulta adecuado si desea establecer las operaciones que se llevarán a cabo. Cuando se procesan varios comandos, la configuración sólo se actualiza si todos los comandos son correctos. En el caso de las configuraciones complejas o de mayor tamaño, esta técnica puede ser más útil que las invocaciones por subcomandos.

Tenga en cuenta que los archivos de comando, el carácter # actúa como marca de comentario para el resto de la línea.

  1. Cree el archivo de entrada poolcmds.txt.


    $ cat > poolcmds.txt
    create system tester
    create pset pset_batch (uint pset.min = 2; uint pset.max = 10)
    create pool pool_batch
    associate pool pool_batch (pset pset_batch)
    
  2. Conviértase en superusuario o asuma un rol que incluya el perfil de administración de procesos.

    El rol de administrador del sistema incluye el perfil de administración de procesos. Para obtener información sobre cómo crear el rol y asignarlo a un usuario, consulte "Managing RBAC" en System Administration Guide: Security Services.

  3. Ejecute el comando:


    # /usr/sbin/poolcfg -f poolcmds.txt