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

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

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

Queste istruzioni sono per un cluster IBM Db2 HA 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 il disastro IBM Db2 ad alta disponibilità funzione di ripristino (HADR) per replicare le modifiche ai dati registrati in standby per configurare un database.

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

Queste istruzioni mostrano come configurare un cluster IBM Db2 HA costituito da un server IBM Db2 principale e da un server IBM Db2 secondario o di riserva, ciascuno di cui viene eseguito il deployment su una macchina virtuale (VM) Compute Engine separata.

Questa guida è rivolta agli utenti esperti di SAP e IBM Db2 che familiarità con 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 I componenti SAP e IBM sono forniti da SAP in IBM Db2 High Accessibility Soluzione: IBM Tivoli System Automation for Multiplatforms.

Prima di iniziare le procedure descritte in queste istruzioni, leggi la documentazione di SAP e Google Cloud. In diverse fasi del deployment, consultare la documentazione di SAP e di Google Cloud.

Prerequisiti

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

  • Tu o la tua organizzazione avete un account Google Cloud e avete creato un progetto per il deployment del cluster IBM Db2 HA. Per informazioni sulla creazione di progetti Google Cloud, consulta Prerequisiti nella guida al deployment di IBM Db2 per SAP.
  • Se hai bisogno che il tuo carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, controllo dell'accesso, personale o requisiti normativi, devi creare i necessari Cartella Assured Workloads. Per ulteriori informazioni, consulta Conformità e controlli di sovranità per SAP su Google Cloud.
  • Devi disporre di una rete Virtual Private Cloud su Google Cloud. Per istruzioni sulla configurazione di una rete VPC e delle regole firewall, nonché per la configurazione di un gateway NAT o di un host bastion per IBM Db2 per SAP, consulta la guida al deployment di IBM Db2 per SAP.

  • Se OS Login è abilitato nei metadati del progetto, devi disabilitarlo temporaneamente fino al completamento del deployment. Ai fini del deployment, questa procedura configura le chiavi SSH nei metadati dell'istanza. Quando l'accesso al sistema operativo è abilitato, le configurazioni delle chiavi SSH basate su metadati vengono disabilitate. Al termine del deployment, puoi riattivare l'accesso al sistema operativo.

    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 dinamico e configurare l'indirizzo IP alias o le route di Google Cloud che supportano l'indirizzo IP dinamico. Per installare i componenti IBM, consulta la documentazione SAP.

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

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

Inoltre, scarichi e utilizzi uno script di assistenza Google Cloud quando definisci la risorsa personalizzata utilizzata da TSAMP per gestire il passaggio dell'indirizzo IP dinamico tra gli host. Lo script consente a TSAMP di interagire le API Google Cloud.

Informazioni su Deployment Manager

In queste istruzioni, definisci le opzioni di 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 singola entità denominata deployment. Puoi visualizzare e lavorare con tutti i deployment del tuo progetto nella pagina Deployment della console Google Cloud.

Tieni presente i seguenti comportamenti quando utilizzi Deployment Manager:

  • L'eliminazione di un deployment comporta l'eliminazione di tutte le risorse associate al deployment, tra cui le VM, i dischi permanenti e tutti i sistemi SAP installati sulla VM.
  • Per impostazione predefinita, Deployment Manager utilizza il criterio di creazione della risorsa ACQUIRE. Se specifichi un nome di VM già utilizzato da 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 implementazioni.

    Se poi elimini il nuovo deployment, la VM acquisita viene eliminata dal deployment che l'ha creata in origine. Per evitare questo tipo di dello scenario, imposta il criterio delle risorse di Deployment Manager a CREATE o assicurati di utilizzare nomi univoci per le risorse nel nuovo e deployment continuo.

    Per informazioni sui criteri che puoi utilizzare durante la creazione delle risorse con Deployment Manager e come specificarli, consulta 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 di file di configurazione template_ha.yaml nella tua 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 di 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. Per aprire template_ha.yaml nell'editor di codice, fai doppio clic.

  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 proprietà-valore seguite da commenti che includono le proprietà usate meno frequentemente.

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

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

    Proprietà Tipo di dati Descrizione
    tipo Stringa

    Specifica la posizione, 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 che è oggetto di commenti specifica una specifica versione del modello con un timestamp.

    Se hai bisogno che tutti i tuoi deployment utilizzino lo stesso modello usa la specifica type che include timestamp.

    instanceName Stringa Il nome dell'istanza VM su cui installi IBM Db2. Il nome deve contenere al massimo 13 caratteri e deve essere specificato con lettere minuscole, numeri o trattini.
    instanceType Stringa Il tipo di macchina virtuale 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 viene eseguito il deployment dell'istanza IBM Db2. Deve essere obbligatoriamente nella stessa regione selezionata per la sottorete.
    subnetwork Stringa Il nome della subnet che hai creato 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 del sistema operativo Linux l'immagine di sistema o la famiglia di immagini utilizzate con IBM Db2. Per specificare una famiglia di immagini, aggiungi il prefisso family/ al cognome. Ad esempio: family/rhel-7-sap-apps o family/sles-12-sp3-sap. Per specificare un'immagine, inserisci solo il nome dell'immagine. Per l'elenco le famiglie di immagini disponibili, consulta Immagini nella console Google Cloud.
    linuxImageProject Stringa Il progetto Google Cloud che contiene l'immagine che useremo. Potrebbe essere un tuo progetto o un progetto immagine Google Cloud, rhel-sap-cloud o suse-sap-cloud. Per un elenco di progetti immagine di Google Cloud, consulta Immagini della documentazione di Compute Engine.
    db2SID Stringa L'ID dell'istanza del database.
    db2sidSize Numero intero La dimensione in GB di /db2/DBSID, ovvero nella directory radice dell'istanza del database. I valori minimo e predefinito per db2sidSize sono entrambi 8 GB.
    db2homeSize Numero intero La dimensione in GB di /db2/db2db2sid, ovvero nella home directory dell'istanza del database. I valori minimo e predefinito per db2homeSize sono entrambi 8 GB.
    db2dumpSize Numero intero Le dimensioni in GB di /db2/DBSID/db2dump, che contiene i file dump di DB2 utilizzati per diagnosticare i problemi. I valori minimo e predefinito per db2dumpSize sono entrambi di 8 GB.
    db2saptmpSize Numero intero Le dimensioni in GB di /db2/DBSID/saptmp, che contiene lo spazio tabella temporaneo del database. I valori minimo e predefinito per 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 per 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 per db2logSize sono entrambi 8 GB.
    db2backupSize Numero intero La dimensione del volume /db2backup. Questa proprietà è facoltativa. Se lo imposti su 0 o lo ometti, non viene creato alcun disco.
    db2sapdataSSD boolean Specifica se la unità di dati utilizza un disco permanente SSD (Yes) o un disco permanente HDD (No). Yes è il valore predefinito.
    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à disco dei log è consigliata una 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 in IBM Db2 ad alta disponibilità. 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 per scopi di firewall o routing. Se specifichi publicIP: No e non utilizzi un tag di rete, assicurati di fornire un altro mezzo di accesso a internet.
    publicIP boolean Facoltativo. Determina se viene aggiunto un indirizzo IP pubblico alla tua 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, le VM vengono dispiaggiate 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 valore il deployment genera log di deployment dettagliati. Non attivare attiva, a meno che un tecnico del servizio di assistenza Google non ti chieda di abilitare il debug del machine learning.
    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 sull'istanza principale aggiungi un segno di spunta nella parte superiore dello script.

    Le definizioni di VM di esempio riportate di seguito da un template_ha.yaml del file di configurazione, crea due VM per un cluster IBM Db2 ad alta disponibilità. Per ogni VM, il file di configurazione indica Deployment Manager per eseguire il deployment di una VM n1-standard-4 esegue un sistema operativo della famiglia di immagini SLES 12 SP3. La VM include tutte le directory necessarie per eseguire un cluster IBM Db2 HA. Deployment Manager non crea 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. Esegui il deployment dell'istanza VM con Deployment Manager.

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

    Dove:

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

    Deployment Manager legge le specifiche 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

Per verificare il deployment, controlla i log di deployment in Cloud Logging e per controllare 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, nell'editor query inserisci la seguente query:

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

    Visualizzatore log legacy

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

    • Se viene visualizzato "--- Finished", il parametro l'elaborazione del deployment è completa vai al passaggio successivo.
    • Se viene visualizzato un errore relativo alla 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. In Deployment Manager Deployment elimina il deployment per ripulire le VM dell'installazione non riuscita.

      3. Esegui di nuovo il deployment.

Controlla la configurazione della VM

  1. Una volta completato il deployment delle 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 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 a le seguenti:

    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 sezione Deployment elimina il deployment per ripulire le VM e i dischi permanenti dell'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 servono questo indirizzo IP in un secondo momento, quando imposterai i metadati dell'istanza VM host, si installa e si configura IBM db2 e il cluster ad alta disponibilità.

A seconda che tu scelga un tipo di implementazione IP alias o di percorso per l'indirizzo IP mobile, i requisiti per l'indirizzo IP mobile sono diversi.

Se utilizzi l'implementazione della route statica per il tuo 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 della tua organizzazione. Consultare la propria rete per determinare l'indirizzo IP appropriato da utilizzare.

Se utilizzi l'implementazione dell'indirizzo IP alias per l'IP mobile devi prenotare un indirizzo IP da l'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 Cloud Shell.

    Vai a Cloud Shell

  2. Prenota un indirizzo IP.

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

    Specificare la proprietà degli indirizzi è facoltativo. Se non inserisci un indirizzo IP, Compute Engine seleziona un indirizzo IP subnet per te.

  3. Visualizza e prendi nota dell'indirizzo IP riservato da utilizzare quando installi l'app server di database e configurare 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

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

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

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

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

Parametro Valore Finalità
sap_ibm_vip_solution route Indica che si tratta di un deployment multizona che utilizza una route statica di Google Cloud per supportare il passaggio dell'indirizzo IP dinamico tra gli host.
sap_ibm_db2_vip ip-address Specifica l'indirizzo IP dinamico che hai prenotato nel passaggio precedente.
sap_ibm_db2_routename route-name Specifica un nome arbitrario per la route statica. Per Ad esempio, potresti usare db2-dh1-vip-route
sap_ibm_db2_routenet vpc-network-name Specifica la rete VPC contenente il cluster IBM Db2 HA.

Per impostare i metadati dell'istanza per un'implementazione di route statico dell'indirizzo IP dinamico:

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

    Vai a Cloud Shell

  2. Per ogni istanza VM host nel cluster, specifica gli stessi metadati per routing dell'implementazione 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 un'implementazione dell'indirizzo IP alias per l'indirizzo IP dinamico, utilizza i parametri nella tabella seguente e la procedura che segue la tabella per impostare i metadati dell'istanza.

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

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 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

Esamina o modifica i metadati dell'istanza

Per esaminare i metadati dell'istanza impostati.

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

Durante la configurazione del cluster, lo strumento di configurazione del cluster SAP convalida l'host e indirizzi IP interni di ogni VM host e l'indirizzo IP mobile. Per assicurarti che la convalida abbia esito positivo, aggiungi l'indirizzo IP, il nome host e il VPC nome DNS interno per ciascuna VM host e l'indirizzo IP mobile al file /etc/hosts ogni VM host utilizzando l'editor che preferisci.

Ad esempio, come utente root, il seguente esempio 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 della VPC, utilizzato dal servizio DNS interno della VPC.

Le VM host utilizzano un nome DNS interno di zona, che include un campo per la zona. L'indirizzo IP dinamico 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 quanto segue da un terminale sulla VM host:

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

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

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

Dopo aver aggiornato il file /etc/hosts, le informazioni pertinenti nel /etc/hosts file dovrebbe avere un aspetto simile al seguente esempio:

#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 HA.

I requisiti sono definiti da SAP e IBM. La documentazione SAP chiama per l'installazione di software, come Perl e Korn Shell, che potrebbero non essere preinstallate 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 riportate in IBM Db2 Soluzione ad alta disponibilità: IBM Tivoli System Automation for Multiplatforms per installare e configurare IBM Db2 e il cluster HA, esamina la panoramica della procedura che segue, prestando particolare attenzione alle note.

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

I passaggi riportati di seguito sono una panoramica della procedura di installazione. Per informazioni dettagliate, consulta la documentazione SAP.

  1. Stabilisci la connettività SSH basata su chiavi tra le istanze principali e secondarie e tra ogni istanza e se stessa come descritto nella documentazione SAP. SSH viene utilizzato dallo strumento di configurazione del cluster SAP. Testa tutte le connessioni su ogni host. Ad esempio, nel test db2-ha-s1 in entrambi i casi.

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

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

  4. Sulla VM host secondaria, configura il database in standby utilizzando un metodo come la copia omogenea del sistema 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 la nota SAP 816773 - DB6: installazione di una licenza OEM SAP.

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

  7. Nella VM host principale, utilizza la versione più recente dello strumento di configurazione del cluster SAP sapdb2cluster.sh per configurare e creare il cluster IBM Db2 HA.

  8. Dopo la creazione del cluster, utilizza il database DB2 sull'host principale utilità di configurazione delle istanze a disponibilità elevata (db2haicu) per verificare che sia possibile eseguire il failover del cluster.

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

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

      lssam

      Nel seguente esempio di estratto dell'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 di 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

      Nel seguente estratto di esempio dall'output lssam, l'istanza del database secondario è 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 prossima per creare un TSAMP personalizzato risorsa per l'indirizzo IP mobile e associarla in TSAMP all'istanza Risorsa istanza DB2.

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

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

Scarica lo script di supporto di Google Cloud

Su ogni host del cluster, scarica lo script di assistenza Google Cloud e imposta le relative autorizzazioni.

  1. Scarica lo script sia sull'host principale che su quello di riserva come utente root dalla directory /root sulla VM principale.

    Per le istanze che non utilizzano una configurazione VPC condivisa:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip.sh -O gcp_floating_ip.sh
    Per le istanze che utilizzano una configurazione VPC condivisa:
    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip_svpc.sh -O gcp_floating_ip.sh

  2. Su entrambi gli host, imposta le autorizzazioni per lo script.

    chmod 744 gcp_floating_ip.sh

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

Su qualsiasi host nel cluster, crea e configura un per l'indirizzo IP mobile.

  1. Su qualsiasi host, utilizza il tuo metodo preferito per creare una configurazione denominato cluster_res.conf e incollaci il seguente testo dopo aggiorni il parametro NodeNameList con i tuoi 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. Crea la risorsa personalizzata TSAMP sull'host principale come utente root con i seguenti comandi.

    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. Nell'host principale, come utente root, verifica che la risorsa dell'istanza Db2 online si trovi sullo stesso host della risorsa IP flottante online.

    lssam

    Nell'output, le risorse online devono 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 indirizzo IP dinamico non è online sullo stesso host dell'istanza del database, spostala.

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

  4. In qualità di utente root dell'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 l'istanza di database e la risorsa dell'indirizzo IP mobile, puoi testare nuovamente il failover, descritti nella prossima sezione.

Verifica del deployment del cluster Db2 HA per SAP su Google Cloud

Per confermare che il cluster IBM Db2 ad alta disponibilità sia configurato correttamente, attivare un failover e verificare che tutte le risorse online si spostino da una la VM host all'altro.

Per eseguire un test di failover.

  1. Nell'host principale, come utente root, prendi nota della VM host su cui sono attualmente presenti 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 le istruzioni.

  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 nell'altra VM host.

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

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

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

Per verificare che l'agente sia in esecuzione:

  1. Stabilisci una connessione SSH con la tua 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.

Verifica che l'agente host SAP stia ricevendo le metriche

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

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

    • Provider cloud: Google Cloud Platform
    • Accesso al monitoraggio avanzato: TRUE
    • Dettagli sul monitoraggio avanzato: ACTIVE

Eseguire le attività di post-deployment

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

  1. Convalida del cluster di database in corso.

  2. Esegui il backup del criterio principale TSAMP.

  3. Aggiornamento dei correzioni del database in corso.

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

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