DB2 Versão 9.7 para Linux, UNIX e Windows
Após Instalar um Produto do Servidor DB2 > Tarefas Pós-instalação > Ambiente de Banco de Dados Particionado >

Formato do Arquivo de Configuração do Nó do DB2

O arquivo db2nodes.cfg é utilizado para definir os servidores de partição de banco de dados que participam da instância do DB2. O arquivo db2nodes.cfg também é utilizado para especificar o endereço IP ou nome do host de uma interconexão de alta velocidade, caso você queira utilizar uma interconexão de alta velocidade para comunicação de servidores de partição de banco de dados.

O formato do arquivo db2nodes.cfg em sistemas operacionais Linux e UNIX é o seguinte:

dbpartitionnum hostname logicalport netname resourcesetname
dbpartitionnum

, hostname, logicalport, netname e resourcesetname estão definidos na seção a seguir.

O formato do arquivo db2nodes.cfg em sistemas operacionais Windows é o seguinte:

dbpartitionnum hostname computername logicalport netname resourcesetname

Em sistemas operacionais Windows, estas entradas no db2nodes.cfg são incluídas pelos comandos db2ncrt ou START DBM ADD DBPARTITIONNUM. As entradas também podem ser modificadas pelo comando db2nchg. Você não deve incluir estas linhas diretamente ou editar este arquivo.

dbpartitionnum
É um número exclusivo, entre 0 e 999, que identifica o servidor de partição de um banco de dados em um sistema de banco de dados particionado.

Para escalar seu sistema de banco de dados particionado, inclua uma entrada para cada servidor de partição de banco de dados no arquivo db2nodes.cfg. O valor dbpartitionnum selecionado para servidores de partição de banco de dados adicionais deve estar em ordem crescente, no entanto, podem existir intervalos nesta sequência. É possível escolher colocar um intervalo entre os valores dbpartitionnum se planeja incluir servidores de partição lógica e deseja manter os nós logicamente agrupados neste arquivo.

Essa entrada é obrigatória.

hostname
O nome do host TCP/IP do servidor de partição de banco de dados para utilização pelo FCM. Essa entrada é obrigatória.

Se os nomes dos hosts forem fornecidos no arquivo db2nodes.cfg, em vez dos endereços IP, o gerenciador de banco de dados tentará dinamicamente resolver os nomes dos hosts. A resolução pode ser local ou através de consulta nos DNS (Servidores de Nomes de Domínio) registrados, como determinado pelas configurações do SO na máquina.

Iniciando com o DB2 Versão 9.1, os protocolos TCP/IPv4 e TCP/IPv6 são suportados. O método para resolver os nomes dos hosts foi alterado.

Enquanto o método utilizado nos releases anteriores à Versão 9.1 resolviam a cadeia como definido no arquivo db2nodes.cfg, o método na Versão 9.1 ou posterior tenta resolver o FQDN (Fully Qualified Domain Names) quando os nomes abreviados são definidos no arquivo db2nodes.cfg. Especificar os nomes abreviados configurados para os nomes de host completos pode levar a atrasos desnecessários nos processos que resolvem os nomes dos hosts.

Para evitar quaisquer atrasos nos comandos do DB2 que requerem a resolução do nome do host, utilize qualquer uma das soluções alternativas a seguir:

  1. Se os nomes abreviados forem especificados nos arquivos db2nodes.cfg e no arquivo de nome do host do sistema operacional, especifique o nome abreviado e o nome do domínio completo para o nome do host nos arquivos do host do sistema operacional.
  2. Para utilizar apenas endereços IPv4 quando você sabe que o servidor DB2 atende em uma porta IPv4, emita o seguinte comando:
    db2 catalog tcpip4 node db2tcp2 remote 192.0.32.67   server db2inst1   with "Look up IPv4 address from 192.0.32.67"
  3. Para utilizar apenas endereços IPv6 quando você sabe que o servidor DB2 atende em uma porta IPv6, emita o seguinte comando:
    db2 catalog tcpip6 node db2tcp3 1080:0:0:0:8:800:200C:417A     server 50000     with "Look up IPv6 address from 1080:0:0:0:8:800:200C:417A"
logicalport
Especifica o número da porta lógica do servidor de partição do banco de dados. Este campo é utilizado para especificar um servidor de partição de banco de dados em uma estação de trabalho que está executando os servidores de partição do banco de dados lógico.

O DB2 reserva um intervalo de portas (por exemplo, 60000 - 60003) no arquivo /etc/services para comunicações interpartição no momento da instalação. O campo logicalport no db2nodes.cfg especifica qual porta do intervalo você deseja designar para um servidor de partições lógicas específico.

Se não existir nenhuma entrada para esse campo, o padrão será 0. No entanto, se você incluir uma entrada para o campo netname, você deve digitar um número para o campo logicalport.

Se estiver utilizando partições de banco de dados lógicas, o valor logicalport que você especificar deverá começar com 0 e continuar em ordem crescente (por exemplo, 0,1,2).

Além disso, se você especificar a entrada de uma logicalport para o servidor de partição de um banco de dados, deverá especificar uma logicalport para o servidor de partição de cada banco de dados listado no arquivo db2nodes.cfg.

Este campo será opcional apenas se você não estiver utilizando partições de banco de dados lógicos ou uma interconexão de alta velocidade.

netname
Especifica o nome do host ou o endereço IP da interconexão de alta velocidade para comunicação de FCM.

Se uma entrada for especificada para este campo, todas as comunicações entre os servidores de partição do banco de dados (com exceção para comunicação como resultado dos comandos db2start, db2stop, e db2_all) são tratadas através da interconexão de alta velocidade.

Este parâmetro será obrigatório apenas se você estiver utilizando uma interconexão de alta velocidade para comunicações de partições do banco de dados.

resourcesetname
O resourcesetname define o recurso do sistema operacional no qual o nó deve ser iniciado. O resourcesetname serve para suporte à afinidade do processo, utilizado para Multiple Logical Nodes (MLNs). Este suporte é fornecido com um campo de tipo de cadeia anteriormente conhecido como quadname.

Este parâmetro é suportado apenas no AIX, HP-UX e Sistema Operacional Solaris.

No AIX, este conceito é conhecido como "conjuntos de recursos" e no Sistema Operacional Solaris é chamado de "projetos". Consulte a documentação do seus sistemas operacionais para obter informações adicionais sobre gerenciamento de recursos.

No HP-UX, o parâmetro resourcesetname é o nome de um grupo PRM. Consulte a documentação "HP-UX Process Resource Manager. User Guide. (B8733-90007)" da HP para obter informações adicionais.

Em sistemas operacionais Windows, a afinidade de processo para um nó lógico pode ser definida através da variável de registro DB2PROCESSORS.

Em sistemas operacionais Linux, a coluna resourcesetname define um número que corresponde a um nó Non-Uniform Memory Access (NUMA) no sistema. O utilitário do sistema numactl deve estar disponível, bem como um Kernel 2.6 com suporte à política NUMA.

O parâmetro netname deve ser especificado se o parâmetro resourcesetname é utilizado.

Exemplo de configurações

Utilize os seguintes exemplos de configurações para determinar a configuração apropriada para seu ambiente.

Um computador, quatro servidores de partição de banco de dados
Se você não estiver utilizando um ambiente que tenha cluster e deseja obter quatro servidores de partição de banco de dados em uma estação de trabalho chamada ServerA, atualiza o arquivo db2nodes.cfg como segue:
   0          ServerA        0
      1          ServerA        1
      2          ServerA        2
      3          ServerA        3
Dois computadores, um servidor de partição de banco de dados por computador
Se quiser que o sistema do banco de dados particionado para conter duas estações de trabalho físicas, chamadas ServerA e ServerB, atualize o arquivo db2nodes.cfg assim:
   0          ServerA        0
      1          ServerB        0
Dois computadores, três servidores de partição de banco de dados em um computador
Se quiser que o sistema do banco de dados particionado contenha duas estações de trabalho físicas, chamadas ServerA e ServerB, e ServerA executando 3 servidores de partição do banco de dados, atualize o arquivo db2nodes.cfg assim:
   4          ServerA        0
      6          ServerA        1
      8          ServerA        2
      9          ServerB        0
Dois computadores, três servidores de partição de banco de dados com comutadores de alta velocidade
Se quiser que o sistema do banco de dados particionado contenha dois computadores, chamados ServerA e ServerB (com ServerB executando dois servidores da partição do banco de dados), e utilizando interconexões de alta velocidade chamadas switch1 e switch2, atualize o arquivo db2nodes.cfg assim:
   0          ServerA        0              switch1
      1          ServerB        0              switch2
      2          ServerB        1              switch2

Exemplos de Utilização do resourcesetname

Estas restrições se aplicam aos seguintes exemplos:

Exemplo do AIX

A seguir está um exemplo de como configurar o conjunto de recursos para sistemas operacionais AIX.

Neste exemplo, existe um nó físico com 32 processadores e 8 partições lógicas de banco de dados (MLNs). Este exemplo mostra como fornecer afinidade de processo a cada MLN.

  1. Defina conjuntos de recursos em /etc/rset:
    DB2/MLN1:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00000,sys/cpu.00001,sys/cpu.00002,sys/cpu.00003
    
    DB2/MLN2:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00004,sys/cpu.00005,sys/cpu.00006,sys/cpu.00007
    
    DB2/MLN3:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00008,sys/cpu.00009,sys/cpu.00010,sys/cpu.00011
    
    DB2/MLN4:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00012,sys/cpu.00013,sys/cpu.00014,sys/cpu.00015
    
    DB2/MLN5:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00016,sys/cpu.00017,sys/cpu.00018,sys/cpu.00019
    
    DB2/MLN6:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00020,sys/cpu.00021,sys/cpu.00022,sys/cpu.00023
    
    DB2/MLN7:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00024,sys/cpu.00025,sys/cpu.00026,sys/cpu.00027
    
    DB2/MLN8:
            owner     = db2inst1
            group     = system
            perm      = rwr-r-
            resources = sys/cpu.00028,sys/cpu.00029,sys/cpu.00030,sys/cpu.00031
  2. Ative a afinidade de memória digitando o seguinte comando:
       vmo -p -o memory_affinity=1
  3. Forneça permissões de instância para utilizar conjuntos de recursos:
    chuser capabilities=
            CAP_BYPASS_RAC_VMM,CAP_PROPAGATE,CAP_NUMA_ATTACH  db2inst1
  4. Inclua o nome do conjunto de recursos como a quinta coluna no db2nodes.cfg:
    1 regatta 0 regatta DB2/MLN1
    2 regatta 1 regatta DB2/MLN2
    3 regatta 2 regatta DB2/MLN3
    4 regatta 3 regatta DB2/MLN4
    5 regatta 4 regatta DB2/MLN5
    6 regatta 5 regatta DB2/MLN6
    7 regatta 6 regatta DB2/MLN7
    8 regatta 7 regatta DB2/MLN8

Exemplo para HP-UX

Este exemplo mostra como utilizar grupos de PRM para compartilhamentos de CPU em uma máquina com 4 CPUs e 4 MLNs e 24% de compartilhamento da CPU por MLN, restando 4% para outros aplicativos. O nome da instância do DB2 é db2inst1.

  1. Edite a seção GROUP do /etc/prmconf:
      OTHERS:1:4::
    	db2prm1:50:24::
      	db2prm2:51:24::
        	db2prm3:52:24::
      	db2prm4:53:24::  
  2. Inclua a entrada do proprietário da instância no /etc/prmconf:
       db2inst1::::OTHERS,db2prm1,db2prm2,db2prm3,db2prm4
  3. Inicialize grupos e ative o gerenciador da CPU digitando o seguinte comando:
       prmconfig -i
          prmconfig -e CPU
  4. Inclua os nomes dos grupos PRM como uma quinta coluna no db2nodes.cfg:
       1 voyager 0 voyager db2prm1 	
          2 voyager 1 voyager db2prm2 	
          3 voyager 2 voyager db2prm3 	
          4 voyager 3 voyager db2prm4

A configuração do PRM (etapas 1-3) pode ser feita utilizando-se a ferramenta da GUI interativa xprm.

Exemplo do Linux

Em sistemas operacionais Linux, a coluna resourcesetname define um número que corresponde a um nó Non-Uniform Memory Access (NUMA) no sistema. O utilitário de sistema numactl deve estar disponível bem como um kernel 2.6 com suporte de política NUMA. Consulte a página principal do numact1 para obter mais informações sobre o suporte a NUMA em sistemas operacionais Linux.

Este exemplo mostra como configurar um computador NUMA com quatro nós com cada nó lógico associado a um nó NUMA.

  1. Assegure que as capacidades NUMA existam em seu sistema.
  2. Emita o seguinte comando:
    $ numactl --hardware
    Uma saída semelhante à seguinte é exibida:
    disponível: 4 nós (0-3)
    tamanho do nó node: 1901 MB
    livre no nó 0: 1457 MB
    tamanho do nó 1: 1910 MB
    livre no nó 1: 1841 MB
    tamanho do nó 2: 1910 MB
    livre no nó 2: 1851 MB
    tamanho do nó 3: 1905 MB
    livre no nó 3: 1796 MB
  3. Neste exemplo, há quatro nós NUMA no sistema. Edite o arquivo db2nodes.cfg da seguinte forma para associar cada MLN a um nó NUMA no sistema:
    0 hostname 0 hostname 0
    1 hostname 1 hostname 1
    2 hostname 2 hostname 2
    3 hostname 3 hostname 3

Exemplo do Solaris

Aqui está um exemplo de como configurar o projeto para Solaris Versão 9.

Neste exemplo, existe 1 nó físico com 8 processadores: uma CPU será utilizada para o projeto padrão, três (3) CPUs serão utilizadas pelo Servidor de Aplicativos e quatro (4) CPUs para o DB2. O nome da instância é db2inst1.

  1. Crie o arquivo de configurações do conjunto de recursos utilizando um editor. Neste exemplo, o arquivo será chamado de pool.db2. Aqui está o conteúdo:
       create system hostname
          create pset pset_default (uint pset.min = 1)
          create pset db0_pset (uint pset.min = 1; uint pset.max = 1)
          create pset db1_pset (uint pset.min = 1; uint pset.max = 1)
          create pset db2_pset (uint pset.min = 1; uint pset.max = 1)
          create pset db3_pset (uint pset.min = 1; uint pset.max = 1)
          create pset appsrv_pset (uint pset.min = 3; uint pset.max = 3)
          create pool pool_default (string pool.scheduler="TS";
                  boolean pool.default = true)
          create pool db0_pool (string pool.scheduler="TS")
          create pool db1_pool (string pool.scheduler="TS")
          create pool db2_pool (string pool.scheduler="TS")
          create pool db3_pool (string pool.scheduler="TS")
          create pool appsrv_pool (string pool.scheduler="TS")
          associate pool pool_default (pset pset_default)
          associate pool db0_pool (pset db0_pset)
          associate pool db1_pool (pset db1_pset)
          associate pool db2_pool (pset db2_pset)
          associate pool db3_pool (pset db3_pset)
          associate pool appsrv_pool (pset appsrv_pset)
  2. Edite o arquivo /etc/project para incluir os projetos DB2 e o projeto appsrv da seguinte forma:
       system:0::::
          user.root:1::::
          noproject:2::::
          default:3::::
          group.staff:10::::
          appsrv:4000:App Serv project:root::project.pool=appsrv_pool
          db2proj0:5000:DB2 Node 0 project:db2inst1,root::project.pool=db0_pool
          db2proj1:5001:DB2 Node 1 project:db2inst1,root::project.pool=db1_pool
          db2proj2:5002:DB2 Node 2 project:db2inst1,root::project.pool=db2_pool
          db2proj3:5003:DB2 Node 3 project:db2inst1,root::project.pool=db3_pool
  3. Crie o conjunto de recursos: # poolcfg -f pool.db2.
  4. Ative o conjunto de recursos: # pooladm -c
  5. Inclua o nome do projeto como a quinta coluna do arquivo db2nodes.cfg:
       0 hostname 0 hostname db2proj0
          1 hostname 1 hostname db2proj1
          2 hostname 2 hostname db2proj2
          3 hostname 3 hostname db2proj3
[ Início da Página | Página Anterior | Próxima Página | Índice ]