Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Configuração de grupos

ProcedureComo criar uma configuração estática

Use a -s opção /usr/sbin/pooladm para criar um arquivo de configuração estática que coincida com a configuração dinâmica atual. A menos que um nome de arquivo diferente seja especificado, o local padrão /etc/pooladm.conf é usado.

Comprometa a configuração usando o comando pooladm com a opção -c. Em seguida, use o comando pooladm com a opção -s para atualizar a configuração estática, de modo que coincida com o estado da configuração dinâmica.


Observação –

A nova funcionalidade pooladm -s é preferida à funcionalidade anterior poolcfg -c discover para criar uma nova configuração que coincida com a configuração dinâmica.


Antes de começar

Ative grupos no sistema.

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Atualize o arquivo de configuração estática para coincidir com a configuração dinâmica atual.


    # pooladm -s
    
  3. Visualize o conteúdo do arquivo de configuração em uma forma legível.

    Observe que a configuração contém elementos padrão criados pelo 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. Comprometa a configuração em /etc/pooladm.conf .


    # pooladm -c
    
  5. (Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:


    # pooladm -s /tmp/backup
    

ProcedureComo modificar uma configuração

Para otimizar a configuração, crie um conjunto de processadores nomeado pset_batch e um grupo nomeado pool_batch. Em seguida una o grupo e o conjunto de processados com uma associação.

Observe que você deve usar argumentos de subcomando que contenham espaço em branco.

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Crie o conjunto de processadores pset_batch.


    # poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)'
    
  3. Crie o grupo pool_batch.


    # poolcfg -c 'create pool pool_batch'
    
  4. Una o grupo e o conjunto de processadores com uma associação.


    # poolcfg -c 'associate pool pool_batch (pset pset_batch)'
    
  5. Exiba a configuração 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. Comprometa a configuração em /etc/pooladm.conf .


    # pooladm -c
    
  7. (Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática nomeado /tmp/backup, digite o seguinte:


    # pooladm -s /tmp/backup
    

ProcedureComo associar um grupo a uma classe de agendamento

Você pode associar um grupo a uma classe de agendamento para que todos os processos vinculados a esse grupo usem este agendador. Para isso, defina a propriedade pool.scheduler como o nome do agendador. Este exemplo associa o grupo pool_batch ao fair share scheduler (FSS).

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter informações sobre como criar a função e atribuí-la a um usuário, consulte Gerenciamento de RBAC (mapa de tarefas) em Guia de administração de sistema: serviços de segurança.

  2. Modifique o grupo pool_batch para ser associado ao FSS.


    # poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")'
    
  3. Exiba a configuração 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. Comprometa a configuração em /etc/pooladm.conf :


    # pooladm -c
    
  5. (Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:


    # pooladm -s /tmp/backup
    

ProcedureComo definir restrições de configuração

Restrições afetam a gama de configurações possíveis eliminando algumas das alterações potenciais que podem ser feitas em uma configuração. Este procedimento mostra como definir a propriedade cpu.pinned.

Nos exemplos abaixo, cpuid é um inteiro.

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Modifique a propriedade cpu.pinned na configuração estática ou dinâmica:

    • Modifique a configuração de tempo de inicialização (estática):


      # poolcfg -c 'modify cpu <cpuid> (boolean cpu.pinned = true)'
      
    • Modifique a configuração de execução (dinâmica) sem modificar a configuração de tempo de inicialização:


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

ProcedureComo definir objetivos de configuração

Você pode especificar objetivos para poold a serem considerados ao tomar uma ação corretiva.

No procedimento abaixo, o objetivo wt-load está sendo definido de modo que poold tente coincidir a alocação de recursos com a utilização de recursos. O objetivo locality é desativado para auxiliar na realização do objetivo desta configuração.

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Modifique tester do sistema para favorecer o objetivo wt-load.


    # poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")'
    
  3. Desative o objetivo locality para o conjunto de processadores padrão.


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


    # poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'
    
  5. Exiba a configuração 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. Comprometa a configuração em /etc/pooladm.conf .


    # pooladm -c
    
  7. (Opcional) Para copiar a configuração dinâmica para um arquivo de configuração estática chamado /tmp/backup, digite o seguinte:


    # pooladm -s /tmp/backup
    

ProcedureComo definir o nível de registro de poold

Para especificar o nível de informações de registro que poold gera, defina a propriedade system.poold.log-level na configuração de poold. A configuração de poold é contida na configuração de libpool. Para obter informações, consulte Informações de registro do poold e as páginas do manual poolcfg(1M) e libpool(3LIB).

Você também pode usar o comando poold na linha de comando para especificar o nível de informações de registro que poold gera.

  1. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter mais informações sobre funções, consulte Using the Solaris Management Tools With RBAC (Task Map) no System Administration Guide: Basic Administration .

  2. Defina o nível de registro usando o comando poold com a opção with the -l e um parâmetro, por exemplo, INFO.


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

    Para obter informações sobre parâmetros disponíveis, consulte Informações de registro do poold. O nível de registro padrão é NOTICE.

ProcedureComo usar arquivos de comando com poolcfg

O comando poolcfg com a opção -f pode tomar entrada de um arquivo de texto que contenha argumentos do subcomando poolcfg para a opção -c. Este método é apropriado quando você deseja que um conjunto de operações seja executado. Quando vários comando são processados, a configuração é somente atualizada se todos os comandos tiverem êxito. Para configurações grandes ou complexas, esta técnica pode ser mais útil do que chamadas por subcomando.

Observe que, em arquivos de comando, o caractere # atua como uma marca de comentário para o resto da linha.

  1. Crie um arquivo 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. Torne-se superusuário ou assuma uma função que inclua o perfil Gerenciamento de processo.

    A função Administrador de sistema inclui o perfil Gerenciamento de processo. Para obter informações sobre como criar a função e atribuí-la a um usuário, consulte “Gerenciamento de RBAC” no Guia de administração de sistema: serviços de segurança.

  3. Execute o comando:


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