Guida al deployment del cluster ad alta disponibilità IBM Db2 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 a quelle fornite da SAP e IBM nella soluzione IBM Db2 ad alta disponibilità: IBM Tivoli System Automation for Multiplatforms. Fai sempre riferimento alla documentazione più recente fornita da SAP e IBM quando installi e configuri 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 la funzione di ripristino di emergenza ad alta disponibilità (HADR) di IBM Db2 per replicare le modifiche dei dati registrati nel database di standby.

Il cluster utilizza un indirizzo IP dinamico implementato da Google Cloud con un route statico di 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 a utenti SAP e IBM Db2 esperti che hanno 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 installare e configurare i componenti SAP e IBM sono fornite da SAP nella soluzione IBM Db2 ad alta disponibilità: IBM Tivoli System Automation for Multiplatforms.

Leggi la documentazione di SAP e Google Cloud prima di iniziare le procedure descritte in queste istruzioni. Nelle varie fasi di implementazione, potresti dover fare riferimento sia alla documentazione di SAP sia a quella 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 vuoi che il tuo 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 ulteriori informazioni, consulta Controlli di conformità e 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 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 disattivarlo 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. Quando devi 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 con 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 sistema SAP come un'unica entità chiamata 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 VM già in uso 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 scenario, imposta il criterio della risorsa 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.

Eseguire il 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 coppie proprietà-valore seguito da commenti che includono proprietà utilizzate meno di frequente.

    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. Per utilizzare 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 commentata specifica una versione del modello specifica con un timestamp.

    Se vuoi che tutti i tuoi implementazioni utilizzino la stessa versione del modello, utilizza 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 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 almeno due vCPU. Ad esempio, n1-standard-4.
    zone Stringa La zona in cui esegui il deployment dell'istanza IBM Db2. Deve trovarsi nella stessa regione selezionata per la sottorete.
    subnetwork Stringa Il nome della sottorete 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 in uso 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 dell'immagine. 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 intendi utilizzare. Questo progetto potrebbe essere il tuo progetto o un progetto di immagini Google Cloud, ad esempio 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 database.
    db2sidSize Numero intero Le dimensioni in GB di /db2/DBSID, che è la directory principale dell'istanza del database. I valori minimo e predefinito per db2sidSize sono entrambi 8 GB.
    db2homeSize Numero intero Le dimensioni in GB di /db2/db2db2sid, ovvero la 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 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 è il valore predefinito. 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 nella stessa istanza VM.
    sapmntSize Numero intero Obbligatorio solo se stai installando IBM Db2 per l'esecuzione con SAP NetWeaver nella stessa istanza VM.
    swapSize Numero intero Obbligatorio solo se stai installando IBM Db2 per l'esecuzione con SAP NetWeaver nella stessa istanza VM.
    otherHost Stringa Il nome dell'altra istanza VM nel cluster IBM Db2 HA. L'istanza VM deve essere definita nell'altro insieme 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 dipiattate 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 dettagliati. Non attivare questa impostazione a meno che un tecnico dell'Assistenza Google non ti chieda di attivare 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 controllo nella parte superiore dello script.

    Le seguenti definizioni di VM di esempio da un file di configurazione template_ha.yaml creano due VM per un cluster IBM Db2 HA. 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 HA. 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. 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 nel template_ha.yaml file e configura la VM e i dischi permanenti di conseguenza. L'operazione 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 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. Dal menu a discesa Risorsa, seleziona Globale e poi fai clic su Aggiungi.

      Se non vedi l'opzione Globale, nell'editor di 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", significa che l'elaborazione del deployment è completata e puoi procedere 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. 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. Al termine del deployment delle VM, connettiti a ogni VM utilizzando ssh. Nella pagina Istanze VM di Compute Engine, puoi fare clic sul pulsante SSH per ogni istanza VM oppure utilizzare il metodo SSH che preferisci.

    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 di visualizzare 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 dinamico. Ti servirà questo indirizzo IP in un secondo momento quando imposterai i metadati dell'istanza VM host e quando installerai e configurerai IBM DB2 e il cluster HA.

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

Se utilizzi l'implementazione della route statica per l'indirizzo IP dinamico, l'indirizzo IP deve essere al di fuori dell'intervallo di indirizzi IP della sottorete e non può essere utilizzato da altri elementi nelle reti estese della tua organizzazione. Rivolgiti all'amministratore della rete per determinare un indirizzo IP appropriato da utilizzare.

Se utilizzi l'implementazione dell'indirizzo IP alias per il tuo indirizzo IP dinamico, devi prenotare un indirizzo IP dall'intervallo di indirizzi IP della sottorete utilizzata dagli host.

Solo per le implementazioni di 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

    La specifica della proprietà addresses è facoltativa. Se non inserisci un indirizzo IP, Compute Engine ne seleziona uno per te dalla tua sottorete.

  3. Visualizza e prendi nota dell'indirizzo IP riservato da utilizzare per installare il server di database e configurare il cluster HA.

    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 flottante ai metadati di ogni istanza VM host

Specifica le informazioni sull'indirizzo IP dinamico, incluso il tipo di implementazione dell'IP scelto per l'alias o la route, come metadati personalizzati per ogni istanza VM del 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 HA su Google Cloud.

A seconda del tipo di implementazione, i parametri dei metadati impostati sono diversi. Nelle due sezioni seguenti, segui le istruzioni riportate nella sezione che si applica all'implementazione dell'indirizzo IP dinamico.

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

Se utilizzi un'implementazione di route per l'indirizzo IP dinamico, utilizza i parametri indicati nella tabella seguente e la procedura che segue la tabella 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. 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 HA.

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

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

    Vai a Cloud Shell

  2. Per ogni istanza VM host del cluster, specifica gli stessi metadati per l'implementazione della route dell'indirizzo IP dinamico.

    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 un'implementazione dell'indirizzo IP mobile di un indirizzo IP alias

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'intervallo IP dell'alias. Ad esempio, puoi utilizzare db2-dh1-vip-alias Il valore predefinito è il nome della sottorete.

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

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

    Vai a Cloud Shell

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

    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

Rivedere o modificare 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 i nomi host e gli indirizzi IP interni di ogni VM host e dell'indirizzo IP flottante. Per assicurarti che la convalida venga eseguita correttamente, aggiungi l'indirizzo IP, il nome host e il nome DNS interno della VPC per ogni VM host e l'indirizzo IP flottante al file /etc/hosts su ogni VM host utilizzando il tuo editor preferito.

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

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

Per conoscere i requisiti più recenti, consulta i seguenti documenti:

Installazione del server database e creazione del cluster IBM Db2 HA

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, su db2-ha-s1 testa entrambe le seguenti condizioni.

    • ssh db2-ha-s1
    • ssh db2-ha-s2
  2. Scarica o copia il set di media SAP completo per Db2 nella 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. Nella VM host secondaria, configura il database di standby utilizzando un metodo come la copia di sistema omogeneo 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, supportata 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 aver creato il cluster, sull'host principale, utilizza l'utilità di configurazione delle istanze ad alta disponibilità di DB2 (db2haicu) per verificare che il cluster possa eseguire il failover.

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

    2. Nell'istanza principale, verifica che il server del 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 del database.

      sudo su - db2sid

    4. Avvia l'utilità db2haicu.

      db2haicusid

    5. Nell'interfaccia 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 esempio di estratto dell'output di 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 sezione successiva per creare una risorsa TSAMP personalizzata per l'indirizzo IP dinamico e associarla in TSAMP alla risorsa istanza IBM 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 Google Cloud durante la gestione della risorsa indirizzo IP flottante, devi scaricare e configurare uno script di assistenza da Google Cloud.

Scarica lo script di assistenza 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 un host qualsiasi del cluster, crea e configura una risorsa personalizzata TSAMP per l'indirizzo IP dinamico.

  1. Su un host qualsiasi, utilizza il metodo che preferisci per creare un file di configurazione denominato cluster_res.conf e incolla il seguente testo 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 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 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 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. Come utente root sull'host principale, stabilisci una relazione in TSAMP tra la risorsa istanza del database e la risorsa indirizzo IP dinamico.

    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 istanza del database e la risorsa indirizzo IP dinamico, puoi testare di nuovo il failover, come descritto nella sezione successiva.

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

Per verificare che il cluster IBM Db2 HA sia configurato correttamente, attiva un failover e controlla che tutte le risorse online passino da una VM host all'altra.

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 di Google Cloud per SAP funzioni correttamente.

Verificare 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 la tua  istanza Compute Engine.

  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 riceva 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 di panoramica, controlla la disponibilità e i contenuti dei seguenti campi per la configurazione end-to-end corretta dell'infrastruttura di monitoraggio di SAP e Google:

    • Fornitore di servizi cloud: Google Cloud Platform
    • Accesso al monitoraggio avanzato: TRUE
    • Dettagli sul monitoraggio migliorato: 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.

  2. Esegui il backup del criterio principale TSAMP.

  3. Aggiornamento dei pacchetti di correzione del database.

  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 configurazione del gateway NAT come descritto in Completare l'installazione del gateway NAT nella guida al deployment di IBM Db2 per SAP.