Installazione dello stack software cluster Pacemaker

Pacemaker è un software di gestione cluster open source ad alta disponibilità. Per garantire una corretta installazione, seguire le procedure fornite.

Importante: le informazioni in questo argomento, incluso l'elenco di controllo di pre - configurazione e la procedura, sono solo per versione 11.5.5 e versioni precedenti. A partire dalla versione 11.5.6, gli utenti possono eseguire l'installazione Pacemaker utilizzando il Db2® programma di installazione. Per ulteriori informazioni, consultare Installazione di Pacemaker utilizzando il programma di installazione Db2.
Importante: In Db2 11.5.8 e versioni successive, l'alta disponibilità di failover reciproco è supportata quando si utilizza Pacemaker come gestore cluster integrato. In Db2 11.5.6 e versioni successive, il gestore cluster Pacemaker per il failover automatizzato sui database standby HADR viene fornito e installato con Db2. In Db2 11.5.5, Pacemaker è incluso e disponibile per ambienti di produzione. In Db2 11.5.4, Pacemaker è incluso solo come anteprima della tecnologia, per ambienti di sviluppo, di test e di prova.

Informazioni preliminari

Assicurarsi di avere il pacchetto software del cluster Pacemaker destinato all'utilizzo con Db2 scaricando il pacchetto dal sito IBM Servizi di Registrazione marketing . Prima di procedere alla sezione successiva, verificare che tutti i prerequisiti e i criteri necessari siano stati soddisfatti. Per ulteriori informazioni su questi prerequisiti, fare riferimento a Prerequisiti per una soluzione integrata utilizzando Pacemaker.

Checklist di pre - setup

  • L'ID utente dell'istanza e l'ID di gruppo sono impostati.

  • Il file /etc/hosts include entrambi gli host, seguendo il formato elencato in Configurazione file host.

  • Entrambi gli host hanno connettività TCP/IP tra le loro interfacce di rete Ethernet.

  • Sia gli ID utente di root che di istanza possono utilizzare ssh tra i due host, utilizzando nomi host lunghi e brevi.

  • Il software cluster Pacemaker è stato scaricato su entrambi gli host.

  • Assicurarsi che non siano installati i componenti nonDb2 forniti Pacemaker .

  • Verificare che i repository di sistema siano abilitati per le dipendenze del package pacemaker.
Di seguito è riportato un esempio di come funziona la checklist pre - setup. Un ambiente AWS viene utilizzato per questo esempio:
  1. Informazioni host
    Tabella 1. Esempio ospita informazioni
    Nome host Indirizzo IP del dispositivo eth0

    Breve: ip-172-31-15-79

    Lungo: ip-172-31-15-79.us-east-2.compute.internal

    172.31.15.79

    Breve: ip-172-31-10-145

    Lungo: ip-72-31-10-145.us-east-2.compute.internal

    172.31.10.145
  2. /etc/hosts sono impostati in entrambi gli host:
    127.0.0.1 localhost localhost.localdomain 
    localhost4 localhost4.localdomain4 
    ::1 localhost localhost.localdomain 
    localhost6 localhost6.localdomain6 
    
    172.31.15.79 ip-172-31-15-79.us-east-2.compute.internal ip-172-31-15-79 
    172.31.10.145 ip-172-31-10-145.us-east-2.compute.internal ip-172-31-10-145
    127.0.0.1 localhost localhost.localdomain 
    localhost4 localhost4.localdomain4 
    ::1 localhost localhost.localdomain 
    localhost6 localhost6.localdomain6 
    
    172.31.15.79 ip-172-31-15-79.us-east-2.compute.internal ip-172-31-15-79 
    172.31.10.145 ip-172-31-10-145.us-east-2.compute.internal ip-172-31-10-145
  3. Il ping TCP/IP può essere eseguito tra i due host:
    • Su ip-172-31-15-79, ping -I 172.31.15.79 172.31.10.145 funziona.
    • Su ip-172-31-10-145, ping -I 172.31.10.145 172.31.15.79 funziona.
  4. ID utente istanza / ID gruppo: db2inst1 / db2iadm1
    Il seguente comando può essere utilizzato per generarli:
    groupadd db2iadm1
    useradd -g db2iadm1 -m -d /home/db2inst1 db2inst1
    Verificare che siano stati creati. Per farlo, provare la registrazione con l'utente e la password forniti:
    [root@ip-172-31-15-79 server]# grep db2iadm1 /etc/group
    db2iadm1:x:1001:
    
    [root@ip-172-31-15-79 ec2-user]# grep db2inst1 /etc/passwd
    db2inst1:x:1001:1001::/home/db2inst1:/bin/bash
  5. L'accesso SSH funziona con nomi host lunghi e brevi tra i due host che utilizzano l'ID utente root ed istanza.
    Come utente root su ip-172-31-15-79, i seguenti comandi possono essere eseguiti correttamente:
    ssh ip-172-31-15-79 -l root ls
    ssh ip-172-31-15-79.us-east-2.compute.internal -l root ls
    ssh ip-172-31-10-145 -l root ls
    ssh ip-172-31-10-145.us-east-2.compute.internal -l root ls
    Come utente root su ip-172-31-10-145, i seguenti comandi possono essere eseguiti correttamente:
    ssh ip-172-31-15-79 -l root ls
    ssh ip-172-31-15-79.us-east-2.compute.internal -l root ls
    ssh ip-172-31-10-145 -l root ls
    ssh ip-172-31-10-145.us-east-2.compute.internal -l root ls
  6. Assicurarsi che non siano installati i componenti nonDb2 forniti Pacemaker eseguendo quanto segue:
    # rpm -q corosync
    package corosync is not installed
    
    # rpm -q pacemaker
    package pacemaker is not installed
    
    # rpm -q crmsh
    package crmsh is not installed
    
    # rpm -q cluster-glue
    package cluster-glue is not installed
  7. Posizione del software Db2 : la directory /root/db2Image esiste su entrambi gli host.
  8. Il file tar del pacchetto software del cluster Pacemaker esiste in /tmp su entrambi gli host.
    Ogni tarball segue la convenzione di denominazione:
    • Db2 versione
    • Pacemaker
    • Data in formato YYYYMMDD
    • Distribuzione Linux
    • Architettura Linux
    Ad esempio: Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz
    [root@ip-172-31-15-79 tmp]# ls -al *.gz
    -rw-r--r--. 1 ec2-user ec2-user 10710023 Dec 24 21:32 
    Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz
    
    [root@ip-172-31-10-145 tmp]# ls -al *.gz
    -rw-r--r--. 1 ec2-user ec2-user 10710023 Dec 24 21:32
    Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz 

Informazioni su questa attività

Segui la procedura per installare lo stack software cluster Pacemaker .

Procedura

  1. Come root sul primo host, ip-172-31-15-79, estrarre il file tar nella cartella /tmp .
    • cd /tmp

    • tar -zxf Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz

    • Quanto sopra creerà la directory Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64

      Che conterrà il seguente albero di directory:
      Db2/
      Db2agents/
      RPMS/
      RPMS/<architecture>
      RPMS/noarch
      SRPMS/ 
      Nota: La variabile <architecture> sarà diversa in base all'hardware. Su Intel/AMD sarà x86_64. Su POWER LE sarà ppcle. Per i sistemi z sarà s390x.
  2. Per RHEL 8.1, installare la release epel-seguita dagli RPM nella directory Pacemaker non tarata:
    1. cd /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/RPMS
    2. dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    3. dnf install */*.rpm
    Un output di esempio:
    [root@ip-172-31-10-145 RPMS]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    Red Hat Update Infrastructure 3 Client Configuration 2.0 kB/s | 2.1 kB     00:01    
    Red Hat Enterprise Linux 8 for x86_64 - AppStream fr  30 kB/s | 2.8 kB     00:00    
    Red Hat Enterprise Linux 8 for x86_64 - BaseOS from   26 kB/s | 2.4 kB     00:00    
    epel-release-latest-8.noarch.rpm                      16 kB/s |  21 kB     00:01    
    Dependencies resolved.
    =====================================================================================
     Package               Arch            Version           Repository             Size
    =====================================================================================
    Installing:
     epel-release          noarch          8-7.el8           @commandline           21 k
    
    Transaction Summary
    =====================================================================================
    Install  1 Package
    
    Total size: 21 k
    Installed size: 30 k
    Is this ok [y/N]: y
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                             1/1 
      Installing       : epel-release-8-7.el8.noarch                                 1/1 
      Running scriptlet: epel-release-8-7.el8.noarch                                 1/1 
      Verifying        : epel-release-8-7.el8.noarch                                 1/1 
    
    Installed:
      epel-release-8-7.el8.noarch                                                        
    
    Complete!
    
    
    [root@ip-172-31-10-145 RPMS]# dnf install */*.rpm
    Extra Packages for Ente     [===                   ] ---  B/s |   0  B     --:-- ETA
    Extra Packages for Ente     [===                   ] ---  B/s |   0  B     --:-- ETA
    Extra Packages for Ente     [   ===                ] ---  B/s |   0  B     --:-- ETA
    Extra Packages for Ente 74% [================      ]  11 MB/s | 3.2 MB     00:00 ETA
    Extra Packages for Enterprise Linux 8 - x86_64       1.8 MB/s | 4.3 MB     00:02
        
    Last metadata expiration check: 0:00:01 ago on Tue 24 Dec 2019 08:43:32 PM UTC.
    Dependencies resolved.
    =====================================================================================
     Package               Arch   Version          Repository                       Size
    =====================================================================================
    Installing:
     crmsh                 noarch 4.1.0-0          @commandline                     717 k
     mcrmsh-scripts        noarch 4.1.0-0          @commandline                     30 k
     pacemaker-cts         noarch 2.0.2-1.el8      @commandline                     2.0 M
    
    .
    .
    .
    
    Installed:
      crmsh-4.1.0-0.noarch                                                               
      crmsh-scripts-4.1.0-0.noarch                                                       
      pacemaker-cts-2.0.2-1.el8.noarch                                                   
      pacemaker-doc-2.0.2-1.el8.noarch                                                   
      pacemaker-nagios-plugins-metadata-2.0.2-1.el8.noarch                               
      pacemaker-schemas-2.0.2-1.el8.noarch                                               
      python3-parallax-1.0.5-1.el8.noarch                                                
      corosync-3.0.3-1.el8.x86_64                                                        
      corosync-debuginfo-3.0.3-1.el8.x86_64                                              
      corosync-debugsource-3.0.3-1.el8.x86_64                                            
      corosynclib-3.0.3-1.el8.x86_64                                                     
      corosynclib-debuginfo-3.0.3-1.el8.x86_64                                           
      corosynclib-devel-3.0.3-1.el8.x86_64                                               
      corosync-vqsim-3.0.3-1.el8.x86_64                                                  
      corosync-vqsim-debuginfo-3.0.3-1.el8.x86_64                                        
      kronosnet-debugsource-1.13-1.el8.x86_64                                            
      ldirectord-4.4.0-1.el8.x86_64                                                      
      libknet1-1.13-1.el8.x86_64                            
      .
      .
      .
      libaio-0.3.112-1.el8.x86_64                                                        
      gssproxy-0.8.0-14.el8.x86_64                                                       
      libqb-1.0.3-10.el8.x86_64                                                          
      device-mapper-persistent-data-0.8.5-2.el8.x86_64                                   
      libqb-devel-1.0.3-10.el8.x86_64                                                    
      rpcbind-1.2.5-4.el8.x86_64                                                         
    
    Complete!
    Per SLES 15 SP1, aggiungere il repository di backporte, seguito dai RPM nella directory Pacemaker non tarato:
    1. cd /tmp/Db2_v11.5.4.0_Pacemaker_20200418_SLES15SP1_x86_641/RPMS
    2. indirizzo zypper -fc http://download.opensuse.org/repositories/openSUSE:/Backports:/SLE-15-SP1/standard/openSUSE:Backports:SLE-15-SP1.repo
    3. zypper install --allow-unsigned-rpm {noarch,x86_64}.rpm
  3. Verificare che i seguenti pacchetti siano installati. L'output può variare leggermente per diverse architetture e distribuzioni Linux . Tutti i pacchetti devono includere il testo db2pcmk nell'output. Ad esempio:
    [root@ip-172-31-15-79 RPMS]# rpm -q corosync 
    corosync-3.0.3-1.db2pcmk.el8.x86_64 
    [root@ip-172-31-15-79 RPMS]# rpm -q pacemaker 
    pacemaker-2.0.2-1.db2pcmk.el8.x86_64
    [root@ip-172-31-15-79 RPMS]# rpm -q crmsh 
    crmsh-4.1.0-0.db2pcmk.el8.noarch
  4. Copiare il programma di utilità db2cm dalla directory del software del cluster nella directory sqllib/bin dell'istanza:
    cp /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2/db2cm /home/db2inst1/sqllib/bin
    chmod 755 /home/db2inst1/sqllib/bin/db2cm
  5. Copiare gli script dell'agent di risorse (db2hadr, db2inst, db2ethmon) da /tmp/Db2agents in /usr/lib/ocf/resource.d/heartbeat/ su due host:
    /home/db2inst1/sqllib/bin/db2cm -copy_resources /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2agents -host ip-172-31-10-145
    /home/db2inst1/sqllib/bin/db2cm -copy_resources /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2agents -host ip-172-31-15-79
  6. Ripeti Passi da 1 a 4 sul secondo host.