DB2 for Linux, UNIX, and Windows, verze 9.7
Po instalaci produktu DB2 Server > Úlohy po instalaci > Prostředí dělené databáze >

Formát konfiguračního souboru uzlu DB2

Soubor db2nodes.cfg slouží k definování serverů databázových oblastí, které se podílejí na instanci DB2. Soubor db2nodes.cfg slouží také k určení adresy IP nebo názvu hostitele vysokorychlostního propojení, chcete-li pro komunikaci serveru databázové oblasti použít vysokorychlostní propojení.

Formát souboru db2nodes.cfg v operačních systémech Linux® a UNIX® je následující:

číslo_databázové_oblasti název_hostitele logický_port síťový_název název_sady_prostředků

Parametry číslo_databázové_oblasti, název_hostitele, logický_port, síťový_názevnázev_sady_prostředků jsou definovány v následující sekci.

Formát souboru db2nodes.cfg v operačních systémech Windows® je následující:

název_sady_prostředků název_hostitele název_počítače logický_port síťový_název název_sady_prostředků

V operačních systémech Windows jsou položky do souboru db2nodes.cfg přidávány pomocí příkazu db2ncrt nebo START DBM ADD DBPARTITIONNUM. Tyto položky lze také upravit pomocí příkazu db2nchg. Přímé přidávání těchto řádků ani úprava tohoto souboru se nedoporučuje.

číslo_databázové_oblasti
Jedinečné číslo od 0 do 999, které určuje server databázové oblasti v systému dělené databáze.

Chcete-li škálovat systém dělené databáze, přidejte do souboru db2nodes.cfg položku pro každý server databázové oblasti. Hodnoty číslo_databázové_oblasti vybrané pro další servery databázových oblastí musejí tvořit vzestupnou řadu, v posloupnosti však mohou být mezery. Mezery mezi hodnotami číslo_databázové_oblasti mohou být užitečné, pokud máte v úmyslu přidávat servery logických oblastí a chcete přitom zachovat logické seskupení uzlů v tomto souboru.

Tato položka je povinná.

název_hostitele
Název hostitele TCP/IP serveru databázové oblasti pro použití správcem FCM (Fast Communications Manager). Tato položka je povinná.

Jsou-li v souboru db2nodes.cfg uvedeny názvy hostitelů místo IP adres, správce databází se bude pokoušet o dynamické rozpoznávání názvů hostitelů. Toto rozpoznávání může v závislosti na nastavení OS v počítači probíhat lokálně nebo pomocí vyhledávání na zaregistrovaných serverech pro správu doménových názvů (DNS).

Od verze 9.1 produktu DB2 jsou podporovány protokoly TCP/IPv4 i TCP/IPv6. Metoda rozpoznávání názvů hostitelů se změnila.

Zatímco metoda používaná ve vydáních starších než verze 9.1 rozpoznává řetězec podle definice v souboru db2nodes.cfg, metoda ve verzích 9.1 a novějších se pokouší rozpoznat úplné názvy domén (FQDN), jsou-li v souboru db2nodes.cfg definovány krátké názvy. Při zadání krátkých názvů konfigurovaných pro úplné názvy hostitelů může tento postup vést ke zbytečným prodlevám v procesech rozpoznání názvů hostitelů.

Chcete-li předejít prodlevám v příkazech produktu DB2 vyžadujících rozpoznávání názvů hostitelů, použijte některé z následujících náhradních řešení:

  1. Jsou-li v souborech db2nodes.cfg a v souboru názvů hostitelů operačního systému uvedeny krátké názvy, zadávejte jako název hostitele v souborech hostitelů operačního systému krátký název a úplný název domény.
  2. Pokud víte, že server DB2 přijímá požadavky na portu IPv4, a chcete používat pouze adresy IPv4, zadejte následující příkaz:
    db2 catalog tcpip4 node db2tcp2 remote 192.0.32.67   server db2inst1   with "Vyhledávání adres IPv4 z adresy 192.0.32.67"
  3. Pokud víte, že server DB2 přijímá požadavky na portu IPv6, a chcete používat pouze adresy IPv6, zadejte následující příkaz:
    db2 catalog tcpip6 node db2tcp3 1080:0:0:0:8:800:200C:417A     server 50000     with "Vyhledávání adres IPv6 z adresy 1080:0:0:0:8:800:200C:417A"
logický_port
Určuje číslo logického portu pro server databázové oblasti. Toto pole slouží k určení serveru databázové oblasti na pracovní stanici, na které jsou spuštěny servery logických databázových oblastí.

Produkt DB2 rezervuje určitý rozsah portů (například 60000 - 60003) v souboru /etc/services pro komunikaci mezi oblastmi během instalace. Pole logický_port v souboru db2nodes.cfg určuje, který port v tomto rozsahu chcete přiřadit konkrétnímu serveru logické oblasti.

Není-li pro toto pole zadána žádná položka, je použita výchozí hodnota 0. Pokud však zadáte položku pro pole síťový_název, musíte zadat číslo pro pole logický_port.

Používáte-li logické databázové oblasti, musí hodnoty zadané pro pole logický_port začínat hodnotou 0 a pokračovat ve vzestupném pořadí (například 0,1,2).

Navíc, pokud zadáte položku v poli logický_port pro jeden server databázové oblasti, musíte zadat položku v poli logický_port pro každý server databázové oblasti uvedený v souboru db2nodes.cfg.

Toto pole je nepovinné pouze v případě, že nepoužíváte logické databázové oblasti ani vysokorychlostní propojení.

síťový_název
Určuje název hostitele nebo adresu IP vysokorychlostního propojení pro komunikaci správce FCM.

Je-li zadána položka pro toto pole, veškerá komunikace mezi servery databázových oblastí (kromě komunikace vzniklé důsledkem příkazů db2start, db2stop a db2_all) bude prováděna prostřednictvím vysokorychlostního propojení.

Tento parametr je vyžadován pouze tehdy, pokud používáte pro komunikaci v databázové oblasti vysokorychlostní propojení.

název_sady_prostředků
Parametr název_sady_prostředků určuje prostředek operačního systému, ve kterém má být uzel spuštěn. Účelem parametru název_sady_prostředků je podpora afinity procesů, používaná pro oblasti MLN (Multiple Logical Nodes). Tato podpora je vybavena polem typu řetězec, které bylo dříve nazýváno quadname.

Tento parametr je podporován pouze v systémech AIX, HP-UX a Solaris Operating System.

V systému AIX je tato koncepce známa jako "sady prostředků" a v systému Solaris Operating System se nazývá "projekty". Další informace o správě prostředků naleznete v dokumentaci k příslušnému operačnímu systému.

V systému HP-UX je parametrem název_sady_prostředků název skupiny PRM. Podrobnosti naleznete v příručce "HP-UX Process Resource Manager User Guide. (B8733-90007)" vydané společností HP.

V operačních systémech Windows může být afinita procesu pro logický uzel definována pomocí proměnné registru DB2PROCESSORS.

V operačních systémech Linux definuje sloupec název_sady_prostředků číslo, které odpovídá uzlu NUMA (Non-Uniform Memory Access) v systému. Kromě jádra 2.6 s podporou zásad NUMA musí být k dispozici také systémový obslužný program numactl.

Je-li zadán parametr název_sady_prostředků, musí být určen i parametr síťový_název.

Příklady konfigurace

Následující příklady konfigurace vám mohou pomoci při určování konfigurace pro vaše prostředí.

Jeden počítač, čtyři servery databázových oblastí
Pokud nepoužíváte prostředí s klastry a chcete mít čtyři servery databázových oblastí na jedné fyzické pracovní stanici pojmenované ServerA, aktualizujte soubor db2nodes.cfg takto:
   0          ServerA        0
   1          ServerA        1
   2          ServerA        2
   3          ServerA        3
Dva počítače, jeden server databázové oblasti na každém počítači
Chcete-li, aby systém dělené databáze obsahoval dvě fyzické pracovní stanice pojmenované ServerAServerB, aktualizujte soubor db2nodes.cfg takto:
   0          ServerA        0
   1          ServerB        0
Dva počítače, tři servery databázových oblastí na jednom počítači
Chcete-li, aby systém dělené databáze obsahoval dvě fyzické pracovní stanice pojmenované ServerAServerB a aby byly na počítači ServerA spuštěné 3 servery databázových oblastí, aktualizujte soubor db2nodes.cfg takto:
   4          ServerA        0
   6          ServerA        1
   8          ServerA        2
   9          ServerB        0
Dva počítače, tři servery databázových oblastí s vysokorychlostními přepínači
Pokud chcete, aby systém dělené databáze obsahoval dva počítače pojmenované ServerAServerB, přičemž na počítači ServerB budou spuštěny dva servery databázových oblastí, a aby používal vysokorychlostní propojení pojmenované switch1switch2, aktualizujte soubor db2nodes.cfg takto:
   0          ServerA        0              switch1
   1          ServerB        0              switch2
   2          ServerB        1              switch2

Příklady použití parametru název_sady_prostředků

Omezení platí pro následující příklady:

Příklad pro systém AIX

Zde je uveden příklad nastavení sady prostředků pro operační systémy AIX.

V tomto příkladu existuje jeden fyzický uzel s 32 procesory a 8 logickými databázovými oblastmi (MLN). Příklad ukazuje způsob, jak poskytnout afinitu procesu každé oblasti MLN.

  1. Definujte sady prostředků v souboru /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. Povolte afinitu paměti zadáním následujícího příkazu:
       vmo -p -o memory_affinity=1
  3. Chcete-li použít sady prostředků, vydejte povolení instance:
    chuser capabilities=
        CAP_BYPASS_RAC_VMM,CAP_PROPAGATE,CAP_NUMA_ATTACH  db2inst1
  4. Název sady prostředků přidejte jako pátý sloupec do souboru 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

Příklad pro systém HP-UX

Tento příklad ukazuje použití skupin PRM pro sdílení procesoru v počítači se čtyřmi procesory a čtyřmi oblastmi MLN, jestliže chcete nastavit podíl sdílení procesoru 24 % pro každou oblast MLN a ponechat 4 % pro ostatní aplikace. Název instance DB2 je db2inst1.

  1. Upravte sekci GROUP souboru /etc/prmconf:
      OTHERS:1:4::
    	db2prm1:50:24::
     	db2prm2:51:24::
      	db2prm3:52:24::
     	db2prm4:53:24::  
  2. Přidejte položku vlastníka instance do souboru /etc/prmconf:
       db2inst1::::OTHERS,db2prm1,db2prm2,db2prm3,db2prm4
  3. Inicializujte skupiny a zpřístupněte správce procesoru zadáním následujícího příkazu:
       prmconfig -i
       prmconfig -e CPU
  4. Přidejte názvy skupin PRM jako pátý sloupec do souboru db2nodes.cfg:
       1 voyager 0 voyager db2prm1 	
       2 voyager 1 voyager db2prm2 	
       3 voyager 2 voyager db2prm3 	
       4 voyager 3 voyager db2prm4

Konfigurace PRM (kroky 1-3) může být provedena pomocí interaktivního nástroje grafického uživatelského rozhraní xprm.

Příklad pro systém Linux

V operačních systémech Linux definuje sloupec název_sady_prostředků číslo, které odpovídá uzlu NUMA (Non-Uniform Memory Access) v systému. Kromě jádra 2.6 s podporou zásad NUMA musí být k dispozici také systémový obslužný program numactl. Další informace o podpoře zásad NUMA v operačních systémech Linux naleznete na stránce nápovědy k příkazu numact1.

Tento příklad ukazuje postup nastavení počítače se čtyřmi uzly NUMA, přičemž každý logický uzel je přiřazen k uzlu NUMA.

  1. Zkontrolujte, zda je systém vybaven funkcemi NUMA.
  2. Spusťte následující příkaz:
    $ numactl --hardware
    Zobrazí se výstup podobný následujícímu:
    available: 4 nodes (0-3)
    node 0 size: 1901 MB 
    node 0 free: 1457 MB 
    node 1 size: 1910 MB 
    node 1 free: 1841 MB 
    node 2 size: 1910 MB 
    node 2 free: 1851 MB 
    node 3 size: 1905 MB 
    node 3 free: 1796 MB
  3. V tomto příkladu obsahuje systém čtyři uzly NUMA. Následující úpravou souboru db2nodes.cfg přiřaďte jednotlivé oblasti MLN k uzlům NUMA v systému:
    0 hostname 0 hostname 0 
    1 hostname 1 hostname 1 
    2 hostname 2 hostname 2 
    3 hostname 3 hostname 3

Příklad pro systém Solaris

Zde je uveden příklad nastavení projektu pro systém Solaris verze 9.

V tomto příkladu máme jeden fyzický uzel s 8 procesory: jeden procesor se bude používat pro výchozí projekt, tři (3) procesory budou využity Aplikačním serverem a čtyři (4) procesory budou využity produktem DB2. Název instance je db2inst1.

  1. Pomocí editoru vytvořte konfigurační soubor fondu prostředků. V tomto příkladu bude mít soubor název pool.db2. Zde je jeho obsah:
       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. Upravte soubor /etc/project přidáním projektů DB2 a projektu appsrv následujícím způsobem:
       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. Vytvořte fond prostředků: # poolcfg -f pool.db2.
  4. Aktivujte fond prostředků: # pooladm -c
  5. Přidejte název projektu jako pátý sloupec do souboru db2nodes.cfg:
       0 hostname 0 hostname db2proj0
       1 hostname 1 hostname db2proj1
       2 hostname 2 hostname db2proj2
       3 hostname 3 hostname db2proj3
[ Začátek stránky | Předchozí stránka | Další stránka | Obsah ]