DB2 Versión 9.7 para Linux, UNIX y Windows
Después de instalar un producto del servidor DB2 > Tareas posteriores a la instalación > Entorno de base de datos particionada >

Formato del archivo de configuración de nodos DB2

El archivo db2nodes.cfg se utiliza para definir los servidores de partición de base de datos que participan en una instancia de DB2. El archivo db2nodes.cfg también se utiliza para especificar la dirección IP o el nombre de sistema principal de una interconexión de alta velocidad, si desea utilizar una interconexión de alta velocidad para la comunicación entre servidores de partición de base de datos.

El formato del archivo db2nodes.cfg en los sistemas operativos Linux y UNIX es el siguiente:

númparticiónbd nombresistprincipal puertológico nombred nombconjrecursos
númparticiónbd

, nombresistprincipal, puertológico, nombrered y nombreconjuntorecursos se definen en el apartado siguiente.

El formato del archivo db2nodes.cfg en el sistema operativo Windows es el siguiente:

númparticiónbd nombresistprincipal nombresistema puertológico nombrered nombreconjuntorecursos

En los sistemas operativos Windows, estas entradas en el archivo db2nodes.cfg se añaden mediante los mandatos db2ncrt o START DBM ADD DBPARTITIONNUM. El mandato db2nchg también puede modificar las entradas. No debería añadir estas líneas directamente o editar este archivo.

númparticiónbd
Un número exclusivo entre 0 y 999, que identifica un servidor de partición de base de datos en un sistema de bases de datos particionadas.

Para escalar el sistema de bases de datos particionadas, añada una entrada para cada servidor de partición de base de datos al archivo db2nodes.cfg. El valor de númparticiónbd que seleccione para los servidores de partición de base de datos adicionales debe estar en orden ascendente; no obstante, pueden existir huecos en esta secuencia. Puede elegir dejar un hueco entre los valores de númparticiónbd si piensa añadir servidores de partición lógica y desea conservar los nodos agrupados de forma lógica en este archivo.

Esta entrada es obligatoria.

nombresistpral
El nombre de sistema principal TCP/IP del servidor de partición de base de datos que va a utilizar el FCM (Fast Communications Manager). Esta entrada es obligatoria.

Si en el archivo db2nodes.cfg se proporcionan nombres de sistema principal en lugar de direcciones IP el gestor de base de datos intentará resolver dinámicamente los nombres de sistema principal. La resolución puede ser local o a través de búsqueda en los Servidores de nombres del dominio (DNS), según determinen los valores del sistema operativo en la máquina.

A partir de DB2 Versión 9.1, se admiten los protocolos TCP/IPv4 y TCP/IPv6. El método para resolver los nombres de sistema principal ha cambiado.

Mientras el método utilizado en los releases anteriores a la Versión 9.1 resuelve la serie tal como se ha definido en el archivo db2nodes.cfg, el método de la Versión 9.1 o de versiones posteriores intenta resolver Nombres de dominio calificados al completo (FQDN) cuando los nombres cortos están definidos en el archivo db2nodes.cfg. La especificación de nombres cortos configurados para nombres de sistema principal calificados al completo, puede conducir a retrasos innecesarios en procesos que resuelven nombres de sistema principal.

Para evitar cualquier retraso en mandatos DB2 que requieran resolución de nombre de sistema principal, utilice cualquiera de los siguientes métodos alternativos:

  1. Si en los archivos db2nodes.cfg están especificados nombres cortos y en el archivo de nombres de sistema principal del sistema operativo, especifique el nombre corto y el nombre de dominio calificado al completo para el nombre de sistema principal en los archivos de sistema principal del sistema operativo.
  2. Para utilizar únicamente direcciones IPv4 cuando sepa que el servidor DB2 está a la escucha en un puerto IPv4, emita el siguiente mandato:
    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 únicamente direcciones IPv6 cuando sepa que el servidor DB2 está a la escucha en un puerto IPv6, emita al siguiente mandato:
    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"
puertológico
Especifica el número de puerto lógico para el servidor de partición de base de datos. Este campo se utiliza para especificar un servidor de partición de base de datos en una estación de trabajo que ejecuta servidores de partición lógica de base de datos.

DB2 reserva un rango de puertos (por ejemplo, 60000 - 60003) en el archivo /etc/services para las comunicaciones entre particiones en el momento de la instalación. Este campo puertológico en db2nodes.cfg especifica qué puerto del rango desea asignar a un servidor de partición lógica específico.

Si no hay ninguna entrada para este campo, el valor por omisión es 0. Sin embargo, si añade una entrada para el campo nombrered, debe entrar un número para el campo puertológico.

Si utiliza particiones lógicas de base de datos, el valor de puertológico que especifique debe comenzar en 0 y continuar en orden ascendente (por ejemplo, 0,1,2).

Además, si especifica una entrada de puertológico para un servidor de partición de base de datos, debe especificar un puertológico para cada uno de los servidores de partición de base de datos listados en el archivo db2nodes.cfg.

Este campo sólo es opcional si no se utilizan particiones lógicas de base de datos ni una interconexión de alta velocidad.

nombrered
Especifica el nombre de sistema principal o la dirección IP de la interconexión de alta velocidad para las comunicaciones FCM.

Si en este campo hay una entrada especificada, todas las comunicaciones entre servidores de partición de base de datos (excepto las comunicaciones como resultado de los mandatos db2start, db2stop y db2_all) se manejarán mediante la interconexión de alta velocidad.

Este parámetro sólo es necesario si utiliza una interconexión de alta velocidad para las comunicaciones de particiones de bases de datos.

nombconjrecursos
El nombconjrecursos define los recursos del sistema operativo en el que se debe iniciar el nodo. El nombconjrecursos sirve para el soporte de afinidad de procesos, que se utiliza para Multiple Logical Nodes (MLN). Este soporte se proporciona con un campo de tipo de serie conocido anteriormente como nombre de cuadratín.

Este parámetro sólo está soportado en AIX, HP-UX y el Entorno Operativo Solaris.

En AIX, este concepto se conoce como "conjuntos de recursos" y en el Entorno Operativo Solaris se denomina "proyectos". Para obtener más información sobre la gestión de recursos, consulte la documentación para su sistema operativo.

En HP-UX, el parámetro nombconjrecursos es el nombre de un grupo PRM. Para obtener más información, consulte la documentación "HP-UX Process Resource Manager. User Guide. (B8733-90007)" de HP.

En los sistemas operativos Windows, la afinidad de procesos para un nodo lógico se puede definir mediante la variable de registro DB2PROCESSORS.

En los sistemas operativos Linux, la columna nombconjrecursos define un número que corresponde a un nodo NUMA (acceso de memoria no uniforme) del sistema. El programa de utilidad del sistema numactl debe estar disponible, así como un kernel 2.6 con soporte a la política NUMA.

El parámetro nombrered debe especificarse si se utiliza el parámetro nombconjrecursos.

Configuraciones de ejemplo

Utilice las configuraciones de ejemplo siguientes para determinar la configuración adecuada para su entorno.

Un sistema, cuatro servidores de partición de base de datos
Si no está utilizando un entorno de clústeres y desea tener cuatro servidores de partición de base de datos en una estación de trabajo física denominada ServidorA, actualice el archivo db2nodes.cfg del modo siguiente:
   0          ServidorA        0
   1          ServidorA        1
   2          ServidorA        2
   3          ServidorA        3
Dos sistemas, un servidor de partición de base de datos por sistema
Si desea que el sistema de bases de datos particionadas contenga dos estaciones de trabajo físicas denominadas ServidorA y ServidorB, actualice el archivo db2nodes.cfg del modo siguiente:
   0          ServidorA        0
   1          ServidorB        0
Dos sistemas, tres servidores de partición de base de datos en un sistema
Si desea que el sistema de bases de datos particionadas contenga dos estaciones de trabajo físicas denominadas ServidorA y ServidorB, y ServidorA estaba ejecutando 3 servidores de partición de base de datos, actualice el archivo db2nodes.cfg del modo siguiente:
   4          ServidorA        0
   6          ServidorA        1
   8          ServidorA        2
   9          ServidorB        0
Dos sistemas, tres servidores de partición de base de datos con conmutadores de alta velocidad
Si desea que el sistema de bases de datos particionadas contenga dos sistemas denominados ServidorA y ServidorB (y ServidorB ejecuta dos servidores de partición de base de datos) y utilice una interconexión de alta velocidad denominada switch1 y switch2, actualice el archivo db2nodes.cfg del modo siguiente:
   0          ServidorA        0              switch1
   1          ServidorB        0              switch2
   2          ServidorB        1              switch2

Ejemplos que utilizan el nombconjrecursos

Estas restricciones se aplican a los ejemplos siguientes:

Ejemplo en AIX

A continuación, se muestra un ejemplo de cómo configurar el conjunto de recursos para sistemas operativos AIX.

En este ejemplo, hay un nodo físico con 32 procesadores y 8 particiones lógicas de bases de datos (MLN). Este ejemplo muestra cómo proporcionar la afinidad de procesos para cada MLN.

  1. Defina conjuntos de recursos en /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. Habilite la afinidad de memoria entrando el mandato siguiente:
       vmo -p -o memory_affinity=1
  3. Otorgue permisos de instancia para utilizar conjuntos de recursos:
    chuser capabilities=
        CAP_BYPASS_RAC_VMM,CAP_PROPAGATE,CAP_NUMA_ATTACH  db2inst1
  4. Añada el nombre del conjunto de recursos como la quinta columna de 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

Ejemplo en HP-UX

Este ejemplo muestra cómo utilizar grupos PRM para comparticiones de CPU en una máquina con 4 CPU y 4 MLN y 24% de compartimiento de CPU por cada MLN, dejando el 4% para otras aplicaciones. El nombre de instancia de DB2 es db2inst1.

  1. Edite la sección GROUP de /etc/prmconf:
      OTHERS:1:4::
    	db2prm1:50:24::
     	db2prm2:51:24::
      	db2prm3:52:24::
     	db2prm4:53:24::  
  2. Añada la entrada del propietario de instancia a /etc/prmconf:
       db2inst1::::OTHERS,db2prm1,db2prm2,db2prm3,db2prm4
  3. Inicialice grupos y habilite el gestor de CPU escribiendo el siguiente mandato:
       prmconfig -i
       prmconfig -e CPU
  4. Añada nombres de grupo PRM como una quinta columna a db2nodes.cfg:
       1 voyager 0 voyager db2prm1 	
       2 voyager 1 voyager db2prm2 	
       3 voyager 2 voyager db2prm3 	
       4 voyager 3 voyager db2prm4

La configuración de PRM (pasos 1-3) se puede realizar utilizando la herramienta de la GUI interactiva xprm.

Ejemplo de Linux

En los sistemas operativos Linux, la columna nombconjrecursos define un número que corresponde a un nodo NUMA (acceso de memoria no uniforme) del sistema. Debe estar disponible el programa de utilidad del sistema numactl así como un kernel 2.6 con soporte a la política NUMA. Consulte la página man para numact1 para obtener más información sobre el soporte a NUMA en los sistemas operativos Linux.

Este ejemplo muestra cómo configurar un sistema NUMA de cuatro nodos con cada uno de los nodos lógicos asociado con un nodo NUMA.

  1. Asegúrese de que el sistema proporcione soporte a NUMA.
  2. Emita el mandato siguiente:
    $ numactl --hardware
    Se visualizará una salida similar a la siguiente:
    disponibles: 4 nodos (0-3)
    tamaño de nodo 0: 1901 MB 
    nodo 0 libre: 1457 MB 
    tamaño de nodo 1: 1910 MB 
    nodo 1 libre: 1841 MB 
    tamaño de nodo 2: 1910 MB 
    nodo 2 libre: 1851 MB 
    tamaño de nodo 3: 1905 MB 
    nodo 3 libre: 1796 MB
  3. En este ejemplo, existen cuatro nodos NUMA en el sistema. Edite el archivo db2nodes.cfg de la forma siguiente para asociar cada MLN a un nodo NUMA del sistema:
    0 hostname 0 hostname 0 
    1 hostname 1 hostname 1 
    2 hostname 2 hostname 2 
    3 hostname 3 hostname 3

Ejemplo de Solaris

A continuación, se muestra un ejemplo de cómo configurar el proyecto para Solaris Versión 9.

En este ejemplo, hay 1 nodo físico con 8 procesadores: una CPU se utilizará para el proyecto por omisión, tres (3) CPU las utilizará el Servidor de aplicaciones y cuatro (4) CPU las utilizará DB2. El nombre de instancia es db2inst1.

  1. Cree un archivo de configuración de agrupación de recursos utilizando un editor. Para este ejemplo, el archivo se denominará pool.db2. Este es el contenido del mismo:
       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 el archivo /etc/project para añadir los proyectos DB2 y el proyecto appsrv de la forma siguiente:
       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. Cree el grupo de recursos: # poolcfg -f pool.db2.
  4. Active el grupo de recursos: # pooladm -c
  5. Añada el nombre de proyecto como la quinta columna en el archivo db2nodes.cfg:
       0 hostname 0 hostname db2proj0
       1 hostname 1 hostname db2proj1
       2 hostname 2 hostname db2proj2
       3 hostname 3 hostname db2proj3
[ Principio de página | Página anterior | Página siguiente | Contenido ]