Terraform: guida alla configurazione di un cluster SAP HANA scalabile e ad alta disponibilità

Questa guida mostra come automatizzare il deployment di uno scale out di SAP HANA in un'infrastruttura SUSE Linux Enterprise Server (SLES) ad alta disponibilità su Google Cloud.

Questa guida utilizza Terraform per eseguire il deployment di un sistema SAP HANA scalabile multi-host, un indirizzo IP virtuale (VIP) con un'implementazione di bilanciatore del carico di rete passthrough interno e un cluster HA basato sul sistema operativo, il tutto in base alle best practice di Google Cloud, SAP e SUSE.

Uno dei sistemi SAP HANA funziona come sistema primario, attivo e altre funzioni come sistema secondario in standby. Esegui il deployment di SAP HANA nella stessa regione, idealmente in zone diverse.

Il cluster di cui è stato eseguito il deployment include le seguenti funzioni e caratteristiche:

  • Il gestore delle risorse del cluster ad alta disponibilità Pacemaker.
  • Un meccanismo di scherma di Google Cloud.
  • Un IP virtuale (VIP) che utilizza un bilanciatore del carico interno TCP di livello 4 implementazione, tra cui:
    • Una prenotazione dell'indirizzo IP che selezioni per il VIP.
    • Due gruppi di istanze Compute Engine.
    • Un bilanciatore del carico interno TCP.
    • Un controllo di integrità di Compute Engine.
  • Il pattern ad alta disponibilità di SUSE.
  • Il pacchetto dell'agente di risorse SUSE SAPHanaSR.
  • Replica sincrona del sistema.
  • Precaricamento della memoria.
  • Riavvio automatico dell'istanza non riuscita come nuova istanza secondaria.

Se hai bisogno di un sistema scalabile orizzontalmente con host di riserva per il failover automatico dell'host SAP HANA, consulta la guida al deployment di Terraform: sistema SAP HANA scalabile orizzontalmente con failover automatico dell'host.

Per eseguire il deployment di un sistema SAP HANA senza un cluster ad alta disponibilità Linux o host di standby, consulta la guida al deployment di Terraform: SAP HANA.

Questa guida è rivolta agli utenti avanzati di SAP HANA che hanno familiarità con Configurazioni Linux ad alta disponibilità per SAP HANA.

Prerequisiti

Prima di creare il cluster SAP HANA ad alta disponibilità, assicurati che sono soddisfatti i seguenti prerequisiti:

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 una tua rete VPC in modo che le uniche regole firewall in vigore siano quelle che crei esplicitamente.

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

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

  1. Creare una rete in modalità personalizzata. Per saperne di più, consulta la sezione Creazione di una rete in modalità personalizzata.

  2. Crea una subnet e specifica la regione e l'intervallo IP. Per ulteriori informazioni, consulta la sezione Aggiunta di subnet.

Configurazione di un gateway NAT

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

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

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

aggiungi 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 tramite la connessione.

Puoi anche creare una regola firewall per consentire l'accesso esterno a porte specifiche o per limitare l'accesso tra le 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 sulla stessa rete su tutte le porte.

A seconda dei criteri IT applicabili al tuo ambiente, Devi isolare o limitare in altro modo la connettività all'host del database, che puoi fare creando regole firewall.

A seconda del tuo scenario, puoi creare regole firewall per consentire l'accesso per:

  • Le porte SAP predefinite elencate in TCP/IP di tutti i prodotti SAP.
  • Le connessioni dal computer o dall'ambiente di rete aziendale al tuo di un'istanza VM di Compute Engine. Se non sei sicuro dell'indirizzo IP da utilizzare, parla all'amministratore di rete della tua azienda.

Per creare le regole firewall per il progetto, consulta la sezione Creare regole firewall.

Creare un cluster Linux ad alta disponibilità con SAP HANA installato

Le seguenti istruzioni utilizzano un file di configurazione Terraform per creare Cluster SLES con due sistemi SAP HANA, uno principale Sistema SAP HANA e un sistema SAP HANA secondario o in standby nella regione di Compute Engine. I sistemi SAP HANA utilizzano la replica di sistema sincrona e il sistema di standby precarica i dati replicati.

Definisci le opzioni di configurazione per il cluster ad alta disponibilità SAP HANA in un file di configurazione Terraform.

Le istruzioni riportate di seguito utilizzano Cloud Shell, ma sono applicabili in generale a un terminale locale con Terraform installato e configurato con il provider Google.

  1. Conferma che le quote attuali per risorse come dischi permanenti e Le CPU sono sufficienti per i sistemi SAP HANA che stai per installare. Se se le quote sono insufficienti, il deployment non va a buon fine.

    Per i requisiti delle quote SAP HANA, consulta Considerazioni su prezzi e quote per SAP HANA.

    Vai a Quote

  2. Apri Cloud Shell o il tuo terminale locale.

    Apri Cloud Shell

  3. Scarica il file di configurazione sap_hana_ha.tf nella tua directory di lavoro eseguendo il seguente comando in Cloud Shell o nel terminale:

    $ wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/terraform/sap_hana_ha.tf
  4. Apri il file sap_hana_ha.tf nell'editor di codice Cloud Shell o, se utilizzi il terminale, apri il file in un editor di testo di tua scelta.

    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.

  5. Nel file sap_hana_ha.tf, aggiorna i valori degli argomenti sostituendo i contenuti all'interno delle virgolette doppie con i valori per l'installazione. Gli argomenti sono descritti nella tabella seguente.

    Argomento Tipo di dati Descrizione
    source Stringa

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

    Il file di configurazione sap_hana_ha.tf include due istanze dell'argomento source: una attiva e una inclusa come commento. source attivo per impostazione predefinita specifica latest come del modulo. La seconda istanza di source che per impostazione predefinita è disattivato da un #, specifica un timestamp che identifica un del modulo.

    Se hai bisogno che tutti i tuoi deployment utilizzino la stessa versione del modulo, quindi rimuovi il carattere # iniziale dalla L'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 esegui il deployment di un sistema operativo completo. Ad esempio, my-project-x.
    machine_type Stringa Specifica il tipo di Compute Engine macchina virtuale (VM) su cui devi per 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 a quello di cui hai bisogno, pur essendo più grande. Dopo il giorno il deployment dell'app è completato, modificare il numero di vCPU e la quantità di memoria.

    Ad esempio, n1-highmem-32.

    network Stringa Specifica il nome della rete in cui hai bisogno per creare il bilanciatore del carico che gestisce il VIP.

    Se utilizzi una rete VPC condivisa, devi aggiungere l'ID del progetto host come directory padre del nome della rete. Ad esempio, HOST_PROJECT_ID/NETWORK_NAME.

    subnetwork Stringa Specifica il nome della sottorete creata in un passaggio precedente. Se stai eseguendo il deployment in un VPC condiviso, quindi specifica questo valore come SHARED_VPC_PROJECT_ID/SUBNETWORK. Per ad esempio myproject/network1.
    linux_image Stringa Specifica il nome dell'immagine del sistema operativo Linux su cui vuoi eseguire il deployment del sistema SAP. Ad esempio, 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 che contiene l'immagine di cui disponi specificato per l'argomento linux_image. Questo progetto potrebbe essere il tuo progetto o un progetto immagine Google Cloud. Per un'immagine Compute Engine, specifica suse-sap-cloud. Per trovare il progetto immagine per il tuo sistema operativo, consulta Dettagli del sistema operativo.
    primary_instance_name Stringa Specifica un nome per l'istanza VM del sistema SAP HANA principale. Il nome può contenere lettere minuscole, numeri o trattini.
    primary_zone Stringa Specifica una zona in cui viene eseguito il deployment del sistema SAP HANA principale. Le zone primaria e secondaria devono trovarsi nella stessa regione. Ad esempio, us-east1-c.
    secondary_instance_name Stringa Specifica un nome per l'istanza VM del sistema SAP HANA secondario. La può contenere lettere minuscole, numeri o trattini.
    secondary_zone Stringa Specifica una zona in cui è dipiegato il sistema SAP HANA secondario. Le zone principali e secondarie devono trovarsi nella stessa regione. Ad esempio: us-east1-b.
    majority_maker_instance_name Stringa

    Specifica un nome per l'istanza VM di Compute Engine che funge da la maggior parte dei produttori.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202307270727 o successive.

    majority_maker_instance_type Stringa Specifica il tipo di macchina virtuale (VM) Compute Engine da utilizzare per l'istanza di creator di maggioranza. Ad esempio, n1-highmem-32.

    Se vuoi utilizzare un tipo di VM personalizzata, specifica un tipo di VM predefinito con un numero di vCPU più vicino a quello di cui hai bisogno, pur essendo più grande. Al termine del deployment, modifica il numero di vCPU e la quantità di memoria.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202307270727 o successive.

    majority_maker_zone Stringa Specifica una zona in cui è dispiegato l'istanza VM del creatore di maggioranza. Questo la zona deve essere nello stesso region come il in zone primarie e secondarie. Ad esempio, us-east1-d.

    Google Cloud consiglia che l'istanza VM della maggior parte dei produttori con deployment in una zona diversa rispetto ai sistemi SAP HANA primari e secondari.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202307270727 o successive.

    sap_hana_deployment_bucket Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica il percorso di il bucket Cloud Storage che contiene l'installazione SAP HANA . Non includere gs:// nel percorso; includi solo il nome del bucket e i nomi di 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_scaleout_nodes Numero intero Specifica il numero di host worker necessari nel sistema di scalabilità. Per eseguire il deployment di un sistema scalabile, devi avere almeno un host worker.

    Terraform crea gli host worker oltre all'istanza SAP HANA principale in esecuzione in un'istanza Compute Engine. Ad esempio, se specifichi 3, allora quattro SAP HANA viene eseguito il deployment delle istanze nell'impianto sia nella zona primaria che in quella secondaria.

    sap_hana_sid Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica l'ID sistema SAP HANA. L'ID deve essere composto da tre caratteri alfanumerici e iniziano 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 da utilizzare per gli script di installazione durante il deployment. La password deve contenere almeno 8 caratteri e includere almeno una lettera maiuscola, una lettera minuscola e un numero.

    Anziché specificare la password come testo normale, ti consigliamo di utilizzare una il secret. Per saperne di più, consulta Gestione delle password.

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

    In Secret Manager, assicurati che Valore secret, che è la password, contiene almeno 8 caratteri e include almeno una lettera maiuscola, una lettera minuscola e un numero.

    Per ulteriori informazioni, vedi Gestione delle password.

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

    Anziché specificare la password in testo normale, ti consigliamo di utilizzare un secret. Per ulteriori informazioni, vedi Gestione delle password.

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

    In Secret Manager, assicurati che Valore secret, che è la password, contiene almeno 8 caratteri e include almeno una lettera maiuscola, una lettera minuscola e un numero.

    Per ulteriori informazioni, vedi Gestione delle password.

    sap_hana_double_volume_size Booleano Facoltativo. Per raddoppiare la dimensione del volume HANA, specifica true. Questo argomento è utile quando vuoi eseguire il deployment di più istanze SAP HANA o di un'istanza SAP HANA di ripristino di emergenza sulla stessa VM. Per impostazione predefinita, viene calcolata automaticamente come la dimensione minima richiesta per della VM, soddisfacendo al contempo la certificazione e il supporto SAP i tuoi requisiti. Il valore predefinito è false.
    sap_hana_backup_size Numero intero Facoltativo. Specifica le dimensioni del volume /hanabackup in GB. Se non specifichi questo argomento né lo imposti su 0, lo script di installazione esegue il provisioning dell'istanza Compute Engine con un'istanza HANA un volume di backup pari al doppio della memoria totale.
    sap_hana_sidadm_uid Numero intero Facoltativo. Specifica un valore per sostituire il valore predefinito dell'SID_LCID utente amministratore. Il valore predefinito è 900. Puoi cambialo impostando 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. La il valore predefinito è 79.
    sap_vip Stringa Specifica l'indirizzo IP che utilizzerai per il tuo VIP. La L'indirizzo IP deve essere compreso nell'intervallo di indirizzi IP che sono e assegnato alla subnet. Il file di configurazione Terraform riserva questo indirizzo IP per te.
    primary_instance_group_name Stringa Facoltativo. Specifica il nome del gruppo di istanze non gestite per e al nodo primario. Il nome predefinito è ig-PRIMARY_INSTANCE_NAME.
    secondary_instance_group_name Stringa Facoltativo. Specifica il nome del gruppo di istanze non gestite per il nodo secondario. Il nome predefinito è ig-SECONDARY_INSTANCE_NAME.
    loadbalancer_name Stringa Facoltativo. Specifica il nome del bilanciatore del carico di rete passthrough interno. Il nome predefinito è lb-SAP_HANA_SID-ilb.
    network_tags Stringa Facoltativo. Specifica uno o più tag di rete separati da virgole che vuoi da associare alle tue istanze VM a scopo di firewall o routing.

    Se specifichi public_ip = false e non specifichi un tag di rete, assicurati di fornire un altro mezzo di accesso 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 una scheda di rete virtuale Google (gVNIC), devi specificare un'immagine del sistema operativo che supporti gVNIC come valore per l'argomento linux_image. Per l'elenco delle immagini del sistema operativo, consulta Dettagli del sistema operativo.

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

    Questo argomento è disponibile nella versione del modulo sap_hana 202302060649 o versione successiva.
    disk_type Stringa Facoltativo. Specifica il tipo predefinito di Persistent Disk o il volume Hyperdisk di cui vuoi eseguire il deployment per i dati SAP i volumi di log nel deployment. Per informazioni sul disco predefinito il deployment eseguito dalle configurazioni Terraform fornite per Google Cloud, consulta Deployment del disco tramite Terraform.

    Di seguito sono riportati i valori validi per questo argomento: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced, e pd-extreme. Nei deployment di SAP HANA con scalabilità verticale, viene disegnato anche un disco permanente bilanciato separato per la directory /hana/shared.

    Puoi eseguire l'override di questo tipo di disco predefinito e del disco predefinito associato e il numero di IOPS predefiniti utilizzando alcuni strumenti avanzati argomenti. Per ulteriori informazioni, vai alla tua directory di lavoro, quindi esegui il comando terraform init e consulta il file /.terraform/modules/sap_hana_ha/variables.tf. Prima di utilizzare questi argomenti in produzione, assicurati di testarli in un ambiente non di produzione.

    use_single_shared_data_log_disk Booleano Facoltativo. Il valore predefinito è false e indirizza Terraform il deployment di un disco permanente o Hyperdisk separato per ciascuno dei seguenti Volumi SAP: /hana/data, /hana/log, /hana/shared e /usr/sap. Per montare questi SAP sullo stesso disco permanente o Hyperdisk, specifica true.
    enable_data_striping Booleano Facoltativo. Questo argomento ti consente di eseguire il deployment del volume /hana/data su due dischi. Il valore predefinito è false, che indica a Terraform di eseguire il deployment di un singolo disco per l'hosting del volume /hana/data.

    Questo argomento è disponibile in sap_hana_ha versione del modulo 1.3.674800406 o successiva.

    include_backup_disk Booleano Facoltativo. Questo argomento è applicabile ai deployment di SAP HANA scalabili verticalmente. Il valore predefinito è true, che indica a Terraform di eseguire il deployment di un disco separato per ospitare la directory /hanabackup.

    Il tipo di disco è determinato dall'backup_disk_type . Le dimensioni di questo disco sono determinate dall'argomento sap_hana_backup_size.

    Se imposti il valore di include_backup_disk su false, non viene disegnato alcun disco per la directory /hanabackup.

    enable_fast_restart Booleano Facoltativo. Questo argomento determina se Opzione di riavvio rapido di SAP HANA sia abilitata per il tuo deployment. Il valore predefinito è true. Google Cloud consiglia vivamente di attivare l'opzione Riavvio rapido SAP HANA.

    Questo argomento è disponibile nella versione sap_hana_ha o successive del modulo.

    public_ip Booleano Facoltativo. Determina se un indirizzo IP pubblico viene aggiunto o meno al tuo di un'istanza VM. Il valore predefinito è true.
    service_account Stringa Facoltativo. Specifica l'indirizzo email di un account di servizio gestito dall'utente per essere utilizzati dalle VM host e dai programmi eseguiti sulle VM host. Ad esempio, svc-acct-name@project-id.iam.gserviceaccount.com.

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

    sap_deployment_debug Booleano Facoltativo. Solo quando l'assistenza clienti di Cloud ti chiede di attivare il debug per il tuo deployment, specifica true, che consente al deployment di generare log dettagliati. Il valore predefinito è false.
    primary_reservation_name Stringa Facoltativo. Per utilizzare una prenotazione VM Compute Engine specifica per il provisioning dell'istanza VM che ospita l'istanza SAP HANA principale del tuo cluster HA, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi Compute Engine disponibile in base alle seguenti condizioni.

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

    • L'opzione specificReservationRequired è impostata su true o, nella console Google Cloud, è selezionata l'opzione Seleziona una prenotazione specifica.
    • Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono coperta dalla certificazione SAP per il tipo di macchina. Se la prenotazione di destinazione riguarda uno dei seguenti tipi di macchine, deve specificare le piattaforme CPU minime 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 macchina certificazione SAP per l'utilizzo su Google Cloud conforme alla CPU minima SAP requisito.
    secondary_reservation_name Stringa Facoltativo. Per utilizzare un modello Prenotazione VM di Compute Engine per il provisioning dell'istanza VM che ospita i SAP secondari del cluster ad alta disponibilità HANA, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi Compute Engine disponibile in base alle seguenti condizioni.

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

    • L'opzione specificReservationRequired è impostata su true o, nella console Google Cloud, è selezionata l'opzione Seleziona una prenotazione specifica.
    • Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono coperta dalla certificazione SAP per il tipo di macchina. Se la prenotazione di destinazione riguarda uno dei seguenti tipi di macchine, deve specificare le piattaforme CPU minime 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 macchina certificazione SAP per l'utilizzo su Google Cloud conforme alla CPU minima SAP requisito.
    primary_static_ip Stringa Facoltativo. Specifica un indirizzo IP statico valido per l'istanza VM principale nel tuo cluster ad alta disponibilità. Se non ne specifichi uno, verrà generato automaticamente un indirizzo IP per l'istanza VM. Ad esempio, 128.10.10.10.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202306120959 o successive.

    secondary_static_ip Stringa Facoltativo. Specifica un indirizzo IP statico valido per l'istanza VM secondaria nel cluster ad alta disponibilità. Se non ne specifichi uno, viene viene generato automaticamente per l'istanza VM. Ad esempio, 128.11.11.11.

    Questo argomento è disponibile in sap_hana_ha versione del modulo 202306120959 o successiva.

    primary_worker_static_ips Elenco(Stringa) Facoltativo. Specifica un array di indirizzi IP statici validi per le istanze worker nell'istanza principale della tua disponibilità ad alta disponibilità con scale out SAP HANA di un sistema operativo completo. Se non specifichi un valore per questo argomento, viene assegnato un indirizzo IP generate automaticamente per ogni istanza VM worker. Ad esempio: [ "1.0.0.1", "2.3.3.4" ].

    Gli indirizzi IP statici vengono assegnati nell'ordine di creazione delle istanze. Per Ad esempio, se scegli di eseguire il deployment di 3 istanze worker, ma ne specifichi solo 2 per l'argomento primary_worker_static_ips, questi IP vengono assegnati alle prime due istanze VM che Terraform del deployment della configurazione. Per la terza istanza VM worker, l'indirizzo IP è generati automaticamente.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202307270727 o successive.

    secondary_worker_static_ips Elenco(Stringa) Facoltativo. Specifica un array di indirizzi IP statici validi per le istanze worker nell'istanza secondaria del sistema HA scalabile SAP HANA. Se non specifichi un valore per questo argomento, viene restituito un indirizzo IP viene generato automaticamente per ogni istanza VM worker. Ad esempio: [ "1.0.0.2", "2.3.3.5" ].

    Gli indirizzi IP statici vengono assegnati nell'ordine di creazione dell'istanza. Per Ad esempio, se scegli di eseguire il deployment di 3 istanze worker, ma ne specifichi solo 2 per l'argomento secondary_worker_static_ips, questi IP vengono assegnati alle prime due istanze VM che Terraform del deployment della configurazione. Per la terza istanza VM worker, l'indirizzo IP è generati automaticamente.

    Questo argomento è disponibile nella versione sap_hana_ha del modulo 202307270727 o successive.

    can_ip_forward Booleano

    Specifica se è consentito l'invio e la ricezione di pacchetti con IP di origine o di destinazione non corrispondenti, in modo che una VM possa comportarsi come un router. Il valore predefinito è true.

    Se intendi utilizzare solo i bilanciatori del carico interni di Google IP virtuali per le VM di cui è stato eseguito il deployment, quindi imposta il valore su false. Un bilanciatore del carico interno viene disegnato automaticamente come parte dei modelli di alta disponibilità.

    L'esempio seguente mostra un file di configurazione completo che definisce un cluster ad alta disponibilità per un sistema SAP HANA scalabile orizzontalmente su SLES. La utilizza un bilanciatore del carico di rete passthrough interno per gestire il VIP.

    Terraform esegue il deployment delle risorse Google Cloud definite di configurazione del deployment e poi gli script installare SAP HANA, configurare la replica e configurare l'alta disponibilità di Linux in un cluster Kubernetes.

    Per chiarezza, i commenti nella configurazione di esempio seguente sono omessi.

    # ...
    module "sap_hana_ha" {
    source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/sap_hana_ha_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 argument above and uncomment the source argument below.
    #
    # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana_ha/sap_hana_ha_module.zip"
    # ...
    project_id = "example-project-123456"
    machine_type = "n2-highmem-32"
    network = "example-network"
    subnetwork = "example-subnet-us-central1"
    linux_image = "sles-15-sp4-sap"
    linux_image_project = "suse-sap-cloud"
    
    primary_instance_name = "example-ha-vm1"
    primary_zone = "us-central1-a"
    
    secondary_instance_name = "example-ha-vm2"
    secondary_zone = "us-central1-b"
    
    majority_maker_instance_name = "example-ha-mj"
    majority_maker_instance_type = "n2-highmem-32"
    majority_maker_zone = "us-central1-c"
    
    sap_hana_scaleout_nodes = 2
    # ...
    sap_hana_deployment_bucket = "my-hana-bucket"
    sap_hana_sid = "HA1"
    sap_hana_instance_number = 00
    sap_hana_sidadm_password_secret = "hana_sid_adm_pwd"
    sap_hana_system_password_secret = "hana_sys_pwd"
    # ...
    sap_vip = "10.0.0.100"
    primary_instance_group_name = "ig-example-ha-vm1"
    secondary_instance_group_name = "ig-example-ha-vm2"
    loadbalancer_name = "lb-ha1"
    # ...
    network_tags = \["hana-ha-ntwk-tag"\]
    service_account = "sap-deploy-example@example-project-123456.iam.gserviceaccount.com"
    primary_static_ip = "10.0.0.1"
    secondary_static_ip = "10.0.0.2"
    primary_worker_static_ips = \["10.0.0.3", "10.0.0.4"\]
    secondary_worker_static_ips = \["10.0.0.5", "10.0.0.6"\]
    enable_fast_restart = true
    # ...
    }
  6. Inizializza la directory di lavoro corrente e scarica i file del plug-in e del modulo del provider Terraform per Google Cloud:

    terraform init

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

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

    terraform init --upgrade 
  7. Facoltativamente, crea il piano di esecuzione Terraform:

    terraform plan

    Il comando terraform plan mostra le modifiche richieste dalla query configurazione. 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 e poi passa il controllo a uno script che configura il cluster HA e installa SAP HANA in base agli argomenti definiti nel file di configurazione Terraform.

    Anche se Terraform ha il controllo, i messaggi di stato in Cloud Shell. Dopo l'attivazione degli script, i messaggi di stato vengono scritti in Logging e sono visualizzabili nella console Google Cloud, come descritto in Controllare i log.

Verifica il deployment del sistema HANA HA

La verifica di un cluster ad alta disponibilità SAP HANA comporta diverse procedure:

  • Controllo del logging
  • Controllo della configurazione della VM e dell'installazione di SAP HANA
  • Controllo della configurazione del cluster in corso...
  • Controllare il bilanciatore del carico e l'integrità dei gruppi di istanze
  • Controllo del sistema SAP HANA utilizzando SAP HANA Studio
  • Esecuzione di un test di failover

Controlla i log

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

    Vai a Cloud Logging

  2. Filtra i log:

    Esplora log

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

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

      Se non vedi l'opzione Globale, nell'editor di query inserisci la seguente 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", il parametro l'elaborazione del deployment è completa vai al passaggio successivo.
    • Se visualizzi un errore di quota:

      1. Nella pagina IAM e amministrazione Quote , 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 tua 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 di nuovo il deployment.

Controlla la configurazione della VM e dell'installazione di SAP HANA

  1. Dopo aver eseguito il deployment del sistema SAP HANA senza errori, 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.

    il 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

    L'output è simile all'esempio seguente. Assicurati che l'output include le directory /hana, ad esempio /hana/data.

    example-ha-vm1:~ # df -h
    Filesystem                         Size  Used Avail Use% Mounted on
    devtmpfs                           4.0M  8.0K  4.0M   1% /dev
    tmpfs                              189G   48M  189G   1% /dev/shm
    tmpfs                               51G   26M   51G   1% /run
    tmpfs                              4.0M     0  4.0M   0% /sys/fs/cgroup
    /dev/sda3                           30G  6.2G   24G  21% /
    /dev/sda2                           20M  3.0M   17M  15% /boot/efi
    /dev/mapper/vg_hana_shared-shared  256G   41G  215G  16% /hana/shared
    /dev/mapper/vg_hana_data-data      308G   12G  297G   4% /hana/data
    /dev/mapper/vg_hana_log-log        128G  8.8G  120G   7% /hana/log
    /dev/mapper/vg_hana_usrsap-usrsap   32G  265M   32G   1% /usr/sap
    /dev/mapper/vg_hanabackup-backup   512G  8.5G  504G   2% /hanabackup
    tmpfs                               26G     0   26G   0% /run/user/174
    tmpfs                               26G     0   26G   0% /run/user/900
    tmpfs                               26G     0   26G   0% /run/user/0
    tmpfs                               26G     0   26G   0% /run/user/1000
  4. Controlla lo stato del nuovo cluster inserendo il comando status specifico per il tuo sistema operativo:

    crm status
    

    Dovresti vedere un output simile all'esempio seguente, in cui Istanze VM nei sistemi SAP HANA primari e secondari e nella maggior parte dei casi di produzione dell'istanza maker. example-ha-vm1 è l'istanza principale attiva.

    example-ha-vm1:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum
      * Last updated: Sat Jul 15 19:42:56 2023
      * Last change:  Sat Jul 15 19:42:21 2023 by root via crm_attribute on example-ha-vm1
      * 7 nodes configured
      * 23 resource instances configured
    
    Node List:
      * Online: \[ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:fence_gce):   Started example-ha-mj
      * STONITH-example-ha-vm2      (stonith:fence_gce):   Started example-ha-vm1
      * STONITH-example-ha-mj       (stonith:fence_gce):   Started example-ha-vm1w1
      * STONITH-example-ha-vm1w1    (stonith:fence_gce):   Started example-ha-vm1w2
      * STONITH-example-ha-vm2w1    (stonith:fence_gce):   Started example-ha-vm2
      * STONITH-example-ha-vm1w2    (stonith:fence_gce):   Started example-ha-vm2w1
      * STONITH-example-ha-vm2w2    (stonith:fence_gce):   Started example-ha-mj
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm1
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm1
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 \[rsc_SAPHanaTopology_HA1_HDB00\]:
        * Started: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \]
        * Stopped: \[ example-ha-mj \]
      * Clone Set: msl_SAPHana_HA1_HDB00 \[rsc_SAPHana_HA1_HDB00\] (promotable):
        * Masters: \[ example-ha-vm1 \]
        * Slaves: \[ example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \]
        * Stopped: \[ example-ha-mj \]
  5. Passa all'utente amministratore SAP sostituendo SID_LC nel seguente con il valore sap_hana_sid specificato nel sap_hana_ha.tf file. Il valore SID_LC deve essere in minuscolo.

    su - SID_LCadm
    
  6. Assicurati che i servizi SAP HANA, come hdbnameserver, hdbindexserver e altri sono in esecuzione sull'istanza inserendo il seguente comando:

    HDB info
    

Controlla la configurazione del cluster

Una volta eseguito il deployment del cluster, devi controllare il parametro le impostazioni del cluster. Controlla sia le impostazioni visualizzate dal software del cluster sia le impostazioni dei parametri nel file di configurazione del cluster. Confronta le tue impostazioni con quelle della seguente procedura creato dagli script di automazione usati in questo guida.

  1. Visualizza le configurazioni delle risorse del cluster:

    crm config show

    Gli script di automazione utilizzati da questa guida creano le configurazioni delle risorse mostrate nell'esempio seguente:

      node 1: example-ha-vm1 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 2: example-ha-vm2 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      node 3: example-ha-mj
      node 4: example-ha-vm1w1 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 5: example-ha-vm2w1 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      node 6: example-ha-vm1w2 \
        attributes hana_ha1_site=example-ha-vm1 hana_ha1_gra=2.0
      node 7: example-ha-vm2w2 \
        attributes hana_ha1_site=example-ha-vm2 hana_ha1_gra=2.0
      primitive STONITH-example-ha-mj stonith:fence_gce \
        params port=example-ha-mj zone="us-central1-c" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1 stonith:fence_gce \
        params port=example-ha-vm1 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1w1 stonith:fence_gce \
        params port=example-ha-vm1w1 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm1w2 stonith:fence_gce \
        params port=example-ha-vm1w2 zone="us-central1-a" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2 stonith:fence_gce \
        params port=example-ha-vm2 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2w1 stonith:fence_gce \
        params port=example-ha-vm2w1 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive STONITH-example-ha-vm2w2 stonith:fence_gce \
        params port=example-ha-vm2w2 zone="us-central1-b" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \
        op monitor interval=300s timeout=120s \
        op start interval=0 timeout=60s \
        op stop timeout=15 interval=0s
      primitive rsc_SAPHanaTopology_HA1_HDB00 ocf:suse:SAPHanaTopology \
        operations $id=rsc_sap2_HA1_HDB00-operations \
        op monitor interval=10 timeout=600 \
        op start interval=0 timeout=600 \
        op stop interval=0 timeout=300 \
        params SID=HA1 InstanceNumber=00
      primitive rsc_SAPHana_HA1_HDB00 ocf:suse:SAPHanaController \
        op start interval=0 timeout=3600 \
        op stop interval=0 timeout=3600 \
        op promote interval=0 timeout=3600 \
        op demote interval=0 timeout=3600 \
        op monitor interval=60 role=Master timeout=700 \
        op monitor interval=61 role=Slave timeout=700 \
        params SID=HA1 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true
      primitive rsc_vip_hc-primary anything \
        params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:60000,backlog=10,fork,reuseaddr /dev/null" \
        op monitor timeout=20s interval=10s \
        op_params depth=0 \
        op start timeout=20s interval=0s \
        op stop timeout=20s interval=0s
      primitive rsc_vip_int-primary IPaddr2 \
        params ip=10.1.0.23 cidr_netmask=32 nic=eth0 \
        op monitor interval=3600s timeout=60s \
        op start timeout=20s interval=0s \
        op stop timeout=20s interval=0s
      group g-primary rsc_vip_int-primary rsc_vip_hc-primary \
        meta resource-stickiness=0
      ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \
        meta clone-node-max=1 master-max=1 interleave=true target-role=Started interleave=true
      clone cln_SAPHanaTopology_HA1_HDB00 rsc_SAPHanaTopology_HA1_HDB00 \
        meta clone-node-max=1 target-role=Started interleave=true
      location LOC_STONITH_example-ha-vm1 STONITH-example-ha-vm1 -inf: example-ha-vm1
      location LOC_STONITH_example-ha-vm1w1 STONITH-example-ha-vm1w1 -inf: example-ha-vm1w1
      location LOC_STONITH_example-ha-vm1w2 STONITH-example-ha-vm1w2 -inf: example-ha-vm1w2
      location LOC_STONITH_example-ha-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2
      location LOC_STONITH_example-ha-vm2w1 STONITH-example-ha-vm2w1 -inf: example-ha-vm2w1
      location LOC_STONITH_example-ha-vm2w2 STONITH-example-ha-vm2w2 -inf: example-ha-vm2w2
      location SAPHanaCon_not_on_mm msl_SAPHana_HA1_HDB00 -inf: example-ha-mj
      location SAPHanaTop_not_on_mm cln_SAPHanaTopology_HA1_HDB00 -inf: example-ha-mj
      colocation col_saphana_ip_HA1_HDB00 4000: g-primary:Started msl_SAPHana_HA1_HDB00:Master
      order ord_SAPHana_HA1_HDB00 Optional: cln_SAPHanaTopology_HA1_HDB00 msl_SAPHana_HA1_HDB00
      property SAPHanaSR: \
        hana_ha1_glob_mts=true \
        hana_ha1_site_srHook_example-ha-vm2=SOK \
        hana_ha1_site_lss_example-ha-vm1=4 \
        hana_ha1_site_srr_example-ha-vm1=P \
        hana_ha1_site_lss_example-ha-vm2=4 \
        hana_ha1_site_srr_example-ha-vm2=S \
        hana_ha1_glob_srmode=syncmem \
        hana_ha1_glob_upd=ok \
        hana_ha1_site_mns_example-ha-vm1=example-ha-vm1 \
        hana_ha1_site_mns_example-ha-vm2=example-ha-vm2 \
        hana_ha1_site_lpt_example-ha-vm2=30 \
        hana_ha1_site_srHook_example-ha-vm1=PRIM \
        hana_ha1_site_lpt_example-ha-vm1=1689450463 \
        hana_ha1_glob_sync_state=SOK \
        hana_ha1_glob_prim=example-ha-vm1
      property cib-bootstrap-options: \
        have-watchdog=false \
        dc-version="2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36" \
        cluster-infrastructure=corosync \
        cluster-name=hacluster \
        maintenance-mode=false \
        stonith-timeout=300s \
        stonith-enabled=true \
        concurrent-fencing=true
      rsc_defaults build-resource-defaults: \
        resource-stickiness=1000 \
        migration-threshold=5000
      op_defaults op-options: \
        timeout=600
    
  2. Visualizza il file di configurazione del cluster, corosync.conf:

    cat /etc/corosync/corosync.conf

    Gli script di automazione utilizzati da questa guida specificano le impostazioni dei parametri nel file corosync.conf, come mostrato nell'esempio seguente:

      totem {
        version: 2
        secauth: off
        crypto_hash: sha1
        crypto_cipher: aes256
        cluster_name: hacluster
        clear_node_high_bit: yes
        token: 20000
        token_retransmits_before_loss_const: 10
        join: 60
        max_messages: 20
        transport: udpu
        interface {
          ringnumber: 0
          bindnetaddr: "10.1.0.7"
          mcastport: 5405
          ttl: 1
        }
      }
      logging {
        fileline: off
        to_stderr: no
        to_logfile: no
        logfile: /var/log/cluster/corosync.log
        to_syslog: yes
        debug: off
        timestamp: on
        logger_subsys {
          subsys: QUORUM
          debug: off
        }
      }
      quorum {
        provider: corosync_votequorum
      }
      nodelist {
        node {
          ring0_addr: example-ha-vm1
          nodeid: 1
        }
        node {
          ring0_addr: example-ha-vm2
          nodeid: 2
        }
        node {
          ring0_addr: example-ha-mj
          nodeid: 3
         }
        node {
          ring0_addr: example-ha-vm1w1
          nodeid: 4
         }
        node {
          ring0_addr: example-ha-vm2w1
          nodeid: 5
         }
        node {
          ring0_addr: example-ha-vm1w2
          nodeid: 6
         }
        node {
          ring0_addr: example-ha-vm2w2
          nodeid: 7
         }
      }
    

Controlla il bilanciatore del carico e lo stato dei gruppi di istanze

Per verificare che il bilanciatore del carico e il controllo di integrità siano stati configurati correttamente, controlla il bilanciatore del carico e i gruppi di istanze nella console Google Cloud:

  1. Nella console Google Cloud, apri la pagina Bilanciamento del carico.

    Vai a Cloud Load Balancing

  2. Nell'elenco dei bilanciatori del carico, verifica che sia stato creato un bilanciatore del carico per il cluster HA.

  3. Nella pagina Dettagli del bilanciatore del carico, nella sezione Backend, nella colonna Stato integro, verifica che per uno dei gruppi di istanze sia visualizzato 1 di 1 e per l'altro 0 di 1. Dopo un failover, l'indicatore di stato integro, 1 di 1 passa al nuovo gruppo di istanze attivo.

    Mostra la pagina dei dettagli del bilanciatore del carico con il gruppo di istanze principali attivo
indicato da "1/1" mentre il secondario inattivo è indicato da "0/1".

Controllare il sistema SAP HANA utilizzando SAP HANA Studio

Puoi utilizzare SAP HANA Cockpit o SAP HANA Studio per monitorare e gestire i sistemi SAP HANA in un cluster ad alta disponibilità.

  1. Connettiti al sistema HANA utilizzando SAP HANA Studio. Quando definisci la connessione, specifica i seguenti valori:

    • Nel riquadro Specifica sistema, specifica l'indirizzo IP mobile come Nome host.
    • Nel riquadro Proprietà connessione, per l'autenticazione utente del database, specificare il nome super user del database e la password specificate per l'argomento sap_hana_system_password nel file sap_hana_ha.tf.

    Per informazioni di SAP sull'installazione di SAP HANA Studio, consulta la Guida all'installazione e all'aggiornamento di SAP HANA Studio.

  2. Dopo aver collegato SAP HANA Studio al sistema HANA HA, visualizza la panoramica del sistema facendo doppio clic sul nome del sistema nel riquadro di navigazione sul lato sinistro della finestra.

    Screenshot del riquadro di navigazione in SAP HANA Studio

  3. In Informazioni generali nella scheda Panoramica, conferma seguenti:

    • Lo Stato operativo mostra All services started.
    • Lo stato di replica del sistema mostra All services are active and in sync.

    Screenshot della scheda Panoramica in SAP HANA Studio

  4. Conferma la modalità di replica facendo clic sullo stato di replica del sistema. nella sezione Informazioni generali. La replica sincrona è indicata da SYNCMEM nella colonna REPLICATION_MODE della scheda Replica di sistema.

    Screenshot della scheda Stato replica di sistema 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 completando i seguenti passaggi:

  1. Risolvi gli eventuali errori per assicurarti che il deployment non fallisca di nuovo per per lo stesso motivo. Per informazioni su come controllare i log o risolvere la quota errori correlati, consulta Controlla 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 di Terraform usati per questo deployment.

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

    terraform destroy

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

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

Esegui un test di failover

Dopo aver verificato che il sistema SAP HANA è stato implementato correttamente, devi eseguire il test della funzione di failover.

Le seguenti istruzioni utilizzano il comando ip link set eth0 down per completare l'interfaccia di rete offline. Questo comando convalida sia il failover sia il fencing.

Per eseguire un test di failover, completa i seguenti passaggi:

  1. Nell'istanza SAP HANA principale, connettiti al nodo principale utilizzando SSH. Puoi connetterti dalla pagina Istanze VM di Compute Engine facendo clic sul pulsante SSH per ogni istanza VM oppure puoi utilizzare il metodo SSH che preferisci.

  2. Al prompt dei comandi, inserisci il seguente comando:

    ip link set eth0 down

    Il comando ip link set eth0 down attiva un failover tramite il routing le comunicazioni con l'istanza SAP HANA principale.

  3. Connettiti a qualsiasi altro nodo nel tuo cluster tramite SSH e passa alla utente root.

  4. Verifica che l'istanza SAP HANA principale sia ora attiva sulla VM che precedentemente conteneva l'istanza secondaria eseguendo il seguente comando.

    crm status
    

    Poiché nel cluster è abilitato il riavvio automatico, l'istanza arrestata si riavvia e assume il ruolo dell'istanza secondaria. Le seguenti un esempio mostra che i ruoli su ogni istanza SAP HANA sono cambiati:

    example-ha-vm2:~ # crm status
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm2 (version 2.1.2+20211124.ada5c3b36-150400.4.9.2-2.1.2+20211124.ada5c3b36) - partition with quorum
      * Last updated: Mon Jul 17 19:47:11 2023
      * Last change:  Mon Jul 17 19:46:56 2023 by root via crm_attribute on example-ha-vm2
      * 7 nodes configured
      * 23 resource instances configured
    
    Node List:
      * Online: \[ example-ha-mj example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \]
    
    Full List of Resources:
      * STONITH-example-ha-vm1      (stonith:fence_gce):   Started example-ha-mj
      * STONITH-example-ha-vm2      (stonith:fence_gce):   Started example-ha-vm1w1
      * STONITH-example-ha-mj       (stonith:fence_gce):   Started example-ha-vm1w1
      * STONITH-example-ha-vm1w1    (stonith:fence_gce):   Started example-ha-vm1w2
      * STONITH-example-ha-vm2w1    (stonith:fence_gce):   Started example-ha-vm2
      * STONITH-example-ha-vm1w2    (stonith:fence_gce):   Started example-ha-vm2w1
      * STONITH-example-ha-vm2w2    (stonith:fence_gce):   Started example-ha-mj
      * Resource Group: g-primary:
        * rsc_vip_int-primary       (ocf::heartbeat:IPaddr2):        Started example-ha-vm2
        * rsc_vip_hc-primary        (ocf::heartbeat:anything):       Started example-ha-vm2
      * Clone Set: cln_SAPHanaTopology_HA1_HDB00 \[rsc_SAPHanaTopology_HA1_HDB00\]:
        * Started: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2 example-ha-vm2w1 example-ha-vm2w2 \]
        * Stopped: \[ example-ha-mj \]
      * Clone Set: msl_SAPHana_HA1_HDB00 \[rsc_SAPHana_HA1_HDB00\] (promotable):
        * Masters: \[ example-ha-vm2 \]
        * Slaves: \[ example-ha-vm1 example-ha-vm1w1 example-ha-vm1w2 example-ha-vm2w1 example-ha-vm2w2 \]
        * Stopped: \[ example-ha-mj \]
  5. Nella pagina Dettagli bilanciatore del carico della console Google Cloud, verifica che nuova istanza principale attiva mostra 1 di 1 nella colonna Integrità. Aggiorna la pagina, se necessario.

    Vai a Cloud Load Balancing

    Ad esempio, guarda l'immagine seguente:

    Mostra la pagina dei dettagli del bilanciatore del carico con "ig-example-ha-vm2" istanza
mostra "1/1" nella colonna Integro.

  6. In SAP HANA Studio, verifica la connessione al sistema tramite facendo doppio clic sulla voce di sistema nel riquadro di navigazione per aggiornare il sistema. informazioni.

  7. Fai clic sul link Stato della replica di sistema per verificare che gli host principali e secondari siano stati scambiati e siano attivi.

    Screenshot della scheda Stato replica del sistema in SAP HANA Studio

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

Una volta eseguito il deployment dell'infrastruttura e installato il sistema SAP HANA, verificare che l'agente Google Cloud per SAP funzioni correttamente.

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

Per verificare che l'agente sia in esecuzione, segui questi passaggi:

  1. Stabilisci una connessione SSH di un'istanza VM host.

  2. Esegui questo comando:

    systemctl status google-cloud-sap-agent

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

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

Se l'agente non è in esecuzione, riavvialo.

Verifica che l'agente host SAP stia ricevendo le metriche

Per verificare che le metriche dell'infrastruttura siano raccolte l'agente Google Cloud per SAP e inviato correttamente a SAP Host Agent. segui questi passaggi:

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

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

Configura il monitoraggio per SAP HANA

Se vuoi, puoi monitorare le tue istanze SAP HANA utilizzando l'agente di Google Cloud per SAP. Dalla versione 2.0, puoi configurare l'agente raccogliere le metriche di monitoraggio SAP HANA e inviarle a Cloud Monitoring. Cloud Monitoring ti consente di creare dashboard per visualizzare queste metriche, configurare avvisi in base alle soglie delle metriche e altro ancora.

Per ulteriori informazioni sulla raccolta delle metriche di monitoraggio SAP HANA utilizzando di Google Cloud per SAP, vedi Raccolta delle metriche di monitoraggio di SAP HANA.

Connettiti a SAP HANA

Tieni presente che poiché queste istruzioni non utilizzano un indirizzo IP esterno per SAP HANA, puoi connetterti alle istanze SAP HANA solo tramite il bastion mediante SSH o il server Windows tramite SAP HANA Studio.

  • Per connetterti a SAP HANA tramite l'istanza bastion, connettiti al bastion e poi alle istanze SAP HANA tramite un client SSH la tua scelta.

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

Configura HANA attiva/attiva (lettura abilitata)

A partire da SAP HANA 2.0 SPS1, puoi configurare HANA attive/attive (con lettura abilitata) in un cluster Pacemaker. Per istruzioni, vedi Configura HANA attive/attive (con lettura abilitata) in un cluster SUSE Pacemaker.

Esegui attività di post-deployment

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

  1. Cambiare le password temporanee per l'amministratore di sistema SAP HANA e super user del database.

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

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

  4. Installa componenti aggiuntivi, come le librerie delle funzioni delle applicazioni (AFL) o Smart Data Access (SDA).

  5. 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 continui per l'alta disponibilità SAP HANA carichi di lavoro in esecuzione su Google Cloud, puoi utilizzare Gestione dei carichi di lavoro.

Workload Manager ti consente di eseguire automaticamente la scansione e la valutazione dei carichi di lavoro SAP HANA ad alta disponibilità in base alle best practice di SAP, Google Cloud e dei fornitori di sistemi operativi. In questo modo puoi migliorare la qualità, le prestazioni e l'affidabilità dei tuoi carichi di lavoro.

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

Risoluzione dei problemi

Per risolvere i problemi relativi alle configurazioni ad alta disponibilità per SAP HANA su SLES, consulta Risoluzione dei problemi relativi alle configurazioni ad alta disponibilità per SAP.

Assistenza

Se hai bisogno di aiuto per risolvere un problema con i cluster ad alta disponibilità per SAP HANA su SLES, devi raccogliere le informazioni di diagnostica richieste e contattare l'assistenza clienti Google Cloud. Per ulteriori informazioni, consulta Informazioni diagnostiche sui cluster ad alta disponibilità su SLES.

Passaggi successivi