Guida al deployment del cluster IBM Db2 ad alta disponibilità per SAP

Questa guida mostra come configurare le risorse Google Cloud per un cluster IBM Db2 (IBM Db2) ad alta disponibilità (HA) per SAP nel sistema operativo Linux.

Queste istruzioni sono complementari a quelle fornite da SAP e IBM in Soluzione ad alta disponibilità IBM Db2: IBM Tivoli System Automation for Multiplatforms. Fai sempre riferimento alla documentazione più recente fornita da SAP e IBM durante l'installazione e la configurazione di un cluster IBM Db2 ad alta disponibilità su Google Cloud.

Queste istruzioni sono destinate a un cluster IBM Db2 ad alta disponibilità che utilizza IBM Tivoli System Automation for Multiplatforms (TSAMP) per monitorare il sistema e avviare l'azione appropriata se il sistema non risponde. Il cluster utilizza la funzione di ripristino di emergenza ad alta disponibilità (HADR) di IBM Db2 per replicare le modifiche ai dati registrate nel database in standby.

Il cluster utilizza un indirizzo IP mobile implementato da Google Cloud con una route statica di Google Cloud o un indirizzo IP alias. In questo contesto, il termine "indirizzo IP mobile" è sinonimo di "indirizzo IP virtuale", utilizzato nella documentazione di SAP.

Queste istruzioni mostrano come configurare un cluster IBM Db2 ad alta disponibilità costituito da un server IBM Db2 principale e un server IBM Db2 secondario o di standby, ognuno dei quali viene eseguito su una macchina virtuale (VM Compute Engine) separata.

Questa guida è rivolta agli utenti SAP e IBM Db2 esperti che conoscono i cluster ad alta disponibilità.

Per ulteriori informazioni sulla pianificazione di un cluster Db2 ad alta disponibilità, consulta Cluster IBM Db2 ad alta disponibilità nella Guida alla pianificazione di IBM Db2 per SAP.

Documentazione SAP obbligatoria

Le istruzioni per l'installazione e la configurazione dei componenti SAP e IBM sono fornite da SAP in Soluzione ad alta disponibilità IBM Db2: IBM Tivoli System Automation for Multiplatforms.

Leggi sia la documentazione di SAP che quella di Google Cloud prima di avviare le procedure riportate in queste istruzioni. Nelle varie fasi del deployment, potrebbe essere necessario fare riferimento sia alla documentazione di SAP che di Google Cloud.

Prerequisiti

Prima di creare il cluster ad alta disponibilità IBM Db2, assicurati che siano soddisfatti i prerequisiti seguenti:

  • Tu o la tua organizzazione disponete di un account Google Cloud e avete creato un progetto per il deployment del cluster IBM Db2 ad alta disponibilità. Per informazioni sulla creazione di progetti Google Cloud, consulta i Prerequisiti nella guida al deployment di IBM Db2 per SAP.
  • Se richiedi che il carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, controllo dell'accesso, il personale di assistenza o i requisiti normativi, devi creare la cartella Assured Workloads richiesta. Per maggiori informazioni, consulta Conformità e controlli di sovranità per SAP su Google Cloud.
  • Hai una rete Virtual Private Cloud su Google Cloud. Per istruzioni su come configurare una rete VPC e le regole firewall, nonché su come configurare un gateway NAT o un bastion host per IBM Db2 per SAP, consulta la guida al deployment di IBM Db2 per SAP.

  • Se OS Login è abilitato nei metadati del progetto, devi disabilitare temporaneamente OS Login fino al completamento del deployment. Ai fini del deployment, questa procedura configura le chiavi SSH nei metadati dell'istanza. Quando OS Login è abilitato, le configurazioni delle chiavi SSH basate su metadati sono disattivate. Al termine del deployment, puoi abilitare di nuovo OS Login.

    Per ulteriori informazioni, vedi:

Deployment di un cluster IBM Db2 ad alta disponibilità su Google Cloud

Queste istruzioni mostrano come eseguire il deployment di due VM, definire un indirizzo IP mobile e configurare l'indirizzo IP alias o le route Google Cloud che supportano l'indirizzo IP mobile. Per installare i componenti IBM, puoi consultare la documentazione di SAP.

I principali servizi Google Cloud che devi configurare per un cluster ad alta disponibilità IBM Db2 sono:

  • Una rete VPC e una subnet
  • Regole firewall (se non utilizzi un'altra forma di controllo dell'accesso alla rete)
  • VM di Compute Engine e archiviazione su disco permanente

Puoi anche scaricare e utilizzare uno script helper Google Cloud quando definisci la risorsa personalizzata che TSAMP utilizza per gestire il passaggio dell'indirizzo IP mobile tra gli host. Lo script consente a TSAMP di interagire con le API Google Cloud.

Informazioni su Deployment Manager

In queste istruzioni, definisci le opzioni delle risorse per l'installazione in un modello di file di configurazione di Deployment Manager.

Deployment Manager tratta tutte le risorse create per il tuo sistema SAP come una singola entità chiamata deployment. Puoi visualizzare e lavorare con tutti i deployment per il tuo progetto nella pagina Deployment nella console Google Cloud.

Tieni presente i seguenti comportamenti quando utilizzi Deployment Manager:

  • L'eliminazione di un deployment elimina tutte le risorse associate al deployment, tra cui le VM, i dischi permanenti e gli eventuali sistemi SAP installati sulla VM.
  • Per impostazione predefinita, Deployment Manager utilizza il criterio di creazione delle risorse ACQUIRE. Se specifichi il nome di una VM già in uso da parte di un'altra VM nel tuo progetto, Deployment Manager non crea una nuova VM, ma aggiunge la VM esistente al nuovo deployment. Se la VM originale è stata creata da un'esecuzione precedente di Deployment Manager, è associata a due deployment.

    Se poi elimini il nuovo deployment, la VM acquisita viene eliminata dal deployment che l'ha creata originariamente. Per evitare questo scenario, imposta il criterio delle risorse di Deployment Manager su CREATE o assicurati di utilizzare nomi di risorse univoci nel nuovo deployment.

    Per informazioni sui criteri che puoi utilizzare durante la creazione delle risorse con Deployment Manager e su come specificarli, consulta la documentazione di Deployment Manager.

Deployment delle VM per un cluster IBM Db2 ad alta disponibilità con Deployment Manager

  1. In Cloud Shell, scarica il modello del file di configurazione template_ha.yaml nella directory di lavoro:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/template_ha.yaml
  2. Per aprire l'editor di codice di Cloud Shell, fai clic sull'icona a forma di matita () nell'angolo in alto a destra della finestra del terminale Cloud Shell.

  3. Se vuoi, rinomina il file template_ha.yaml per identificare la configurazione che definisce. Ad esempio, db2_ha_s123_dh1.yaml.

  4. Fai doppio clic sulla template_ha.yaml nell'editor di codice per aprirla.

  5. Definisci le VM e i dischi permanenti nel file template_ha.yaml. Il file template_ha.yaml contiene due sezioni: sap_db2_primary e sap_db2_secondary. Ogni sezione contiene un insieme di coppie proprietà-valore seguite da commenti che includono proprietà usate meno di frequente.

    Quando compili ogni sezione, ad eccezione delle proprietà instanceName, zone e otherHost, le definizioni di ogni VM devono essere identiche.

    La tabella seguente descrive le proprietà incluse in ogni sezione. Per utilizzare una proprietà, sostituisci il testo segnaposto e le parentesi con i valori per la tua installazione.

    Proprietà Tipo di dati Descrizione
    tipo Stringa

    Specifica la località, il tipo e la versione del modello Deployment Manager da utilizzare durante il deployment.

    Il file YAML include due specifiche type, una delle quali è commentata. La specifica type attiva per impostazione predefinita specifica la versione del modello come latest. La specifica type commentata specifica una versione specifica del modello con un timestamp.

    Se tutti i tuoi deployment devono utilizzare la stessa versione del modello, usa la specifica type che include il timestamp.

    instanceName Stringa Il nome dell'istanza VM su cui installi IBM Db2. Il nome deve contenere al massimo 13 caratteri, specificato in lettere minuscole, numeri o trattini.
    instanceType Stringa Il tipo di macchina virtuale di Compute Engine su cui installi IBM Db2. Specifica un tipo di macchina con due o più vCPU. Ad esempio, n1-standard-4.
    zone Stringa La zona in cui stai eseguendo il deployment dell'istanza IBM Db2. Deve trovarsi nella stessa regione selezionata per la subnet.
    subnetwork Stringa Il nome della subnet creata in un passaggio precedente. Se esegui il deployment in un VPC condiviso, specifica questo valore come shared-vpc-project/SUBNETWORK. Ad esempio, myproject/network1.
    linuxImage Stringa Il nome dell'immagine o della famiglia di immagini del sistema operativo Linux che utilizzi con IBM Db2. Per specificare una famiglia di immagini, aggiungi il prefisso family/ al nome della famiglia. Ad esempio, family/rhel-7-sap-apps o family/sles-12-sp3-sap. Per specificare un'immagine, inserisci solo il nome. Per l'elenco delle famiglie di immagini disponibili, consulta la pagina Immagini nella console Google Cloud.
    linuxImageProject Stringa Il progetto Google Cloud che contiene l'immagine che utilizzerai. Questo può essere un tuo progetto o un progetto di immagine Google Cloud, come rhel-sap-cloud o suse-sap-cloud. Per un elenco dei progetti di immagini Google Cloud, consulta la pagina Immagini nella documentazione di Compute Engine.
    db2SID Stringa L'ID istanza del database.
    db2sidSize Numero intero Le dimensioni in GB di /db2/DBSID, ovvero la directory radice dell'istanza di database. I valori minimo e predefinito di db2sidSize sono entrambi 8 GB.
    db2homeSize Numero intero Le dimensioni in GB di /db2/db2db2sid, che è la home directory dell'istanza di database. I valori minimo e predefinito di db2homeSize sono entrambi 8 GB.
    db2dumpSize Numero intero Le dimensioni in GB di /db2/DBSID/db2dump, che contiene i file di dump di DB2 utilizzati per diagnosticare i problemi. I valori minimo e predefinito per db2dumpSize sono entrambi 8 GB.
    db2saptmpSize Numero intero Le dimensioni in GB di /db2/DBSID/saptmp, che contengono lo spazio della tabella temporanea del database. I valori minimo e predefinito di db2saptmpSize sono entrambi 8 GB.
    db2sapdataSize Numero intero La dimensione di /sapdb/DBSID/sapdata, che contiene i file di dati del database. I valori minimo e predefinito di db2sapdataSize sono entrambi 30 GB.
    db2logSize Numero intero La dimensione di /db2/DBSID/logdir, che contiene i log delle transazioni del database. I valori minimo e predefinito di db2logSize sono entrambi 8 GB.
    db2backupSize Numero intero Le dimensioni del volume /db2backup. Questa proprietà è facoltativa. Se imposti il valore 0 o ometti, non viene creato alcun disco.
    db2sapdataSSD boolean Specifica se l'unità di dati utilizza un disco permanente SSD (Yes) o un disco permanente HDD (No). Yes è l'impostazione predefinita.
    db2logSSD boolean Specifica se l'unità di log utilizza un disco permanente SSD (Yes) o un disco permanente HDD (No). Yes è l'impostazione predefinita. Per l'unità di log si consiglia l'SSD.
    usrsapSize Numero intero Obbligatorio solo se stai installando IBM Db2 per l'esecuzione con SAP NetWeaver sulla stessa istanza VM.
    sapmntSize Numero intero Obbligatorio solo se stai installando IBM Db2 per l'esecuzione con SAP NetWeaver sulla stessa istanza VM.
    swapSize Numero intero Obbligatorio solo se stai installando IBM Db2 per l'esecuzione con SAP NetWeaver sulla stessa istanza VM.
    otherHost Stringa Il nome dell'altra istanza VM nel cluster ad alta disponibilità IBM Db2. L'istanza VM deve essere definita nell'altro set di proprietà nello stesso file template_ha.yaml.
    networkTag Stringa Facoltativo. Un tag di rete che rappresenta l'istanza VM a fini di firewall o di routing. Se specifichi publicIP: No e non utilizzi un tag di rete, assicurati di fornire un altro mezzo per accedere a internet.
    publicIP boolean Facoltativo. Determina se un indirizzo IP pubblico viene aggiunto all'istanza VM. Il valore predefinito è Yes.
    serviceAccount Stringa Facoltativo. Se crei il tuo account di servizio con autorizzazioni bloccate, inserisci qui il nome dell'account. Per impostazione predefinita, il deployment delle VM viene eseguito utilizzando l'account di servizio del progetto predefinito. Tieni presente che un account di servizio definito in modo errato impedisce un deployment riuscito. Di seguito è riportato un esempio di account di servizio personalizzato: myserviceuser@myproject.iam.gserviceaccount.com
    sap_deployment_debug boolean Facoltativo. Se questo valore è impostato su Yes, il deployment genera log di deployment dettagliati. Non attivare questa impostazione a meno che un tecnico dell'assistenza Google non ti chieda di abilitare il debug.
    post_deployment_script Stringa Facoltativo. Specifica la posizione di uno script da eseguire al termine del deployment. Lo script deve essere ospitato su un server web o in un bucket Cloud Storage. L'URL deve iniziare con http://, https:// o gs://. Tieni presente che questo script viene eseguito su tutte le VM create dal modello. Per eseguirlo solo sull'istanza principale, aggiungi un segno di spunta nella parte superiore dello script.

    Le definizioni di VM di esempio riportate di seguito da un file di configurazione template_ha.yaml creano due VM per un cluster IBM Db2 ad alta disponibilità. Per ogni VM, il file di configurazione indica a Deployment Manager di eseguire il deployment di una VM n1-standard-4 che esegue un sistema operativo della famiglia di immagini SLES 12 SP3. La VM include tutte le directory necessarie per eseguire un cluster IBM Db2 ad alta disponibilità. Deployment Manager non crea le directory SAP NetWeaver, perché le dimensioni delle directory sono impostate su 0.

    resources:
    - name: sap_db2_primary
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py
      #
      properties:
        instanceName: db2-ha-s1
        instanceType: n1-standard-4
        zone: us-central1-c
        subnetwork: example-sap-subnetwork
        linuxImage: family/sles-12-sp3-sap
        linuxImageProject: suse-sap-cloud
        db2SID: DH1
        db2sidSize: 16
        db2dumpSize: 16
        db2saptmpSize: 16
        db2sapdataSize: 50
        db2logSize: 16
        db2backupSize: 50
        db2sapdataSSD: Yes
        db2logSSD: Yes
        usrsapSize: 0
        sapmntSize: 0
        swapSize: 0
        otherHost: db2-ha-s2
    #
    # (Comment section omitted from example)
    #
    - name: sap_db2_secondary
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_db2/sap_db2.py
      #
      properties:
        instanceName: db2-ha-s2
        instanceType: n1-standard-4
        zone: us-central1-f
        subnetwork: example-sap-subnetwork
        linuxImage: family/sles-12-sp3-sap
        linuxImageProject: suse-sap-cloud
        db2SID: DH1
        db2sidSize: 16
        db2dumpSize: 16
        db2saptmpSize: 16
        db2sapdataSize: 50
        db2logSize: 16
        db2backupSize: 50
        db2sapdataSSD: Yes
        db2logSSD: Yes
        usrsapSize: 0
        sapmntSize: 0
        swapSize: 0
        otherHost: db2-ha-s1
  6. Eseguire il deployment dell'istanza VM con Deployment Manager.

    gcloud deployment-manager deployments create DEPLOYMENT-NAME --config TEMPLATE-NAME.yaml
    

    Dove:

    • DEPLOYMENT-NAME rappresenta il nome da te scelto per il deployment corrente. Questo nome viene utilizzato per identificare questo deployment nella pagina Deployment della console Google Cloud.
    • TEMPLATE-NAME rappresenta il nome che hai assegnato al file di configurazione oppure, se non hai modificato il nome del file predefinito, template_ha.yaml.

    Deployment Manager legge le specifiche nel file template_ha.yaml e configura la VM e i dischi permanenti di conseguenza. Il processo potrebbe richiedere alcuni minuti. Per verificare l'avanzamento del deployment, segui i passaggi nella sezione successiva.

Verifica del deployment in corso...

Per verificare il deployment, controlla i log di deployment in Cloud Logging e la configurazione della VM.

Controlla i log

  1. Nella console Google Cloud, apri Cloud Logging per monitorare l'avanzamento dell'installazione e verificare la presenza di errori.

    Vai a Cloud Logging

  2. Filtra i log:

    Esplora log

    1. Nella pagina Esplora log, vai al riquadro Query.

    2. Nel menu a discesa Risorsa, seleziona Globale e poi fai clic su Aggiungi.

      Se non vedi l'opzione Globale, inserisci la seguente query nell'Editor query:

      resource.type="global"
      "Deployment"
      
    3. Fai clic su Esegui query.

    Visualizzatore log legacy

    • Nella pagina Visualizzatore log legacy, dal menu del selettore di base, seleziona Globale come risorsa di logging.
  3. Analizza i log filtrati:

    • Se viene visualizzato "--- Finished", l'elaborazione del deployment è completata e puoi andare al passaggio successivo.
    • Se visualizzi un errore di quota:

      1. Nella pagina Quote di IAM e amministrazione, aumenta le quote che non soddisfano i requisiti di IBM DB2 elencati nella Guida alla pianificazione di IBM DB2 per SAP.

      2. Nella pagina Deployment di Deployment Manager, elimina il deployment per ripulire le VM e i dischi permanenti dall'installazione non riuscita.

      3. Esegui di nuovo il deployment.

Controlla la configurazione della VM

  1. Dopo aver completato il deployment della VM, connettiti a ogni VM utilizzando ssh. Dalla pagina Istanze VM di Compute Engine, puoi fare clic sul pulsante SSH per ogni istanza VM oppure utilizzare il tuo metodo SSH preferito.

    Pulsante SSH nella pagina delle istanze VM di Compute Engine.

  2. Passa all'utente root.

    sudo su -
  3. Al prompt dei comandi, inserisci df -h. Assicurati che venga visualizzato un output simile al seguente:

    db2-ha-s1:~ # df -h
    Filesystem                     Size  Used Avail Use% Mounted on
    devtmpfs                       7.4G     0  7.4G   0% /dev
    tmpfs                           12G     0   12G   0% /dev/shm
    tmpfs                          7.4G   18M  7.4G   1% /run
    tmpfs                          7.4G     0  7.4G   0% /sys/fs/cgroup
    /dev/sda1                       30G  2.2G   26G   8% /
    /dev/mapper/vg_db2sid-vol       16G   33M   16G   1% /db2/DH1
    /dev/mapper/vg_db2dump-vol      16G   33M   16G   1% /db2/DH1/db2dump
    /dev/mapper/vg_db2sapdata-vol   50G   33M   50G   1% /db2/DH1/sapdata
    /dev/mapper/vg_db2saptmp-vol    16G   33M   16G   1% /db2/DH1/saptmp
    /dev/mapper/vg_db2log-vol       16G   33M   16G   1% /db2/DH1/log_dir
    /dev/mapper/vg_db2home-vol      16G   33M   16G   1% /db2/db2dh1
    /dev/mapper/vg_db2backup-vol    50G   33M   50G   1% /db2backup
    tmpfs                          1.5G     0  1.5G   0% /run/user/1001

Se uno dei passaggi di convalida indica che l'installazione non è riuscita:

  1. Correggi l'errore.
  2. Nella pagina Deployment elimina il deployment per ripulire le VM e i dischi permanenti dall'installazione non riuscita.
  3. Esegui di nuovo il deployment.

Prenotazione di un indirizzo IP mobile

Devi selezionare un indirizzo IP da utilizzare come indirizzo IP mobile. Ti servirà in un secondo momento, quando imposti i metadati dell'istanza VM host e quando installi e configuri IBM db2 e il cluster ad alta disponibilità.

I requisiti per l'indirizzo IP mobile sono diversi a seconda che tu scelga un tipo di implementazione IP di route o alias per il tuo indirizzo IP mobile.

Se utilizzi l'implementazione della route statica per l'indirizzo IP mobile, l'indirizzo IP deve essere al di fuori dell'intervallo di indirizzi IP della subnet e non può essere utilizzato da nessun altro nelle reti estese dell'organizzazione. Consulta l'amministratore di rete per determinare l'indirizzo IP appropriato da utilizzare.

Se utilizzi l'implementazione dell'indirizzo IP alias per l'indirizzo IP mobile, devi prenotare un indirizzo IP dall'intervallo di indirizzi IP della subnet utilizzata dagli host.

Solo per le implementazioni degli indirizzi IP alias,prenota un indirizzo IP alias:

  1. Apri un terminale su una VM host o apri Cloud Shell.

    Vai a Cloud Shell

  2. Prenotare un indirizzo IP.

    gcloud compute addresses create vip-name --region region --subnet subnet-name \
      --addresses ip-addr-optional

    La specifica della proprietà degli indirizzi è facoltativa. Se non inserisci un indirizzo IP, Compute Engine ne seleziona automaticamente uno dalla subnet.

  3. Visualizza e prendi nota dell'indirizzo IP riservato da utilizzare quando installi il server del database e configuri il cluster ad alta disponibilità.

    gcloud compute addresses describe vip-name --region=region

    Ad esempio:

    db2-ha-s1:~ # gcloud compute addresses describe db2-ha-vip-dh1 --region=us-central1
    address: 10.1.0.30
    addressType: INTERNAL
    creationTimestamp: '2018-11-28T11:34:14.478-08:00'
    description: ''
    id: '6558342813288977241'
    kind: compute#address
    name: db2-ha-vip-dh1
    region: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1
    selfLink: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/addresses/db2-ha-vip-dh1
    status: RESERVED
    subnetwork: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/subnetworks/example-sap-   subnetwork

Aggiunta dell'indirizzo IP mobile ai metadati per ogni istanza VM host

Puoi specificare informazioni sul tuo indirizzo IP mobile, incluso il tipo di implementazione IP alias o di route scelta, come metadati personalizzati per ogni istanza VM nel cluster. Per ulteriori informazioni sulla scelta di un tipo di implementazione per l'indirizzo IP mobile, consulta Indirizzi IP mobili per i cluster IBM Db2 ad alta disponibilità su Google Cloud.

I parametri dei metadati impostati sono diversi a seconda del tipo di implementazione. Nelle due sezioni seguenti, segui le istruzioni della sezione relativa all'implementazione dell'indirizzo IP mobile

Impostazione dei metadati per un'implementazione di route dell'indirizzo IP mobile

Se utilizzi un'implementazione di route per il tuo indirizzo IP mobile, utilizza i parametri nella seguente tabella e la procedura che segue la tabella per impostare i metadati dell'istanza.

Parametro Valore Finalità
sap_ibm_vip_solution route Indica che questo è un deployment multizona che utilizza una route statica di Google Cloud per supportare il cambio dell'indirizzo IP mobile tra host.
sap_ibm_db2_vip ip-address Specifica l'indirizzo IP mobile che hai prenotato nel passaggio precedente.
sap_ibm_db2_routename route-name Specifica un nome arbitrario per la route statica. Ad esempio, puoi utilizzare db2-dh1-vip-route
sap_ibm_db2_routenet vpc-network-name Specifica la rete VPC che contiene il cluster IBM Db2 ad alta disponibilità.

Per impostare i metadati dell'istanza per un'implementazione di route statica del tuo indirizzo IP mobile:

  1. Apri un terminale su una VM host o apri Cloud Shell.

    Vai a Cloud Shell

  2. Per ogni istanza VM host nel cluster, specifica gli stessi metadati per l'implementazione del routing dell'indirizzo IP mobile.

    gcloud compute instances add-metadata instance-name \
    --metadata sap_ibm_vip_solution=route,sap_ibm_db2_vip=ip-address,\
    sap_ibm_db2_routename=route-name,sap_ibm_db2_routenet=vpc-network-name \
    --zone instance-zone

Impostazione dei metadati per l'implementazione di un indirizzo IP alias dell'indirizzo IP mobile

Se utilizzi l'implementazione di un indirizzo IP alias per il tuo indirizzo IP mobile, utilizza i parametri riportati nella seguente tabella e la procedura riportata di seguito per impostare i metadati dell'istanza.

Parametro Valore Finalità
sap_ibm_vip_solution alias Indica che questo è un deployment a zona singola che utilizza un indirizzo IP alias di Google Cloud per supportare il cambio dell'indirizzo IP mobile tra host.
sap_ibm_db2_vip ip-address Specifica l'indirizzo IP mobile che hai prenotato nel passaggio precedente.
sap_ibm_db2_vip_range alias-ip-range-name Facoltativamente, specifica un nome arbitrario per l'intervallo IP alias. Ad esempio, potresti utilizzare db2-dh1-vip-alias. Il valore predefinito è il nome della subnet.

Per impostare i metadati dell'istanza per un'implementazione IP alias del tuo indirizzo IP mobile:

  1. Apri un terminale su una VM host o apri Cloud Shell.

    Vai a Cloud Shell

  2. Per ogni istanza VM host nel cluster, specifica gli stessi metadati per l'implementazione dell'indirizzo IP alias dell'indirizzo IP mobile.

    gcloud compute instances add-metadata instance-name \
    --metadata sap_ibm_vip_solution=alias,sap_ibm_db2_vip=ip-address,\
    sap_ibm_db2_vip_range=alias-ip-range-name --zone instance-zone

Revisione o modifica dei metadati dell'istanza

Per esaminare i metadati dell'istanza che hai impostato.

gcloud compute instances describe instance-name --zone instance-zone

Se devi modificare i metadati personalizzati.

gcloud compute instances add-metadata instance-name --metadata  parm-name=parm-value

Aggiunta di nomi host e indirizzi IP a /etc/hosts in corso...

Durante la configurazione del cluster, lo strumento di configurazione dei cluster SAP convalida i nomi host e gli indirizzi IP interni di ogni VM host e dell'indirizzo IP mobile. Per assicurarti che la convalida vada a buon fine, aggiungi l'indirizzo IP, il nome host e il nome DNS interno VPC per ogni VM host e l'indirizzo IP mobile al file /etc/hosts su ogni VM host utilizzando il tuo editor preferito.

Ad esempio, come root, l'esempio seguente aggiorna /etc/hosts:

echo "#Db2 HA floating IP additions" >> /etc/hosts
echo 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal >> /etc/hosts
echo 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal >> /etc/hosts
echo 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal >> /etc/hosts

Nell'esempio precedente, la stringa tra il nome host e >> su ogni riga è un nome DNS interno VPC, utilizzato dal servizio DNS interno VPC.

Le VM host utilizzano un nome DNS interno di zona, che include un campo per la zona. L'indirizzo IP mobile utilizza un nome DNS interno globale, che non include un campo di zona.

Per un host di VM, puoi recuperare il nome DNS interno inserendo il seguente comando da un terminale sulla VM host:

curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
-H "Metadata-Flavor: Google"

Per un indirizzo IP mobile, puoi inserirlo autonomamente utilizzando il formato seguente.

vip-host-name.c.project-name.internal

Dopo aver aggiornato il file /etc/hosts, le informazioni pertinenti nel file /etc/hosts dovrebbero essere simili all'esempio seguente:

#Db2 HA floating IP additions
10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal
10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal
10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal

Preparazione del sistema operativo

Dopo aver creato la VM, prepara il sistema operativo per il cluster IBM Db2 ad alta disponibilità.

I requisiti sono definiti da SAP e IBM. La documentazione SAP richiede l'installazione di software, come Perl e Korn Shell, che potrebbero non essere preinstallati sulle VM host di Compute Engine.

Controlla i seguenti documenti per conoscere i requisiti più recenti:

Installazione del server di database e creazione del cluster IBM Db2 ad alta disponibilità

Prima di iniziare a seguire le istruzioni in Soluzione ad alta disponibilità IBM Db2: IBM Tivoli System Automation for Multiplatforms per installare e configurare IBM Db2 e il cluster ad alta disponibilità, rivedi la panoramica della procedura seguente, prestando particolare attenzione alle note.

Per installare SAP NetWeaver e il server applicazioni principale, consulta la documentazione di SAP NetWeaver e le guide all'installazione SAP applicabili disponibili nel Portale di assistenza SAP.

I passaggi seguenti forniscono una panoramica della procedura di installazione. Per i dettagli, consulta la documentazione relativa a SAP.

  1. Stabilisci la connettività SSH basata su chiave tra le istanze primarie e secondarie e tra ciascuna istanza e se stessa come descritto nella documentazione SAP. SSH è utilizzato dallo strumento di configurazione dei cluster SAP. Testa tutte le connessioni su ciascun host. Ad esempio, su db2-ha-s1 verifica entrambi i tipi di test.

    • ssh db2-ha-s1
    • ssh db2-ha-s2
  2. Scarica o copia il set multimediale SAP completo per Db2 sulla tua VM dal portale di assistenza SAP.

  3. Sulla VM host principale, utilizza SAP Software Provisioning Manager (SWPM) per installare il server di database IBM Db2.

  4. Sulla VM host secondaria, configura il database in standby utilizzando un metodo come la copia di sistema omogenea SAP.

  5. Su entrambe le VM host, installa i file di licenza per IBM Db2 e IBM TSAMP. Per ulteriori informazioni sull'installazione delle licenze IBM ottenute da SAP, consulta Nota SAP 816773 - DB6: Installazione di una licenza OEM SAP.

  6. Su entrambe le VM host, installa la versione più recente di TSAMP, supportata dalla versione del database e dalla versione del sistema operativo.

  7. Sulla VM host principale, utilizza la versione più recente dello strumento di configurazione dei cluster SAP sapdb2cluster.sh per configurare e creare il cluster IBM Db2 ad alta disponibilità.

  8. Dopo la creazione del cluster, nell'host principale utilizza l'utilità di configurazione dell'istanza DB2 ad alta disponibilità (db2haicu) per verificare che il cluster possa eseguire il failover.

    1. Esci dallo strumento di configurazione dei cluster SAP e dalla shell Korn.

    2. Nell'istanza principale, verifica che il server di database principale sia online.

      lssam

      Nell'esempio seguente estratto dall'output lssam, l'istanza del database principale è online:

      Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
              '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                      |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                      '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2

    3. Passa all'utente dell'istanza del database.

      sudo su - db2sid

    4. Avvia l'utilità db2haicu.

      db2haicusid

    5. Nell'interfaccia di db2haicu, seleziona l'opzione 5 e segui le istruzioni.

    6. Esci dall'utilità db2haicu.

    7. Nell'host principale, verifica che l'host secondario sia ora online.

      lssam

      Nell'esempio seguente estratto dall'output lssam, l'istanza del database secondaria è online:

      Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
              '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                      |- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                      '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2

Per completare la configurazione del cluster, segui le istruzioni nella sezione successiva per creare una risorsa TSAMP personalizzata per l'indirizzo IP mobile e associarla in TSAMP alla risorsa istanza IBM Db2.

Creazione di una risorsa personalizzata TSAMP per l'indirizzo IP mobile

Per consentire a TSAMP di gestire l'indirizzo IP mobile, devi creare una risorsa personalizzata TSAMP. Per consentire a TSAMP di interagire con Google Cloud durante la gestione della risorsa indirizzo IP mobile, devi scaricare e configurare uno script di supporto da Google Cloud.

Scaricare lo script di supporto di Google Cloud

Su ciascun host nel cluster, scarica lo script helper Google Cloud e imposta le relative autorizzazioni.

  1. Scarica lo script sia sull'host principale sia su quello di standby, in qualità di utente root dalla directory /root sulla VM principale.

    wget https://storage.googleapis.com/sapdeploy/gceTSAMP/gcp_floating_ip.sh

  2. Su entrambi gli host, imposta le autorizzazioni nello script.

    chmod 744 gcp_floating_ip.sh

Crea e configura una risorsa personalizzata TSAMP per il tuo indirizzo IP mobile

Su un host qualsiasi del cluster, crea e configura una risorsa personalizzata TSAMP per l'indirizzo IP mobile.

  1. Su un host qualsiasi, utilizza il tuo metodo preferito per creare un file di configurazione denominato cluster_res.conf e incolla il seguente testo al suo interno dopo aver aggiornato il parametro NodeNameList con i nomi host.

    PersistentResourceAttributes::
      Name="gcp_floating_ip-rs"
      ResourceType=1
      StartCommand="/root/gcp_floating_ip.sh start"
      StopCommand="/root/gcp_floating_ip.sh stop"
      MonitorCommand="/root/gcp_floating_ip.sh status"
      MonitorCommandPeriod=30
      MonitorCommandTimeout=30
      StartCommandTimeout=600
      StopCommandTimeout=600
      UserName="root"
      RunCommandsSync=1
      ProtectionMode=0
      NodeNameList={"host-1","host-2"}

  2. Nell'host principale come utente root, crea la risorsa personalizzata TSAMP con i comandi seguenti.

    export CT_MANAGEMENT_SCOPE=2
    mkrsrc -f cluster_res.conf IBM.Application
    mkrg -l None gcp_floating_ip-rg
    chrg -o Online gcp_floating_ip-rg
    addrgmbr -g gcp_floating_ip-rg -m F IBM.Application:gcp_floating_ip-rs
    rgreq -o start gcp_floating_ip-rg

  3. Sull'host principale dell'utente root, conferma che la risorsa dell'istanza Db2 online si trovi sullo stesso host della risorsa IP mobile online.

    lssam

    Nell'output, le risorse online dovrebbero trovarsi tutte sulle stesse VM host:

    Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
            '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                    |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                    '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
    Online IBM.ResourceGroup:gcp_floating_ip.sh_rg Nominal=Online
            '- Online IBM.Application:gcp_floating_ip.sh_rs
                    |- Online IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s1
                    '- Offline IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s2

    Se la risorsa dell'indirizzo IP mobile non è online sullo stesso host dell'istanza del database, sposta la risorsa dell'indirizzo IP mobile.

    rgreq -o move -n host-to-move-from gcp_floating_ip-rg

  4. In qualità di utente root sull'host principale, stabilisci una relazione in TSAMP tra la risorsa dell'istanza di database e la risorsa dell'indirizzo IP mobile.

    rgreq -o lock gcp_floating_ip-rg
    rgreq -o lock db2_db2sid_db2sid_SID-rg
    mkrel -o NoCondition -p Collocated \
      -S IBM.Application:gcp_floating_ip-rs -G IBM.Application:db2_db2sid_db2sid_SID-rs \
      db2hadr_colo_gcp_floating_ip
    rgreq -o unlock db2_db2sid_db2sid_SID-rg
    rgreq -o unlock gcp_floating_ip-rg

    Dopo aver stabilito una relazione tra la risorsa dell'istanza di database e la risorsa dell'indirizzo IP mobile, puoi testare nuovamente il failover, come descritto nella sezione successiva.

Verifica del deployment del cluster ad alta disponibilità Db2 per SAP su Google Cloud

Per confermare che il cluster IBM Db2 ad alta disponibilità sia configurato correttamente, attiva un failover e verifica che tutte le risorse online vengano trasferite da una VM host all'altra.

a eseguire un test di failover.

  1. Nell'host principale come utente root, prendi nota della VM host in cui si trovano attualmente le risorse online.

    lssam

  2. Nell'host principale, passa all'utente dell'istanza db2.

    sudo su - db2sid

  3. Avvia l'utilità db2haicu.

    db2haicu

  4. Nell'interfaccia dell'utilità db2haicu, attiva un failover selezionando l'opzione 5 e seguendo i prompt.

  5. Al termine dell'elaborazione dell'utilità db2haicu, esci dall'utilità.

  6. Passa all'utente root.

    sudo su -

  7. Verifica che le risorse online siano state spostate sull'altra VM host.

Convalida l'installazione dell'agente di Google Cloud per SAP

Dopo aver eseguito il deployment di una VM e aver installato il sistema SAP, verifica che l'agente per SAP di Google Cloud funzioni correttamente.

Verifica che l'agente di Google Cloud per SAP sia in esecuzione

Per verificare che l'agente sia in esecuzione:

  1. Stabilisci una connessione SSH con l'istanza VM host.

  2. Esegui questo comando:

    systemctl status google-cloud-sap-agent

    Se l'agente funziona correttamente, l'output contiene active (running). Ad esempio:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Se l'agente non è in esecuzione, riavvialo.

Verificare che l'agente host SAP stia ricevendo le metriche

Per verificare che le metriche dell'infrastruttura siano raccolte dall'agente per SAP di Google Cloud e inviate correttamente all'agente host SAP, segui questi passaggi:

  1. Nel tuo sistema SAP, inserisci la transazione ST06.
  2. Nel riquadro di panoramica, verifica la disponibilità e il contenuto dei seguenti campi per la corretta configurazione end-to-end dell'infrastruttura di monitoraggio SAP e Google:

    • Cloud Provider: Google Cloud Platform
    • Accesso a Monitoring avanzato: TRUE
    • Dettagli di monitoraggio avanzato: ACTIVE

Esecuzione di attività post-deployment

Prima di utilizzare il tuo sistema ad alta disponibilità IBM Db2 su Google Cloud, ti consigliamo di completare tutte le attività post-installazione documentate in Soluzione ad alta disponibilità IBM Db2: IBM Tivoli System Automation for Multiplatforms, tra cui.

  1. Convalida del cluster di database.

  2. Backup del criterio principale TSAMP in corso...

  3. Aggiornamento dei fix pack del database.

  4. Aggiornamento delle connessioni client Db2 in modo da utilizzare il nome host e l'indirizzo IP dell'indirizzo IP mobile. Ad esempio, aggiorna il file db2cli.ini sui server delle applicazioni SAP ABAP.

Se utilizzi un gateway NAT con il tuo cluster ad alta disponibilità DB2, completa la configurazione del gateway NAT, come descritto in Completamento dell'installazione del gateway NAT nella guida al deployment di IBM Db2 per SAP.