Terraform: guida al deployment del sistema di scale out di SAP HANA con errore di failover automatico dell'host

Questa guida illustra come utilizzare Terraform per eseguire il deployment di un sistema di scale out SAP HANA che include la soluzione di ripristino automatico dei errori di failover dell'host SAP HANA. Con Terraform, puoi eseguire il deployment di un sistema che soddisfi i requisiti di supporto SAP e aderisce alle best practice per SAP e Compute Engine.

Il sistema SAP HANA risultante include un host master, fino a 15 host worker e fino a 3 host in standby, il tutto all'interno di una singola zona Compute Engine.

Il sistema include anche Google Cloud Gestione archiviazione per i nodi in standby SAP HANA (Gestione archiviazione per SAP HANA), che gestisce il trasferimento dei dispositivi di archiviazione al nodo in standby durante un failover. Storage Manager per SAP HANA è installato nel volume SAP HANA /shared.

Per maggiori informazioni da SAP sulla soluzione di failover automatico dell'host, consulta Failover automatico dell'host

Non utilizzare questa guida se non hai bisogno della funzionalità di failover automatico dell'host. Utilizza invece la Terraform: guida al deployment di SAP HANA.

Se devi eseguire il deployment di SAP HANA in un cluster Linux ad alta disponibilità, utilizza una delle seguenti guide:

Questa guida è rivolta agli utenti avanzati di SAP HANA che hanno familiarità con le configurazioni di scale out SAP che includono host in standby per l'alta disponibilità e file system di rete.

Prerequisiti

Prima di creare il sistema di scale out ad alta disponibilità SAP HANA, assicurati che siano soddisfatti i seguenti prerequisiti:

  • Aver letto la guida alla pianificazione di SAP HANA e la guida alla pianificazione dell'alta disponibilità di SAP HANA.
  • Tu o la tua organizzazione disponete di un account Google Cloud e avete creato un progetto per il deployment di SAP HANA. Per informazioni sulla creazione di account e progetti Google Cloud, consulta Configurazione dell'Account Google nella guida al deployment di SAP HANA.
  • Se hai bisogno 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 la pagina relativa ai controlli di conformità e sovranità per SAP su Google Cloud.
  • Il supporto di installazione SAP HANA è archiviato in un bucket Cloud Storage disponibile nella regione e nel progetto di deployment. Per informazioni su come caricare i file multimediali di installazione di SAP HANA in un bucket Cloud Storage, consulta Creazione di un bucket Cloud Storage nella Guida al deployment di SAP HANA.
  • Hai una soluzione NFS, come la soluzione gestita Filestore, per condividere i volumi SAP HANA /hana/shared e /hanabackup tra gli host nel sistema SAP HANA con scale out. Prima di eseguire il deployment del sistema, devi specificare i punti di montaggio per i server NFS nel file di configurazione Terraform. Per eseguire il deployment dei server NFS di Filestore, consulta Creazione di istanze.
  • La comunicazione deve essere consentita tra tutte le VM nella subnet SAP HANA che ospitano un nodo di scale out SAP HANA.

  • Se l'opzione OS Login è abilitata 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 l'accesso al sistema operativo è abilitato, le configurazioni di chiavi SSH basate su metadati vengono disabilitate e il deployment non va a buon fine. Al termine del deployment, puoi abilitare di nuovo OS Login.

    Per ulteriori informazioni, vedi:

Creare una rete

Per motivi di sicurezza, crea una nuova rete. Puoi controllare chi ha accesso aggiungendo regole firewall o utilizzando un altro metodo di controllo dell'accesso.

Se il progetto ha una rete VPC predefinita, non utilizzarla. Crea invece la tua rete VPC in modo che le uniche regole firewall in vigore siano quelle create in modo esplicito.

Durante il deployment, le istanze VM richiedono in genere l'accesso a internet per scaricare l'agente di Google Cloud per SAP. Se utilizzi una delle immagini Linux certificate per SAP disponibili in Google Cloud, l'istanza VM richiede anche l'accesso a internet per poter registrare la licenza e accedere ai repository dei fornitori di sistemi operativi. Una configurazione con un gateway NAT e con tag di rete VM supporta questo accesso, anche se le VM di destinazione non hanno IP esterni.

Per creare una rete VPC per il tuo progetto, completa i seguenti passaggi:

  1. Crea una rete in modalità personalizzata. Per ulteriori informazioni, consulta la sezione Creazione di una rete in modalità personalizzata.

  2. Crea una subnet e specifica la regione e l'intervallo IP. Per saperne di più, consulta Aggiungere subnet.

Configurazione di un gateway NAT

Se devi creare una o più VM senza indirizzi IP pubblici, devi utilizzare Network Address Translation (NAT) per consentire alle VM di accedere a internet. Utilizza Cloud NAT, un servizio gestito software-defined distribuito e software-defined di Google Cloud che consente alle VM di inviare pacchetti in uscita a internet e ricevere i pacchetti di risposta in entrata stabiliti corrispondenti. In alternativa, puoi configurare una VM separata come gateway NAT.

Per creare un'istanza Cloud NAT per il progetto, consulta Utilizzo di Cloud NAT.

Dopo aver configurato Cloud NAT per il tuo progetto, le istanze VM possono accedere in modo sicuro a internet senza un indirizzo IP pubblico.

Aggiunta di regole firewall

Per impostazione predefinita, una regola firewall implicita blocca le connessioni in entrata dall'esterno della rete Virtual Private Cloud (VPC). Per consentire le connessioni in entrata, configura una regola firewall per la tua VM. Dopo aver stabilito una connessione in entrata con una VM, il traffico è consentito in entrambe le direzioni su quella connessione.

Puoi anche creare una regola firewall per consentire l'accesso esterno alle porte specificate o per limitare l'accesso tra VM sulla stessa rete. Se viene utilizzato il tipo di rete VPC default, vengono applicate anche alcune regole predefinite aggiuntive, come la regola default-allow-internal, che consente la connettività tra le VM nella stessa rete su tutte le porte.

A seconda del criterio IT applicabile al tuo ambiente, potrebbe essere necessario isolare o limitare in altro modo la connettività all'host del database creando regole firewall.

A seconda dello scenario, puoi creare regole firewall per consentire l'accesso a:

  • Le porte SAP predefinite elencate nella sezione TCP/IP di tutti i prodotti SAP.
  • Connessioni dal tuo computer o ambiente di rete aziendale alla tua istanza VM di Compute Engine. Se hai dubbi in merito a quale indirizzo IP utilizzare, rivolgiti all'amministratore di rete della tua azienda.
  • Comunicazione tra le VM nella subnet SAP HANA, inclusa la comunicazione tra i nodi in un sistema con scale out SAP HANA o la comunicazione tra il server di database e i server delle applicazioni in un'architettura a tre livelli. Puoi abilitare la comunicazione tra le VM creando una regola firewall per consentire il traffico che ha origine dall'interno della subnet.

Per creare le regole firewall per il tuo progetto, consulta Creazione delle regole firewall.

Creazione di un sistema di scale out SAP HANA con host in standby

Nelle seguenti istruzioni, completi le seguenti azioni:

  • Crea il sistema SAP HANA richiamando Terraform con un file di configurazione completato.
  • Verifica il deployment.
  • Testa gli host in standby simulando un errore dell'host.

Alcuni dei passaggi nelle seguenti istruzioni utilizzano Cloud Shell per inserire i comandi gcloud. Se hai installato la versione più recente di Google Cloud SDK, puoi inserire i comandi gcloud da un terminale locale.

Definire e creare il sistema SAP HANA

Nei passaggi seguenti, scaricherai e completi un file di configurazione Terraform, utilizzerai i comandi Terraform standard per inizializzare la directory di lavoro attuale e scaricare il plug-in e i file dei moduli del provider Terraform per Google Cloud, quindi applicherai la configurazione, che esegue il deployment delle VM, dei dischi permanenti e delle istanze SAP HANA.

  1. Conferma che le tue quote attuali per le risorse del progetto, ad esempio dischi permanenti e CPU, siano sufficienti per il sistema SAP HANA che stai per installare. Se le quote non sono sufficienti, il deployment non va a buon fine. Per i requisiti delle quote di SAP HANA, consulta Prezzi e considerazioni sulle quote per SAP HANA.

    Vai alla pagina delle quote

  2. Apri Cloud Shell.

    Vai a Cloud Shell

  3. Scarica il file di configurazione sap_hana_scaleout.tf per il sistema con scale out ad alta disponibilità SAP HANA nella tua directory di lavoro:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/terraform/sap_hana_scaleout.tf
  4. Apri il file sap_hana_scaleout.tf nell'editor di codice di Cloud Shell.

    Per aprire l'editor di codice Cloud Shell, fai clic sull'icona a forma di matita nell'angolo in alto a destra della finestra del terminale Cloud Shell.

  5. Nel file sap_hana_scaleout.tf, aggiorna i seguenti valori degli argomenti sostituendo i contenuti tra virgolette doppie con i valori per l'installazione. Ad esempio, potresti sostituire "ZONE" con "us-central1-f".

    Argomento Tipo di dati Descrizione
    source Stringa

    Specifica la località e la versione del modulo Terraform da utilizzare durante il deployment.

    Il file di configurazione sap_hana_scaleout.tf include due istanze dell'argomento source: una attiva e l'altra inclusa come commento. L'argomento source attivo per impostazione predefinita specifica latest come versione del modulo. La seconda istanza dell'argomento source, che per impostazione predefinita viene disattivata da un carattere # iniziale, specifica un timestamp che identifica la versione di un modulo.

    Se tutti i deployment devono utilizzare la stessa versione del modulo, rimuovi il carattere # iniziale dall'argomento source che specifica il timestamp della versione e aggiungilo all'argomento source che specifica latest.

    project_id Stringa Specifica l'ID del progetto Google Cloud in cui stai eseguendo il deployment del sistema. Ad esempio, my-project-x.
    zone Stringa

    Specifica la zona in cui esegui il deployment del tuo sistema SAP. La zona deve trovarsi nella stessa regione selezionata per la subnet.

    Ad esempio, se il deployment della subnet è stato eseguito nella regione us-central1, puoi specificare una zona come us-central1-a.

    machine_type Stringa Specifica il tipo di macchina virtuale (VM) Compute Engine su cui devi eseguire il tuo sistema SAP. Se hai bisogno di un tipo di VM personalizzata, specifica un tipo di VM predefinito con un numero di vCPU più vicino al numero necessario, pur essendo più grande. Al termine del deployment, modifica il numero di vCPU e la quantità di memoria.

    Ad esempio, n1-highmem-32.

    subnetwork Stringa Specifica il nome della subnet creata in un passaggio precedente. Se esegui il deployment in un VPC condiviso, specifica questo valore come SHARED_VPC_PROJECT_ID/SUBNETWORK. Ad esempio, myproject/network1.
    linux_image Stringa Specifica il nome dell'immagine del sistema operativo Linux in cui vuoi eseguire il deployment del tuo sistema SAP. Ad esempio, rhel-9-2-sap-ha o sles-15-sp5-sap. Per l'elenco delle immagini del sistema operativo disponibili, consulta la pagina Immagini nella console Google Cloud.
    linux_image_project Stringa Specifica il progetto Google Cloud contenente l'immagine che hai specificato per l'argomento linux_image. Può trattarsi di un tuo progetto personale o di un progetto di immagini Google Cloud. Per un'immagine Compute Engine, specifica rhel-sap-cloud o suse-sap-cloud. Per trovare il progetto di immagine per il tuo sistema operativo, consulta Dettagli del sistema operativo.
    instance_name Stringa Specifica un nome per l'istanza VM host. Il nome può contenere lettere minuscole, numeri e trattini. Le istanze VM per gli host worker e standby utilizzano lo stesso nome con w e il numero host aggiunto.
    sap_hana_shared_nfs Stringa Specifica il punto di montaggio NFS per il volume /hana/shared. Ad esempio, 10.151.91.122:/hana_shared_nfs.
    sap_hana_backup_nfs Stringa Specifica il punto di montaggio NFS per il volume /hanabackup. Ad esempio, 10.216.41.122:/hana_backup_nfs.
    sap_hana_deployment_bucket Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica il percorso del bucket Cloud Storage che contiene i file di installazione di SAP HANA. Non includere gs:// nel percorso; includi solo il nome del bucket e i nomi delle eventuali cartelle. Ad esempio, my-bucket-name/my-folder.

    Il bucket Cloud Storage deve esistere nel progetto Google Cloud specificato per l'argomento project_id.

    sap_hana_sid Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica l'ID di sistema SAP HANA. L'ID deve essere composto da tre caratteri alfanumerici e deve iniziare con una lettera. Tutte le lettere devono essere in maiuscolo. Ad esempio, ED1.
    sap_hana_instance_number Numero intero Facoltativo. Specifica il numero di istanza, da 0 a 99, del sistema SAP HANA. Il valore predefinito è 0.
    sap_hana_sidadm_password Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica una password SIDadm temporanea per gli script di installazione da utilizzare durante il deployment. La password deve contenere almeno 8 caratteri e includere almeno una lettera maiuscola, una lettera minuscola e un numero.

    Invece di specificare la password come testo normale, ti consigliamo di utilizzare un secret. Per maggiori informazioni, consulta Gestione delle password.

    sap_hana_sidadm_password_secret Stringa Facoltativo. Se utilizzi Secret Manager per archiviare la password di SIDadm, specifica il nome del secret corrispondente a questa password.

    In Secret Manager, assicurati che il valore del secret, ovvero la password, contenga almeno 8 caratteri e includa almeno una lettera maiuscola, una lettera minuscola e un numero.

    Per maggiori informazioni, consulta Gestione delle password.

    sap_hana_system_password Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica una password super user del database temporanea per gli script di installazione da utilizzare durante il deployment. La password deve contenere almeno 8 caratteri e includere almeno una lettera maiuscola, una lettera minuscola e un numero.

    Invece di specificare la password come testo normale, ti consigliamo di utilizzare un secret. Per maggiori informazioni, consulta Gestione delle password.

    sap_hana_system_password_secret Stringa Facoltativo. Se utilizzi Secret Manager per archiviare la password del super user del database, specifica il nome del secret corrispondente a questa password.

    In Secret Manager, assicurati che il valore del secret, ovvero la password, contenga almeno 8 caratteri e includa almeno una lettera maiuscola, una lettera minuscola e un numero.

    Per maggiori informazioni, consulta Gestione delle password.

    sap_hana_double_volume_size Booleano Facoltativo. Per raddoppiare le dimensioni del volume HANA, specifica true. Questo argomento è utile quando vuoi eseguire il deployment di più istanze SAP HANA o di un'istanza SAP HANA per il ripristino di emergenza sulla stessa VM. Per impostazione predefinita, la dimensione del volume viene automaticamente calcolata in base alla dimensione minima richiesta per la dimensione della VM, pur rispettando i requisiti di certificazione e assistenza SAP. Il valore predefinito è false.
    sap_hana_sidadm_uid Numero intero Facoltativo. Specifica un valore per sostituire il valore predefinito dell'SID_LCID utente Adm. Il valore predefinito è 900. Puoi cambiarlo con un valore diverso per coerenza all'interno del tuo panorama SAP.
    sap_hana_sapsys_gid Numero intero Facoltativo. Sostituisce l'ID gruppo predefinito per sapsys. Il valore predefinito è 79.
    sap_hana_worker_nodes Numero intero Specifica il numero di host worker SAP HANA aggiuntivi di cui hai bisogno. Puoi specificare da 1 a 15 host worker. Non utilizzare le virgolette con il valore. Il valore predefinito è 1.
    sap_hana_standby_nodes Numero intero Specifica il numero di host in standby SAP HANA aggiuntivi di cui hai bisogno. Puoi specificare da 1 a 3 host in standby. Non utilizzare le virgolette con il valore. Il valore predefinito è 1.
    network_tags Stringa Facoltativo. Specifica uno o più tag di rete separati da virgole da associare alle tue istanze VM per scopi di firewall o di routing.

    Se specifichi public_ip = false e non specifichi un tag di rete, assicurati di fornire un altro mezzo per accedere a internet.

    nic_type Stringa Facoltativo. Specifica l'interfaccia di rete da utilizzare con l'istanza VM. Puoi specificare il valore GVNIC o VIRTIO_NET. Per utilizzare un NIC virtuale di Google (gVNIC), devi specificare un'immagine del sistema operativo che supporta gVNIC come valore dell'argomento linux_image. Per l'elenco delle immagini del sistema operativo, vedi Dettagli del sistema operativo.

    Se non specifichi un valore per questo argomento, l'interfaccia di rete viene selezionata automaticamente in base al tipo di macchina specificato per l'argomento machine_type.

    Questo argomento è disponibile nel modulo sap_hana versione 202302060649 o successive.
    disk_type Stringa Facoltativo. Specifica il tipo predefinito di disco permanente o Hyperdisk di cui vuoi eseguire il deployment per tutti i volumi SAP nel tuo deployment. Il valore predefinito è pd-ssd. Di seguito sono riportati valori validi per questo argomento: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced e pd-extreme.

    Tieni presente che quando specifichi il valore hyperdisk-extreme o hyperdisk-balanced, la directory /usr/sap viene montata su un disco permanente bilanciato separato (pd-balanced). Questo perché la directory /usr/sap non richiede prestazioni elevate come la directory /hana/data o /hana/log.

    Puoi eseguire l'override di questo tipo di disco predefinito, della dimensione predefinita del disco associata e delle IOPS predefinite utilizzando alcuni argomenti avanzati. Per ulteriori informazioni, vai alla tua directory di lavoro, quindi esegui il comando terraform init, quindi visualizza il file /.terraform/modules/sap_hana_scaleout/variables.tf. Prima di utilizzare questi argomenti in produzione, assicurati di testarli in un ambiente di test.

    use_single_shared_data_log_disk Booleano Facoltativo. Il valore predefinito è false, che indica a Terraform di eseguire il deployment di un disco permanente o di un Hyperdisk separati per ciascuno dei seguenti volumi SAP: /hana/data, /hana/log, /hana/shared e /usr/sap. Per montare questi volumi SAP sullo stesso disco permanente o Hyperdisk, specifica true.
    public_ip Booleano Facoltativo. Determina se un indirizzo IP pubblico viene aggiunto o meno all'istanza VM. Il valore predefinito è true.
    service_account Stringa Facoltativo. Specifica l'indirizzo email di un account di servizio gestito dall'utente che deve essere utilizzato dalle VM host e dai programmi in esecuzione sulle VM host. Ad esempio, svc-acct-name@project-id.iam.gserviceaccount.com.

    Se specifichi questo argomento senza un valore oppure lo ometti, lo script di installazione utilizza l'account di servizio predefinito di Compute Engine. Per maggiori informazioni, consulta Gestione di identità e accessi per programmi SAP su Google Cloud.

    sap_deployment_debug Booleano Facoltativo. Solo quando l'assistenza clienti Google Cloud richiede l'attivazione del debug per il deployment, specifica true in modo che il deployment generi log di deployment dettagliati. Il valore predefinito è false.
    reservation_name Stringa Facoltativo. Per utilizzare una prenotazione delle VM di Compute Engine specifica per questo deployment, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi prenotazione di Compute Engine disponibile in base alle seguenti condizioni.

    Affinché una prenotazione sia utilizzabile, indipendentemente dal fatto che tu specifichi un nome o venga selezionato automaticamente dallo script di installazione, la prenotazione deve essere impostata con quanto segue:

    • L'opzione specificReservationRequired è impostata su true oppure, nella console Google Cloud, è selezionata l'opzione Seleziona una prenotazione specifica.
    • Alcuni tipi di macchine Compute Engine supportano le piattaforme CPU non coperte dalla certificazione SAP del tipo di macchina. Se la prenotazione target è per uno dei seguenti tipi di macchina, la prenotazione deve specificare il numero minimo di piattaforme CPU, come indicato:
      • n1-highmem-32: Intel Broadwell
      • n1-highmem-64: Intel Broadwell
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • Le piattaforme CPU minime per tutti gli altri tipi di macchine certificati da SAP per l'utilizzo su Google Cloud sono conformi al requisito minimo di CPU SAP.
    vm_static_ip Stringa Facoltativo. Specifica un indirizzo IP statico valido per l'istanza VM. Se non ne specifichi uno, viene generato automaticamente un indirizzo IP per la tua istanza VM.

    Questo argomento è disponibile in sap_hana_scaleout versione del modulo 202306120959 o successive.

    worker_static_ips Elenco(stringa) Facoltativo. Specifica un array di indirizzi IP statici validi per le istanze worker nel sistema a scalabilità orizzontale. Se non specifichi un valore per questo argomento, viene generato automaticamente un indirizzo IP per ogni istanza VM worker. Ad esempio, [ "1.0.0.1", "2.3.3.4" ].

    Gli indirizzi IP statici vengono assegnati in base all'ordine di creazione dell'istanza. Ad esempio, se scegli di eseguire il deployment di 3 istanze worker, ma specifichi solo 2 indirizzi IP per l'argomento worker_static_ips, questi indirizzi IP vengono assegnati alle prime due istanze VM di cui la configurazione Terraform esegue il deployment. Per la terza istanza VM worker, l'indirizzo IP viene generato automaticamente.

    Questo argomento è disponibile in sap_hana_scaleout versione del modulo 202306120959 o successive.

    standby_static_ips Elenco(stringa) Facoltativo. Specifica un array di indirizzi IP statici validi per le istanze in standby nel sistema che prevede lo scale out. Se non specifichi un valore per questo argomento, viene generato automaticamente un indirizzo IP per ogni istanza VM in standby. Ad esempio, [ "1.0.0.1", "2.3.3.4" ].

    Gli indirizzi IP statici vengono assegnati in base all'ordine di creazione dell'istanza. Ad esempio, se scegli di eseguire il deployment di 3 istanze in standby, ma specifichi solo 2 indirizzi IP per l'argomento standby_static_ips, questi indirizzi IP vengono assegnati alle prime due istanze VM di cui la configurazione Terraform esegue il deployment. Per la terza istanza VM in standby, l'indirizzo IP viene generato automaticamente.

    Questo argomento è disponibile nel modulo sap_hana_scaleout versione 202306120959 o successive.

    L'esempio seguente mostra un file di configurazione completato che esegue il deployment di un sistema con scale out SAP HANA con tre host worker e un host in standby nella zona us-central1-f. Ogni host è installato su una VM n2-highmem-32 che esegue un sistema operativo Linux fornito da un'immagine pubblica di Compute Engine. I volumi NFS sono forniti da Filestore. Le password temporanee vengono utilizzate solo durante l'elaborazione del deployment e della configurazione.

    Per chiarezza, i commenti nel file di configurazione vengono omessi nell'esempio.

    # ...
    module "hana_scaleout" {
    source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # By default, this source file uses the latest release of the terraform module
    # for SAP on Google Cloud. To fix your deployments to a specific release
    # of the module, comment out the source property above and uncomment the source property below.
    #
    # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_scaleout/sap_hana_scaleout_module.zip"
    #
    # ...
    #
    project_id = "example-project-123456"
    zone = "us-central1-f"
    machine_type = "n2-highmem-32"
    subnetwork = "example-sub-network-sap"
    linux_image = "sles-15-sp4-sap"
    linux_image_project = "suse-sap-cloud"
    
    instance_name = "hana-scaleout-w-failover"
    sap_hana_shared_nfs = "10.74.146.58:/hana_shr"
    sap_hana_backup_nfs = "10.188.249.170:/hana_bup"
    # ...
    sap_hana_deployment_bucket = "hana2-sp5-rev53"
    sap_hana_sid = "HF0"
    sap_hana_instance_number = 00
    sap_hana_sidadm_password = "TempPa55word"
    sap_hana_system_password = "TempPa55word"
    # ...
    sap_hana_worker_nodes = 3
    sap_hana_standby_nodes = 1
    vm_static_ip = "10.0.0.1"
    worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"]
    standby_static_ips = ["10.0.0.5"]
    # ...
    }
  6. Inizializza la tua directory di lavoro attuale e scarica il plug-in e i file dei moduli del provider Terraform per Google Cloud:

    terraform init

    Il comando terraform init prepara la directory di lavoro per altri comandi Terraform.

    Per forzare un aggiornamento del plug-in del provider e dei file di configurazione nella directory di lavoro, specifica il flag --upgrade. Se il flag --upgrade viene omesso e non apporti alcuna modifica alla tua directory di lavoro, Terraform utilizza le copie memorizzate nella cache locale, anche se latest è specificato nell'URL source.

  7. Se vuoi, crea il piano di esecuzione Terraform:

    terraform plan

    Il comando terraform plan mostra le modifiche richieste dalla configurazione attuale. Se salti questo passaggio, il comando terraform apply crea automaticamente un nuovo piano e ti chiede di approvarlo.

  8. Applica il piano di esecuzione:

    terraform apply

    Quando ti viene chiesto di approvare le azioni, inserisci yes.

    Il comando terraform apply configura l'infrastruttura Google Cloud. All'avvio della macchina Compute Engine, l'infrastruttura Google Cloud richiama gli script di avvio che configurano il sistema operativo e installano SAP HANA.

    Mentre Terraform ha il controllo, i messaggi di stato vengono scritti in Cloud Shell. Dopo aver richiamato gli script, i messaggi di stato vengono scritti in Logging e sono visualizzabili nella console Google Cloud, come descritto in Controllare i log di Logging.

    Il tempo di completamento può variare, ma l'intero processo di solito richiede da 45 minuti a 1 ora.

Verifica del deployment

Per verificare il deployment, controlla i log di deployment in Cloud Logging, controlla i dischi e i servizi sulle VM degli host principali e worker, visualizza il sistema in SAP HANA Studio e testa il takeover da un host in standby.

Controlla i log

  1. Nella console Google Cloud, apri Cloud Logging per monitorare l'avanzamento dell'installazione e verificare l'eventuale 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 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 viene visualizzato un errore di quota:

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

      2. Apri Cloud Shell.

        Vai a Cloud Shell

      3. Vai alla directory di lavoro ed elimina il deployment per ripulire le VM e i dischi permanenti dall'installazione non riuscita:

        terraform destroy

        Quando ti viene chiesto di approvare l'azione, inserisci yes.

      4. Esegui nuovamente il deployment.

Connettiti alle VM per verificare i dischi e i servizi SAP HANA

Al termine del deployment, verifica che il deployment dei dischi e dei servizi SAP HANA sia stato eseguito correttamente controllando i dischi e i servizi dell'host master e dell'host worker.

  1. Nella pagina Istanze VM di Compute Engine, connettiti alla VM dell'host master e alla VM di un host worker facendo clic sul pulsante SSH nella riga di ciascuna delle due istanze VM.

    Vai a Istanze VM

    Quando ti connetti all'host worker, assicurati che non ti stai connettendo a un host in standby. Gli host in standby utilizzano la stessa convenzione di denominazione degli host worker, ma hanno il suffisso worker-host con il numero più alto prima della prima takeover. Ad esempio, se hai tre host worker e un host in standby, prima del primo takeover, l'host in standby avrà il suffisso "w4".

  2. In ogni finestra del terminale, passa all'utente root.

    sudo su -
  3. In ogni finestra del terminale, visualizza il file system del disco.

    df -h

    Nell'host principale, dovresti vedere un output simile al seguente:

    hana-scaleout-w-failover:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G   18M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sdb3                        45G  6.4G   39G  15% /
    /dev/sdb2                        20M  3.0M   17M  15% /boot/efi
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    /dev/mapper/vg_hana_data-data   422G   12G  411G   3% /hana/data/HF0/mnt00001
    /dev/mapper/vg_hana_log-log     128G  7.8G  121G   7% /hana/log/HF0/mnt00001
    tmpfs                            26G     0   26G   0% /run/user/174
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/900
    tmpfs                            26G     0   26G   0% /run/user/1000

    Su un host worker, nota che le directory /hana/data e /hana/log hanno montaggi diversi:

    hana-scaleout-w-failoverw1:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
    tmpfs                            26G     0   26G   0% /run/user/1000

    Su un host in standby, le directory dei dati e dei log non vengono montate finché l'host in standby non prende il posto di un host in stato di errore:

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
  4. In ogni finestra del terminale, passa all'utente del sistema operativo SAP HANA. Sostituisci SID_LC con il valore sap_hana_sid che hai specificato nel file di configurazione. Il valore SID_LC deve essere in minuscolo.

    su - SID_LCadm
  5. In ogni finestra del terminale, assicurati che i servizi SAP HANA, come hdbnameserver, hdbindexserver e altri, siano in esecuzione nell'istanza.

    HDB info

    Nell'host master, dovresti vedere un output simile all'output nell'esempio troncato seguente:

    hana-scaleout-w-failover:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failover:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      25987    25986   0.4      15248       6312 -sh
    hf0adm      26049    25987   0.0      10448       4036  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      26084    26049   0.0      19892       3864      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      22386    22385   0.0      15248       6248 -sh
    hf0adm      19164        1   0.0      13604       3124 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19171    19164   0.0     481188      84340  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failover/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failover/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failover
    hf0adm      19193    19171   3.4    9616860    3970304      \_ hdbnameserver
    hf0adm      19583    19171   0.3    4636456     206500      \_ hdbcompileserver
    hf0adm      19586    19171   0.3    4883932     235764      \_ hdbpreprocessor
    hf0adm      19624    19171   5.9    9896896    4193620      \_ hdbindexserver -port 30003
    hf0adm      19627    19171   1.2    7920208    1605448      \_ hdbxsengine -port 30007
    hf0adm      20072    19171   0.5    6825984     531884      \_ hdbwebdispatcher
    hf0adm      15053        1   0.0     590628      33208 hdbrsutil  --start --port 30003 --volume 3 --volumesuffix mnt00001/hdb00003.00003 --identifier 1689854702
    hf0adm      14420        1   0.0     590560      33308 hdbrsutil  --start --port 30001 --volume 1 --volumesuffix mnt00001/hdb00001 --identifier 1689854671
    hf0adm      14155        1   0.1     554820      33320 /usr/sap/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failover -D -u hf0adm
    hf0adm      14030        1   0.0      57024      11060 /usr/lib/systemd/systemd --user
    hf0adm      14031    14030   0.0     243164       4036  \_ (sd-pam)

    Su un host worker, dovresti vedere un output simile all'output del seguente esempio troncato:

    hana-scaleout-w-failoverw1:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw1:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      16442    16441   0.0      15248       6276 -sh
    hf0adm      17317    16442   0.0      10448       4032  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      17352    17317   0.0      19892       3816      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      11873        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11880    11873   0.0     477076      84260  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw1/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw1
    hf0adm      11902    11880   0.8    7738216     784912      \_ hdbnameserver
    hf0adm      12140    11880   0.4    4245828     199884      \_ hdbcompileserver
    hf0adm      12143    11880   0.4    4758024     235448      \_ hdbpreprocessor
    hf0adm      12176    11880   0.6    6046020     534448      \_ hdbwebdispatcher
    hf0adm      12210    11880   2.0    8363976    1743196      \_ hdbindexserver -port 30003
    hf0adm      10452        1   0.0     525100      33640 hdbrsutil  --start --port 30003 --volume 4 --volumesuffix mnt00002/hdb00004.00003 --identifier 1689855202
    hf0adm      10014        1   0.1     554696      31992 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw1 -D -u hf0adm

    Su un host in standby, dovresti vedere un output simile all'output del seguente esempio troncato:

    hana-scaleout-w-failoverw4:~ # su - hf0adm
    hf0adm@hana-scaleout-w-failoverw4:/usr/sap/HF0/HDB00> HDB info
    USER          PID     PPID  %CPU        VSZ        RSS COMMAND
    hf0adm      15597    15596   0.5      15248       6272 -sh
    hf0adm      15659    15597   0.0      10448       4004  \_ /bin/sh /usr/sap/HF0/HDB00/HDB info
    hf0adm      15694    15659   0.0      19892       3860      \_ ps fx -U hf0adm -o user:8,pid:8,ppid:8,pcpu:5,vsz:10,rss:10,args
    hf0adm      10285        1   0.0      13604       3244 sapstart pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10292    10285   0.0     478076      84540  \_ /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/trace/hdb.sapHF0_HDB00 -d -nw -f /usr/sap/HF0/HDB00/hana-scaleout-w-failoverw4/daemon.ini pf=/usr/sap/HF0/SYS/profile/HF0_HDB00_hana-scaleout-w-failoverw4
    hf0adm      10314    10292   0.6    7468320     729308      \_ hdbnameserver
    hf0adm      10492    10292   0.3    3851320     191636      \_ hdbcompileserver
    hf0adm      10495    10292   0.3    4493296     227884      \_ hdbpreprocessor
    hf0adm      10528    10292   0.4    5381616     509368      \_ hdbwebdispatcher
    hf0adm       9750        1   0.0     620748      32796 /hana/shared/HF0/HDB00/exe/sapstartsrv pf=/hana/shared/HF0/profile/HF0_HDB00_hana-scaleout-w-failoverw4 -D -u hf0adm
  6. Se utilizzi RHEL per SAP 9.0 o versioni successive, assicurati che i pacchetti chkconfig e compat-openssl11 siano installati sulla tua istanza VM.

    Per maggiori informazioni da SAP, consulta la pagina SAP Note 3108316 - Red Hat Enterprise Linux 9.x: Installation and Configuration.

Collega SAP HANA Studio

  1. Connettiti all'host SAP HANA principale da SAP HANA Studio.

    Puoi connetterti da un'istanza di SAP HANA Studio esterna a Google Cloud o da un'istanza su Google Cloud. Potrebbe essere necessario abilitare l'accesso alla rete tra le VM di destinazione e SAP HANA Studio.

    Per utilizzare SAP HANA Studio su Google Cloud e abilitare l'accesso al sistema SAP HANA, consulta Installazione di SAP HANA Studio su una VM Windows di Compute Engine.

  2. In SAP HANA Studio, fai clic sulla scheda Orizzontale nel riquadro di amministrazione del sistema predefinito. Dovresti vedere una visualizzazione simile all'esempio seguente.

    Screenshot della visualizzazione orizzontale in SAP HANA Studio

Esegui la pulizia e riprova a eseguire il deployment

Se uno dei passaggi di verifica del deployment nelle sezioni precedenti mostra che l'installazione non è riuscita, devi annullare il deployment e riprovare seguendo questi passaggi:

  1. Risolvi eventuali errori per assicurarti che il deployment non vada a buon fine di nuovo per lo stesso motivo. Per informazioni su come controllare i log o risolvere gli errori relativi alle quote, consulta Controllare i log.

  2. Apri Cloud Shell o, se hai installato Google Cloud CLI sulla tua workstation locale, apri un terminale.

    Apri Cloud Shell

  3. Vai alla directory che contiene il file di configurazione Terraform che hai utilizzato per questo deployment.

  4. Elimina tutte le risorse che fanno parte del deployment eseguendo questo comando:

    terraform destroy

    Quando ti viene chiesto di approvare l'azione, inserisci yes.

  5. Riprova a eseguire il deployment come indicato in precedenza in questa guida.

Esecuzione di un test di failover

Dopo aver confermato che il deployment del sistema SAP HANA è riuscito, testa la funzione di failover.

Le istruzioni seguenti attivano un failover passando all'utente del sistema operativo SAP HANA e inserendo il comando HDB stop. Il comando HDB stop avvia un arresto controllato di SAP HANA e scollega i dischi dall'host, consentendo un failover relativamente rapido.

Per eseguire un test di failover:

  1. Connettiti alla VM di un host worker tramite SSH. Per connetterti dalla pagina Istanze VM di Compute Engine, fai clic sul pulsante SSH per ogni istanza VM oppure puoi utilizzare il metodo SSH che preferisci.

    Vai a Istanze VM

  2. Passa all'utente del sistema operativo SAP HANA. Nel comando seguente, sostituisci SID_LC con il valore specificato per l'argomento sap_hana_sid nel file di configurazione di Terraform.

    su - SID_LCadm
  3. Simula un errore interrompendo SAP HANA:

    HDB stop

    Il comando HDB stop avvia un arresto di SAP HANA, che attiva un failover. Durante il failover, i dischi vengono scollegati dall'host non riuscito e ricollegati all'host in standby. L'host in errore viene riavviato e diventa un host in standby.

  4. Dopo aver concesso il tempo per il completamento dell'acquisizione, connettiti all'host che ha preso il controllo dell'host in errore utilizzando SSH.

  5. Passa all'utente root:

    sudo su -
  6. Visualizza le informazioni sul file system del disco:

    df -h

    Dovresti vedere un output simile al seguente. Tieni presente che le directory /hana/data e /hana/log dall'host che non ha superato il controllo sono ora montate nell'host che ha preso il controllo.

    hana-scaleout-w-failoverw4:~ # df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    devtmpfs                        4.0M  8.0K  4.0M   1% /dev
    tmpfs                           189G  4.0K  189G   1% /dev/shm
    tmpfs                            51G  9.4M   51G   1% /run
    tmpfs                           4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                        45G  6.4G   39G  15% /
    /dev/sda2                        20M  3.0M   17M  15% /boot/efi
    tmpfs                            26G     0   26G   0% /run/user/0
    10.74.146.58:/hana_shr          2.5T   41G  2.3T   2% /hana/shared
    10.188.249.170:/hana_bup        2.5T     0  2.4T   0% /hanabackup
    tmpfs                            26G     0   26G   0% /run/user/1000
    /dev/mapper/vg_hana_data-data   422G  593M  422G   1% /hana/data/HF0/mnt00002
    /dev/mapper/vg_hana_log-log     128G  3.2G  125G   3% /hana/log/HF0/mnt00002
  7. In SAP HANA Studio, apri la visualizzazione Landscape (Orizzontale) del sistema SAP HANA per confermare che il failover è andato a buon fine:

    • Lo stato degli host coinvolti nel failover deve essere INFO.
    • La colonna Ruolo server di indicizzazione (effettivo) dovrebbe mostrare l'host non riuscito come nuovo host in standby.

    Screenshot della visualizzazione orizzontale in SAP HANA Studio

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

Verificare che l'agente host SAP stia ricevendo le metriche

Per verificare che le metriche dell'infrastruttura vengano 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 Panoramica, controlla 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 sul monitoraggio avanzato: ACTIVE

Configura il monitoraggio per SAP HANA

Facoltativamente, puoi monitorare le istanze SAP HANA utilizzando l'agente per SAP di Google Cloud. Dalla versione 2.0, puoi configurare l'agente per raccogliere le metriche di monitoraggio di SAP HANA e inviarle a Cloud Monitoring. Cloud Monitoring consente di creare dashboard per visualizzare queste metriche, configurare avvisi basati su soglie delle metriche e altro ancora.

Per ulteriori informazioni sulla raccolta delle metriche di monitoraggio SAP HANA utilizzando l'agente per SAP di Google Cloud, consulta Raccolta delle metriche di monitoraggio di SAP HANA.

Abilita il riavvio rapido di SAP HANA

Google Cloud consiglia vivamente di abilitare il riavvio rapido di SAP HANA per ogni istanza di SAP HANA, in particolare per le istanze più grandi. Il riavvio rapido SAP HANA riduce i tempi di riavvio in caso di chiusura di SAP HANA, ma il sistema operativo rimane in esecuzione.

Come configurato dagli script di automazione forniti da Google Cloud, le impostazioni del sistema operativo e del kernel supportano già il riavvio rapido SAP HANA. Devi definire il file system tmpfs e configurare SAP HANA.

Per definire il file system tmpfs e configurare SAP HANA, puoi seguire i passaggi manuali o utilizzare lo script di automazione fornito da Google Cloud per abilitare il riavvio rapido SAP HANA. Per ulteriori informazioni, consulta:

Per le istruzioni autorevoli complete per il riavvio rapido di SAP HANA, consulta la documentazione relativa all'opzione di riavvio rapido di SAP HANA.

Procedura manuale

Configura il file system tmpfs

Una volta eseguito il deployment delle VM host e dei sistemi SAP HANA di base, devi creare e montare le directory per i nodi NUMA nel file system tmpfs.

Visualizza la topologia NUMA della tua VM

Prima di poter mappare il file system tmpfs richiesto, devi sapere quanti NUMA nodi ha la tua VM. Per visualizzare i nodi NUMA disponibili su una VM di Compute Engine, inserisci il seguente comando:

lscpu | grep NUMA

Ad esempio, un tipo di VM m2-ultramem-208 ha quattro nodi NUMA, numerati da 0 a 3, come mostrato nell'esempio seguente:

NUMA node(s):        4
NUMA node0 CPU(s):   0-25,104-129
NUMA node1 CPU(s):   26-51,130-155
NUMA node2 CPU(s):   52-77,156-181
NUMA node3 CPU(s):   78-103,182-207
Crea le NUMA directory dei nodi

Crea una directory per ogni nodo NUMA nella tua VM e imposta le autorizzazioni.

Ad esempio, per quattro nodi NUMA numerati da 0 a 3:

mkdir -pv /hana/tmpfs{0..3}/SID
chown -R SID_LCadm:sapsys /hana/tmpfs*/SID
chmod 777 -R /hana/tmpfs*/SID
Monta le directory dei nodi NUMA in tmpfs

Monta le directory del file system tmpfs e specifica una preferenza di nodo NUMA per ognuna con mpol=prefer:

SID specifica il SID con lettere maiuscole.

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID
mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID
mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID
mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Aggiorna /etc/fstab

Per assicurarti che i punti di montaggio siano disponibili dopo il riavvio di un sistema operativo, aggiungi voci alla tabella del file system /etc/fstab:

tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0
tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1
tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2
tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3

(Facoltativo) Imposta limiti per l'utilizzo della memoria

Il file system tmpfs può crescere e ridursi in modo dinamico.

Per limitare la memoria utilizzata dal file system tmpfs, puoi impostare un limite per le dimensioni di un volume di nodi NUMA con l'opzione size. Ad esempio:

mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID

Puoi anche limitare l'utilizzo complessivo della memoria tmpfs per tutti i nodi NUMA per una determinata istanza SAP HANA e un determinato nodo server impostando il parametro persistent_memory_global_allocation_limit nella sezione [memorymanager] del file global.ini.

Configurazione SAP HANA per il riavvio rapido

Per configurare SAP HANA per il riavvio rapido, aggiorna il file global.ini e specifica le tabelle da archiviare in memoria permanente.

Aggiorna la sezione [persistence] nel file global.ini

Configura la sezione [persistence] nel file global.ini SAP HANA in modo che faccia riferimento alle località tmpfs. Separa ogni località tmpfs con un punto e virgola:

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID

L'esempio precedente specifica quattro volumi di memoria per quattro nodi NUMA, che corrisponde al m2-ultramem-208. Se utilizzi l'm2-ultramem-416, devi configurare otto volumi di memoria (0..7).

Riavvia SAP HANA dopo aver modificato il file global.ini.

SAP HANA può ora utilizzare la località tmpfs come spazio di memoria permanente.

Specifica le tabelle da archiviare in memoria permanente

Specifica specifiche tabelle di colonne o partizioni da archiviare in memoria permanente.

Ad esempio, per attivare la memoria permanente per una tabella esistente, esegui la query SQL:

ALTER TABLE exampletable persistent memory ON immediate CASCADE

Per modificare il valore predefinito per le nuove tabelle, aggiungi il parametro table_default nel file indexserver.ini. Ad esempio:

[persistent_memory]
table_default = ON

Per ulteriori informazioni su come controllare colonne, tabelle e quali viste di monitoraggio forniscono informazioni dettagliate, consulta Memoria permanente di SAP HANA.

Passaggi automatici

Lo script di automazione fornito da Google Cloud per abilitare il riavvio rapido di SAP HANA apporta modifiche alle directory /hana/tmpfs*, al file /etc/fstab e alla configurazione di SAP HANA. Quando esegui lo script, potrebbe essere necessario eseguire ulteriori passaggi a seconda che si tratti del deployment iniziale del tuo sistema SAP HANA o del ridimensionamento della tua macchina a una dimensione NUMA diversa.

Per il deployment iniziale del tuo sistema SAP HANA o ridimensionando la macchina in modo da aumentare il numero di nodi NUMA, assicurati che SAP HANA sia in esecuzione durante l'esecuzione dello script di automazione fornito da Google Cloud per abilitare il riavvio rapido di SAP HANA.

Quando ridimensioni la macchina per ridurre il numero di nodi NUMA, assicurati che SAP HANA sia arrestato durante l'esecuzione dello script di automazione fornito da Google Cloud per abilitare il riavvio rapido di SAP HANA. Dopo l'esecuzione dello script, devi aggiornare manualmente la configurazione SAP HANA per completare la configurazione del riavvio rapido di SAP HANA. Per ulteriori informazioni, consulta Configurazione di SAP HANA per il riavvio rapido.

Per abilitare il riavvio rapido di SAP HANA, segui questi passaggi:

  1. Stabilisci una connessione SSH con la VM host.

  2. Passa alla directory principale:

    sudo su -

  3. Scarica lo script sap_lib_hdbfr.sh:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
  4. Rendi il file eseguibile:

    chmod +x sap_lib_hdbfr.sh
  5. Verifica che lo script non contenga errori:

    vi sap_lib_hdbfr.sh
    ./sap_lib_hdbfr.sh -help

    Se il comando restituisce un errore, contatta l'assistenza clienti Google Cloud. Per ulteriori informazioni su come contattare l'assistenza clienti, vedi Ricevere assistenza per SAP su Google Cloud.

  6. Esegui lo script dopo aver sostituito l'ID (SID) e la password di sistema SAP HANA per l'utente SYSTEM del database SAP HANA. Per fornire la password in modo sicuro, ti consigliamo di utilizzare un secret in Secret Manager.

    Esegui lo script utilizzando il nome di un secret in Secret Manager. Questo secret deve esistere nel progetto Google Cloud che contiene l'istanza VM dell'host.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME 

    Sostituisci quanto segue:

    • SID: specifica il SID con lettere maiuscole. Ad esempio, AHA.
    • SECRET_NAME: specifica il nome del secret corrispondente alla password per l'utente SYSTEM del database SAP HANA. Questo secret deve esistere nel progetto Google Cloud che contiene l'istanza VM host.

    In alternativa, puoi eseguire lo script utilizzando una password in testo normale. Dopo aver abilitato il riavvio rapido di SAP HANA, assicurati di cambiare la password. Non è consigliabile utilizzare una password in testo normale perché la password verrebbe registrata nella cronologia della riga di comando della VM.

    sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'

    Sostituisci quanto segue:

    • SID: specifica il SID con lettere maiuscole. Ad esempio, AHA.
    • PASSWORD: specifica la password per l'utente di sistema del database SAP HANA.

Per un'esecuzione iniziale riuscita, dovresti visualizzare un output simile al seguente:

INFO - Script is running in standalone mode
ls: cannot access '/hana/tmpfs*': No such file or directory
INFO - Setting up HANA Fast Restart for system 'TST/00'.
INFO - Number of NUMA nodes is 2
INFO - Number of directories /hana/tmpfs* is 0
INFO - HANA version 2.57
INFO - No directories /hana/tmpfs* exist. Assuming initial setup.
INFO - Creating 2 directories /hana/tmpfs* and mounting them
INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839
INFO - Updating the HANA configuration.
INFO - Running command: select * from dummy
DUMMY
"X"
1 row selected (overall time 4124 usec; server time 130 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;'
0 rows affected (overall time 3570 usec; server time 2239 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain';
0 rows affected (overall time 4308 usec; server time 2441 usec)

INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON';
0 rows affected (overall time 3422 usec; server time 2152 usec)

Connessione a SAP HANA

Tieni presente che, poiché queste istruzioni non utilizzano un IP esterno per SAP HANA, puoi connetterti alle istanze SAP HANA solo tramite l'istanza del bastion utilizzando SSH o tramite il server Windows con SAP HANA Studio.

  • Per connetterti a SAP HANA tramite il bastion, esegui la connessione al bastion host, quindi alle istanze SAP HANA utilizzando un client SSH di tua scelta.

  • Per connetterti al database SAP HANA tramite SAP HANA Studio, utilizza un client desktop remoto per eseguire la connessione all'istanza di Windows Server. Dopo la connessione, installa SAP HANA Studio manualmente e accedi al tuo database SAP HANA.

Esecuzione di attività post-deployment

Prima di utilizzare l'istanza SAP HANA, ti consigliamo di eseguire i seguenti passaggi post-deployment. Per ulteriori informazioni, consulta la Guida all'installazione e all'aggiornamento di SAP HANA.

  1. Modifica le password temporanee dell'amministratore di sistema e del super user del database SAP HANA.

  2. Aggiorna il software SAP HANA con le patch più recenti.

  3. Se il deployment del tuo sistema SAP HANA è stato eseguito su un'interfaccia di rete VirtIO, ti consigliamo di assicurarti che il valore del parametro TCP /proc/sys/net/ipv4/tcp_limit_output_bytes sia impostato su 1048576. Questa modifica consente di migliorare la velocità effettiva complessiva della rete nell'interfaccia di rete VirtIO senza influire sulla latenza di rete.

  4. Installa eventuali componenti aggiuntivi, ad esempio Application Function Libraries (AFL) o Smart Data Access (SDA).

  5. Se esegui l'upgrade di un sistema SAP HANA esistente, carica i dati dal sistema esistente utilizzando le procedure standard di backup e ripristino o utilizzando la replica del sistema SAP HANA.

  6. Configura ed esegui il backup del tuo nuovo database SAP HANA. Per ulteriori informazioni, consulta la guida alle operazioni di SAP HANA.

Valuta il tuo carico di lavoro SAP HANA

Per automatizzare i controlli di convalida continua per i carichi di lavoro SAP HANA in esecuzione su Google Cloud, puoi utilizzare Workload Manager.

Workload Manager consente di analizzare e valutare automaticamente i carichi di lavoro SAP HANA in base alle best practice dei fornitori di SAP, Google Cloud e di sistemi operativi. Ciò consente di migliorare qualità, prestazioni e affidabilità dei carichi di lavoro.

Per informazioni sulle best practice supportate da Workload Manager per la valutazione dei carichi di lavoro SAP HANA in esecuzione su Google Cloud, consulta Best practice di Workload Manager per SAP. Per informazioni sulla creazione e sull'esecuzione di una valutazione utilizzando Gestore carichi di lavoro, consulta Creare ed eseguire una valutazione.

Passaggi successivi