Questa guida mostra come automatizzare il deployment di SAP HANA in Red Hat Enterprise Linux (RHEL) o SUSE Linux Enterprise Server (SLES) ad alta disponibilità che utilizza un bilanciatore del carico di rete passthrough interno per gestire l'indirizzo IP virtuale (VIP).
La guida utilizza Terraform eseguire il deployment di due Compute Engine macchine virtuali (VM), due sistemi di scale up SAP HANA, un indirizzo IP virtuale (VIP) con un'implementazione del bilanciatore del carico di rete passthrough interno e un bilanciatore del carico basato sul sistema operativo cluster ad alta disponibilità, in base alle best practice di Google Cloud, SAP e del fornitore del sistema operativo.
Uno dei sistemi SAP HANA funziona come sistema primario, attivo e altre funzioni come sistema secondario in standby. Esegui il deployment di SAP HANA all'interno dello stesso region, idealmente in zone diverse.
Il cluster di cui è stato eseguito il deployment include le seguenti funzioni e caratteristiche:
- 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.
- Nei cluster RHEL HA:
- Modello ad alta disponibilità di Red Hat.
- L'agente di risorse Red Hat e i pacchetti relativi a fencing.
- Nei cluster SLES HA:
- 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 di scale out con host in standby per l'host automatico SAP HANA devi vedere il failover Terraform: guida al deployment del sistema SAP HANA scale out con failover automatico dell'host
Per eseguire il deployment di un sistema SAP HANA senza un cluster Linux ad alta disponibilità o in standby utilizza 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:
- Hai letto Guida alla pianificazione di SAP HANA e 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 SAP HANA. Per informazioni sulla creazione gli account e i progetti Google Cloud, vedi Configurare l'Account Google.
- Se hai bisogno che il tuo carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, controllo dell'accesso, personale o requisiti normativi, devi creare i necessari Cartella Assured Workloads. Per ulteriori informazioni, consulta Conformità e controlli di sovranità per SAP su Google Cloud.
Il supporto di installazione SAP HANA è archiviato in un bucket Cloud Storage che disponibili nel progetto e nella regione di deployment. Per informazioni su come caricare contenuti multimediali di installazione SAP HANA in un bucket Cloud Storage, consulta Creazione di un bucket Cloud Storage per i file di installazione di SAP HANA.
Se OS Login sia abilitato nei metadati di progetto, devi disabilitare OS Login temporaneamente fino al completamento del deployment. Per il deployment questa procedura configura le chiavi SSH nei metadati dell'istanza. Se l'accesso al sistema operativo è abilitato, le configurazioni delle chiavi SSH basate su metadati vengono e questo deployment non riesce. Al termine del deployment, puoi abilitare di nuovo OS Login.
Per ulteriori informazioni, vedi:
Se utilizzi DNS interno VPC, il valore della variabile
vmDnsSetting
nei metadati di progetto deve essereGlobalOnly
oZonalPreferred
per abilitare la risoluzione dei nomi dei nodi tra le zone. L'impostazione predefinita divmDnsSetting
èZonalOnly
. Per ulteriori informazioni, consulta:
Creare una rete
Per motivi di sicurezza, crea una nuova rete. Puoi controllare chi ha accesso tramite l'aggiunta di regole firewall o l'utilizzo di 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 sono quelle create in modo esplicito.
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:
-
Creare una rete in modalità personalizzata. Per saperne di più, consulta la sezione Creazione di una rete in modalità personalizzata.
-
Crea una subnet e specifica la regione e l'intervallo IP. Per ulteriori informazioni, consulta Aggiungere subnet.
Configurazione di un gateway NAT
Se devi creare una o più VM senza indirizzi IP pubblici, devi utilizzare la rete traduzione degli indirizzi (NAT) per consentire alle VM di accedere a internet. Utilizza Cloud NAT, uno strumento Servizio gestito distribuito e software-defined di Google Cloud che consente alle VM di inviare messaggi in uscita di pacchetti a internet e ricevono 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 a internet in modo sicuro senza un indirizzo IP pubblico.
aggiungi regole firewall
Per impostazione predefinita, una regola firewall implicita blocca le connessioni in arrivo dall'esterno la rete VPC (Virtual Private Cloud). Per consentire le connessioni in entrata, e configurare 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.
I cluster ad alta disponibilità per SAP HANA richiedono almeno due regole firewall, una che permette al controllo di integrità di Compute Engine di controllare l'integrità dai nodi del cluster e da un altro che consente la comunicazione tra i nodi del cluster una con l'altra.Se non utilizzi una rete VPC condivisa, devi creare il firewall per la comunicazione tra nodi, ma non per i controlli di integrità. Il file di configurazione Terraform crea la regola firewall per i controlli di integrità, che puoi modificare una volta completato il deployment. se necessario.
Se utilizzi una rete VPC condivisa, amministratore deve creare entrambe le regole firewall nel progetto host.
Puoi anche creare una regola firewall per consentire
l'accesso esterno a porte specifiche,
o l'accesso tra le VM sulla stessa rete. Se default
Viene utilizzato il tipo di rete VPC, alcune regole predefinite aggiuntive
come la regola default-allow-internal
, che consente la connettività
tra VM sulla stessa rete e 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.
- Connessioni SSH all'istanza VM, tra cui SSH nel browser.
- Connessione alla VM mediante uno strumento di terze parti in Linux. Crea una regola per consentire l'accesso allo strumento tramite il firewall.
Per creare le regole firewall per il tuo progetto, consulta Creazione di regole firewall.
Creazione di un cluster Linux ad alta disponibilità in cui è installato SAP HANA
Le seguenti istruzioni utilizzano il file di configurazione di Terraform per creare un Cluster RHEL o SLES con due sistemi SAP HANA, un host singolo principale Sistema SAP HANA su un'istanza VM e sistema SAP HANA in standby su un'altra di un'istanza VM nella stessa regione di Compute Engine. I sistemi SAP HANA utilizza la replica di sistema sincrona e il sistema in standby precarica replicati.
Definisci le opzioni di configurazione per il cluster ad alta disponibilità SAP HANA in un di configurazione di Terraform.
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 di SAP HANA, consulta Considerazioni su prezzi e quote per SAP HANA.
Apri Cloud Shell.
Scarica il file di configurazione
sap_hana_ha.tf
per SAP HANA ad alta disponibilità nella directory di lavoro:$
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana_ha/terraform/sap_hana_ha.tfApri il file
sap_hana_ha.tf
nell'editor di codice di Cloud Shell.Per aprire l'editor di codice di Cloud Shell, fai clic sull'icona a forma di matita nella nell'angolo in alto a destra della finestra del terminale Cloud Shell.
Nel file
sap_hana_ha.tf
, aggiorna i valori dell'argomento sostituendo il contenuti tra virgolette doppie con i valori dell'installazione. Gli argomenti sono descritti nella seguente tabella.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'argomentosource
: una che è attivo e uno incluso come commento.source
attivo per impostazione predefinita specificalatest
come del modulo. La seconda istanza disource
che è disattivato per impostazione predefinita 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'argomentosource
che specifica il timestamp della versione e aggiungilo all'argomentosource
che specificalatest
.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 tipo di VM predefinito con un certo numero di il numero di vCPU più vicino al numero 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 subnet 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 esempiomyproject/network1
.linux_image
Stringa Specifica il nome dell'immagine del sistema operativo Linux su cui vuoi il deployment del sistema SAP. Ad esempio, rhel-9-2-sap-ha
osles-15-sp5-sap
. Per l'elenco dei sistemi operativi disponibili vedi le Pagina Immagini in la 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, specificarhel-sap-cloud
osuse-sap-cloud
. Per trovare il progetto immagine per il tuo sistema operativo di sistema, vedi Sistema operativo dettagli.primary_instance_name
Stringa Specifica un nome dell'istanza VM per il 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. Il principale e le zone secondarie devono trovarsi nella stessa regione. Ad esempio: us-east1-c
.secondary_instance_name
Stringa Specifica un nome dell'istanza VM per il sistema SAP HANA secondario. La può contenere lettere minuscole, numeri o trattini. secondary_zone
Stringa Specifica una zona in cui viene eseguito il deployment del sistema SAP HANA secondario. Le zone primarie e secondarie devono trovarsi nella stessa regione. Ad esempio: us-east1-b
.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 nome del bucket e i nomi delle cartelle. Ad esempio:my-bucket-name/my-folder
.Il bucket Cloud Storage deve esistere nella il progetto Google Cloud da te specificato per
project_id
.sap_hana_sid
Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica SAP ID di sistema 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 un SIDadm
password per gli script di installazione da utilizzare durante il deployment. La password deve contenere almeno 8 caratteri e includi 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 ulteriori informazioni, vedi 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 un password super user del database per gli script di installazione da utilizzare durante e deployment continuo. La password deve essere costituita da almeno 8 caratteri e includere almeno 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 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 è utile quando vuoi eseguire il deployment di più istanze SAP HANA o 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 su0
, 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'attributo SID_LCID utente adm. 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. Esegue l'override dell'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 prenota questo l'indirizzo IP. primary_instance_group_name
Stringa Facoltativo. Specifica il nome del gruppo di istanze non gestite per principale. 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. La 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. Un tag di rete per i componenti ILB viene aggiunto automaticamente Tag di rete.
nic_type
Stringa Facoltativo. Specifica l'interfaccia di rete da utilizzare con l'istanza VM. Puoi specificare il valore GVNIC
oVIRTIO_NET
. A usa un NIC virtuale Google (gVNIC), devi specifica un'immagine sistema operativo che supporti gVNIC come valore per l'argomentolinux_image
. Per l'elenco delle immagini del sistema operativo, vedi Sistema operativo dettagli.Se non specifichi un valore per questo argomento, la rete viene selezionata automaticamente in base al tipo di macchina per l'argomento
Questo argomento è disponibile nella versione del modulomachine_type
.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
epd-extreme
. Fai lo scale up di SAP HANA viene eseguito il deployment di un disco permanente bilanciato separato 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 directory di lavoro, quindi esegui il comando
terraform init
e poi osserva/.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, specificatrue
.include_backup_disk
Booleano Facoltativo. Questo argomento è applicabile ai deployment di scale up di SAP HANA. Il valore predefinito è true
e indirizza Terraform per 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 determinatesap_hana_backup_size
argomento.Se imposti il valore di
include_backup_disk
comefalse
, non verrà eseguito il deployment di nessun disco Directory/hanabackup
.backup_disk_type
Stringa Facoltativo. Per i deployment con scale up, specifica il tipo di Persistent Disk o Hyperdisk di cui vuoi eseguire il deployment Volume: /hanabackup
. 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
,pd-standard
hyperdisk-extreme
hyperdisk-balanced
epd-extreme
.Questo argomento è disponibile in
sap_hana_ha
versione del modulo202307061058
o successiva.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 abilitare il riavvio rapido di SAP HANA .Questo argomento è disponibile in
sap_hana_ha
versione del modulo202309280828
o successiva.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. Per 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, vedi Identità e la gestione degli accessi per i programmi SAP su Google Cloud.
sap_deployment_debug
Booleano Facoltativo. Solo quando l'assistenza clienti Google Cloud ti chiede di attivare il debug per il tuo deployment, specifica true
, che rende il deployment per generare log di deployment dettagliati. Il valore predefinito èfalse
.primary_reservation_name
Stringa Facoltativo. Per utilizzare una specifica Prenotazione VM di Compute Engine per il provisioning dell'istanza VM che ospita i servizi SAP principali del tuo 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 abbia specificato un nome o il lo script di installazione lo seleziona automaticamente, la prenotazione deve essere impostata con le seguenti:
-
L'opzione
specificReservationRequired
è impostata sutrue
o l'opzione Seleziona prenotazione specifica nella console Google Cloud. -
Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono
coperta dalla certificazione SAP per il tipo di macchina. Se il target
per uno dei seguenti tipi di macchina, la prenotazione
è necessario specificare le piattaforme CPU minime come indicato:
n1-highmem-32
: Intel Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-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 una specifica 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 abbia specificato un nome o il lo script di installazione lo seleziona automaticamente, la prenotazione deve essere impostata con le seguenti:
-
L'opzione
specificReservationRequired
è impostata sutrue
o l'opzione Seleziona prenotazione specifica nella console Google Cloud. -
Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono
coperta dalla certificazione SAP per il tipo di macchina. Se il target
per uno dei seguenti tipi di macchina, la prenotazione
è necessario specificare le piattaforme CPU minime come indicato:
n1-highmem-32
: Intel Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-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 in nel tuo cluster ad alta disponibilità. Se non specifichi un indirizzo IP, viene generato automaticamente per l'istanza VM. Ad esempio, 128.10.10.10
.Questo argomento è disponibile in
sap_hana_ha
versione del modulo202306120959
o successiva.secondary_static_ip
Stringa Facoltativo. Specifica un indirizzo IP statico valido per l'istanza VM secondaria nel tuo 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 modulo202306120959
o successiva.I seguenti esempi mostrano un file di configurazione completato definisce un cluster ad alta disponibilità per SAP HANA. Il cluster utilizza un il bilanciatore del carico di rete passthrough interno per gestire il VIP.
Terraform esegue il deployment di Google Cloud a risorse definite nel file di configurazione e quindi negli script prendere in carico la configurazione del sistema operativo, installare SAP HANA, configurare e configurare il cluster Linux ad alta disponibilità.
Fai clic su
RHEL
oSLES
per visualizzare l'esempio specifico per il tuo un intero sistema operativo. Per chiarezza, i commenti nel file di configurazione vengono omessi disponibili negli esempi.RHEL
# ... 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 = "rhel-8-4-sap-ha" linux_image_project = "rhel-sap-cloud" primary_instance_name = "example-ha-vm1" primary_zone = "us-central1-a" secondary_instance_name = "example-ha-vm2" secondary_zone = "us-central1-c" # ... sap_hana_deployment_bucket = "my-hana-bucket" sap_hana_sid = "HA1" sap_hana_instance_number = 00 sap_hana_sidadm_password = "TempPa55word" sap_hana_system_password = "TempPa55word" # ... 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" enable_fast_restart = true # ... }
SLES
# ... 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-sp3-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-c" # ... sap_hana_deployment_bucket = "my-hana-bucket" sap_hana_sid = "HA1" sap_hana_instance_number = 00 sap_hana_sidadm_password = "TempPa55word" sap_hana_system_password = "TempPa55word" # ... 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" enable_fast_restart = true # ... }
-
L'opzione
Inizializza la directory di lavoro attuale e scarica Terraform plug-in del provider e file dei moduli 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 alcuna modifica alla directory di lavoro Terraform utilizza le copie memorizzate nella cache locale, anche selatest
è specificato nell'URLsource
.terraform init --upgrade
Facoltativamente, crea il piano di esecuzione Terraform:
terraform plan
Il comando
terraform plan
mostra le modifiche richieste dal tuo configurazione. Se salti questo passaggio,terraform apply
crea automaticamente un nuovo piano e ti chiede di approvarlo.Applica il piano di esecuzione:
terraform apply
Quando ti viene chiesto di approvare le azioni, inserisci
yes
.Il comando
terraform apply
configura l'infrastruttura di Google Cloud e poi passa il controllo a uno script che configura il cluster ad alta disponibilità installa SAP HANA in base agli argomenti definiti in Terraform di configurazione del deployment.Anche se Terraform ha il controllo, i messaggi di stato 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.
Verifica del 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 SAP HANA
- Controllo della configurazione del cluster in corso...
- Controllo del bilanciatore del carico e dell'integrità dei gruppi di istanze
- Controllo del sistema SAP HANA utilizzando SAP HANA Studio
- Esecuzione di un test di failover
Controlla i log
Nella console Google Cloud, apri Cloud Logging per monitorare l'installazione progressi e verificare la presenza di errori.
Filtra i log:
Esplora log
Nella pagina Esplora log, vai al riquadro Query.
Nel menu a discesa Risorsa, seleziona Globale, quindi fai clic su Aggiungi.
Se non vedi l'opzione Globale, nell'editor query inserisci la seguente query:
resource.type="global" "Deployment"
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.
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:
Nella piattaforma IAM e Amministratore Quote aumenta le quote che non soddisfano I requisiti SAP HANA elencati nella Guida alla pianificazione di SAP HANA.
Apri Cloud Shell.
Vai alla directory di lavoro ed elimina il deployment per pulire le VM e i dischi permanenti dell'installazione non riuscita:
terraform destroy
Quando ti viene chiesto di approvare l'azione, inserisci
yes
.Esegui di nuovo il deployment.
- Se viene visualizzato
Controlla la configurazione della VM e l'installazione di SAP HANA
Una volta eseguito il deployment del sistema SAP HANA senza errori, connettiti a ogni VM tramite utilizzando SSH. Dalla pagina Istanze VM di Compute Engine: puoi fare clic sul pulsante SSH per ogni istanza VM oppure utilizzare metodo SSH preferito.
Passa all'utente root.
sudo su -
Al prompt dei comandi, inserisci
df -h
. Assicurati di vedere un output che include le directory/hana
, ad esempio/hana/data
.RHEL
[root@example-ha-vm1 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 126G 0 126G 0% /dev tmpfs 126G 54M 126G 1% /dev/shm tmpfs 126G 25M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda2 30G 5.4G 25G 18% / /dev/sda1 200M 6.9M 193M 4% /boot/efi /dev/mapper/vg_hana-shared 251G 52G 200G 21% /hana/shared /dev/mapper/vg_hana-sap 32G 477M 32G 2% /usr/sap /dev/mapper/vg_hana-data 426G 9.8G 417G 3% /hana/data /dev/mapper/vg_hana-log 125G 7.0G 118G 6% /hana/log /dev/mapper/vg_hanabackup-backup 512G 9.3G 503G 2% /hanabackup tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/899 tmpfs 26G 0 26G 0% /run/user/1003
SLES
example-ha-vm1:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 126G 8.0K 126G 1% /dev tmpfs 189G 54M 189G 1% /dev/shm tmpfs 126G 34M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 30G 5.4G 25G 18% / /dev/sda2 20M 2.9M 18M 15% /boot/efi /dev/mapper/vg_hana-shared 251G 50G 202G 20% /hana/shared /dev/mapper/vg_hana-sap 32G 281M 32G 1% /usr/sap /dev/mapper/vg_hana-data 426G 8.0G 418G 2% /hana/data /dev/mapper/vg_hana-log 125G 4.3G 121G 4% /hana/log /dev/mapper/vg_hanabackup-backup 512G 6.4G 506G 2% /hanabackup tmpfs 26G 0 26G 0% /run/user/473 tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/0 tmpfs 26G 0 26G 0% /run/user/1003
Controlla lo stato del nuovo cluster inserendo il comando status specifico per il tuo sistema operativo:
RHEL
pcs status
SLES
crm status
Dovresti vedere risultati simili all'esempio seguente, in cui vengono avviate entrambe le istanze VM e
example-ha-vm1
è attivo istanza principale:RHEL
[root@example-ha-vm1 ~]# pcs status Cluster name: hacluster Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.4-4b1f869f0f) - partition with quorum * Last updated: Wed Jul 7 23:05:11 2021 * Last change: Wed Jul 7 23:04:43 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * Resource Group: g-primary: * rsc_healthcheck_HA1 (service:haproxy): Started example-ha-vm2 * rsc_vip_HA1_00 (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ] Failed Resource Actions: * rsc_healthcheck_HA1_start_0 on example-ha-vm1 'error' (1): call=29, status='complete', exitreason='', last-rc-change='2021-07-07 21:07:35Z', queued=0ms, exec=2097ms * SAPHana_HA1_00_monitor_61000 on example-ha-vm1 'not running' (7): call=44, status='complete', exitreason='', last-rc-change='2021-07-07 21:09:49Z', queued=0ms, exec=0ms Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
SLES
example-ha-vm1:~ # crm status Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Wed Jul 7 22:57:59 2021 * Last change: Wed Jul 7 22:57:03 2021 by root via crm_attribute on example-ha-vm1 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * 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-vm2 ] * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable): * Masters: [ example-ha-vm1 ] * Slaves: [ example-ha-vm2 ]
Passa all'utente amministratore SAP sostituendo SID_LC nel seguente con il valore
sap_hana_sid
specificato nell'elementosap_hana_ha.tf
. Il valore SID_LC deve essere in minuscolo.su - SID_LCadm
Assicurati che i servizi SAP HANA, come
hdbnameserver
,hdbindexserver
e altri sono in esecuzione sull'istanza inserendo il seguente comando:HDB info
Se utilizzi RHEL per SAP 9.0 o versioni successive, assicurati che i pacchetti
chkconfig
ecompat-openssl11
sono installati sulla tua istanza VM.Per ulteriori informazioni da SAP, vedi SAP Note 3108316 - Red Hat Enterprise Linux 9.x: Installazione e configurazione .
Controlla la configurazione del cluster
Controlla le impostazioni dei parametri del cluster. Controlla entrambe le impostazioni visualizzato dal software del cluster e le impostazioni dei parametri nel cluster di configurazione del deployment. Confronta le tue impostazioni con quelle degli esempi qui sotto, creati dagli script di automazione utilizzati in questa guida.
Fai clic sulla scheda relativa al tuo sistema operativo.
RHEL
Visualizza le configurazioni delle risorse del cluster:
pcs config show
L'esempio seguente mostra le configurazioni di risorse vengono creati dagli script di automazione su RHEL 8.1 e versioni successive.
Se esegui RHEL 7.7 o versioni precedenti, la definizione della risorsa
Clone: SAPHana_HA1_00-clone
non includeMeta Attrs: promotable=true
.Cluster Name: hacluster Corosync Nodes: example-rha-vm1 example-rha-vm2 Pacemaker Nodes: example-rha-vm1 example-rha-vm2 Resources: Group: g-primary Resource: rsc_healthcheck_HA1 (class=service type=haproxy) Operations: monitor interval=10s timeout=20s (rsc_healthcheck_HA1-monitor-interval-10s) start interval=0s timeout=100 (rsc_healthcheck_HA1-start-interval-0s) stop interval=0s timeout=100 (rsc_healthcheck_HA1-stop-interval-0s) Resource: rsc_vip_HA1_00 (class=ocf provider=heartbeat type=IPaddr2) Attributes: cidr_netmask=32 ip=10.128.15.100 nic=eth0 Operations: monitor interval=3600s timeout=60s (rsc_vip_HA1_00-monitor-interval-3600s) start interval=0s timeout=20s (rsc_vip_HA1_00-start-interval-0s) stop interval=0s timeout=20s (rsc_vip_HA1_00-stop-interval-0s) Clone: SAPHanaTopology_HA1_00-clone Meta Attrs: clone-max=2 clone-node-max=1 interleave=true Resource: SAPHanaTopology_HA1_00 (class=ocf provider=heartbeat type=SAPHanaTopology) Attributes: InstanceNumber=00 SID=HA1 Operations: methods interval=0s timeout=5 (SAPHanaTopology_HA1_00-methods-interval-0s) monitor interval=10 timeout=600 (SAPHanaTopology_HA1_00-monitor-interval-10) reload interval=0s timeout=5 (SAPHanaTopology_HA1_00-reload-interval-0s) start interval=0s timeout=600 (SAPHanaTopology_HA1_00-start-interval-0s) stop interval=0s timeout=300 (SAPHanaTopology_HA1_00-stop-interval-0s) Clone: SAPHana_HA1_00-clone Meta Attrs: promotable=true Resource: SAPHana_HA1_00 (class=ocf provider=heartbeat type=SAPHana) Attributes: AUTOMATED_REGISTER=true DUPLICATE_PRIMARY_TIMEOUT=7200 InstanceNumber=00 PREFER_SITE_TAKEOVER=true SID=HA1 Meta Attrs: clone-max=2 clone-node-max=1 interleave=true notify=true Operations: demote interval=0s timeout=3600 (SAPHana_HA1_00-demote-interval-0s) methods interval=0s timeout=5 (SAPHana_HA1_00-methods-interval-0s) monitor interval=61 role=Slave timeout=700 (SAPHana_HA1_00-monitor-interval-61) monitor interval=59 role=Master timeout=700 (SAPHana_HA1_00-monitor-interval-59) promote interval=0s timeout=3600 (SAPHana_HA1_00-promote-interval-0s) reload interval=0s timeout=5 (SAPHana_HA1_00-reload-interval-0s) start interval=0s timeout=3600 (SAPHana_HA1_00-start-interval-0s) stop interval=0s timeout=3600 (SAPHana_HA1_00-stop-interval-0s) Stonith Devices: Resource: STONITH-example-rha-vm1 (class=stonith type=fence_gce) Attributes: pcmk_delay_max=30 pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm1 project=example-project-123456 zone=us-central1-a Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm1-monitor-interval-300s) start interval=0 timeout=60s (STONITH-example-rha-vm1-start-interval-0) Resource: STONITH-example-rha-vm2 (class=stonith type=fence_gce) Attributes: pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm2 project=example-project-123456 zone=us-central1-c Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm2-monitor-interval-300s) start interval=0 timeout=60s (STONITH-example-rha-vm2-start-interval-0) Fencing Levels: Location Constraints: Resource: STONITH-example-rha-vm1 Disabled on: example-rha-vm1 (score:-INFINITY) (id:location-STONITH-example-rha-vm1-example-rha-vm1--INFINITY) Resource: STONITH-example-rha-vm2 Disabled on: example-rha-vm2 (score:-INFINITY) (id:location-STONITH-example-rha-vm2-example-rha-vm2--INFINITY) Ordering Constraints: start SAPHanaTopology_HA1_00-clone then start SAPHana_HA1_00-clone (kind:Mandatory) (non-symmetrical) (id:order-SAPHanaTopology_HA1_00-clone-SAPHana_HA1_00-clone-mandatory) Colocation Constraints: g-primary with SAPHana_HA1_00-clone (score:4000) (rsc-role:Started) (with-rsc-role:Master) (id:colocation-g-primary-SAPHana_HA1_00-clone-4000) Ticket Constraints: Alerts: No alerts defined Resources Defaults: migration-threshold=5000 resource-stickiness=1000 Operations Defaults: timeout=600s Cluster Properties: cluster-infrastructure: corosync cluster-name: hacluster dc-version: 2.0.2-3.el8_1.2-744a30d655 have-watchdog: false stonith-enabled: true stonith-timeout: 300s Quorum: Options:
Visualizza il file di configurazione del cluster,
corosync.conf
:cat /etc/corosync/corosync.conf
L'esempio seguente mostra i parametri utilizzati dagli script di automazione impostato per RHEL 8.1 e versioni successive.
Se utilizzi RHEL 7.7 o versioni precedenti, il valore di
transport:
èudpu
anzichéknet
:totem { version: 2 cluster_name: hacluster transport: knet join: 60 max_messages: 20 token: 20000 token_retransmits_before_loss_const: 10 crypto_cipher: aes256 crypto_hash: sha256 } nodelist { node { ring0_addr: example-rha-vm1 name: example-rha-vm1 nodeid: 1 } node { ring0_addr: example-rha-vm2 name: example-rha-vm2 nodeid: 2 } } quorum { provider: corosync_votequorum two_node: 1 } logging { to_logfile: yes logfile: /var/log/cluster/corosync.log to_syslog: yes timestamp: on }
SLES
Visualizza le configurazioni delle risorse del cluster:
crm config show
Gli script di automazione utilizzati da questa guida creano la risorsa configurazioni mostrate nell'esempio seguente:
node 1: example-ha-vm1 \ attributes hana_ha1_op_mode=logreplay lpa_ha1_lpt=1635380335 hana_ha1_srmode=syncmem hana_ha1_vhost=example-ha-vm1 hana_ha1_remoteHost=example-ha-vm2 hana_ha1_site=example-ha-vm1 node 2: example-ha-vm2 \ attributes lpa_ha1_lpt=30 hana_ha1_op_mode=logreplay hana_ha1_vhost=example-ha-vm2 hana_ha1_site=example-ha-vm2 hana_ha1_srmode=syncmem hana_ha1_remoteHost=example-ha-vm1 primitive STONITH-example-ha-vm1 stonith:fence_gce \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ 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 primitive STONITH-example-ha-vm2 sstonith:fence_gce \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params port=example-ha-vm2 zone="us-central1-c" project="example-project-123456" pcmk_reboot_timeout=300 pcmk_monitor_retries=4 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:SAPHana \ operations $id=rsc_sap_HA1_HDB00-operations \ 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 primitive rsc_vip_int-primary IPaddr2 \ params ip=10.128.15.101 cidr_netmask=32 nic=eth0 \ op monitor interval=3600s timeout=60s group g-primary rsc_vip_int-primary rsc_vip_hc-primary ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \ meta notify=true clone-max=2 clone-node-max=1 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-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2 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 cib-bootstrap-options: \ have-watchdog=false \ dc-version="1.1.24+20210811.f5abda0ee-3.18.1-1.1.24+20210811.f5abda0ee" \ cluster-infrastructure=corosync \ cluster-name=hacluster \ maintenance-mode=false \ stonith-timeout=300s \ stonith-enabled=true rsc_defaults rsc-options: \ resource-stickiness=1000 \ migration-threshold=5000 op_defaults op-options: \ timeout=600
Visualizza il file di configurazione del cluster,
corosync.conf
:cat /etc/corosync/corosync.conf
Gli script di automazione utilizzati in questa guida specificano 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.128.1.63 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 } } nodelist { node { ring0_addr: example-ha-vm1 nodeid: 1 } node { ring0_addr: example-ha-vm2 nodeid: 2 } } quorum { provider: corosync_votequorum expected_votes: 2 two_node: 1 }
Controlla il bilanciatore del carico e l'integrità dei gruppi di istanze
Per confermare 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.
Apri la pagina Bilanciamento del carico nella console Google Cloud:
Nell'elenco dei bilanciatori del carico, verifica che sia stato eseguito creato per il tuo cluster ad alta disponibilità.
Nella pagina Dettagli bilanciatore del carico della colonna Stato integro in Gruppo di istanze nella sezione Backend, verifica che uno dei gruppi di istanze mostra "1/1" e l'altro mostra "0/1". Dopo un failover, l'indicatore stato integro, "1/1", passa al nuovo gruppo di istanze attive.
Controlla il sistema SAP HANA utilizzando SAP HANA Studio
Puoi utilizzare SAP HANA Cockpit o SAP HANA Studio per monitorare gestire i sistemi SAP HANA in un cluster ad alta disponibilità.
Connettiti al sistema HANA utilizzando SAP HANA Studio. Quando definisci connessione specifica, 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 filesap_hana_ha.tf
.
Per informazioni da SAP sull'installazione di SAP HANA Studio, vedi Guida all'installazione e all'aggiornamento di SAP HANA Studio.
Dopo aver collegato SAP HANA Studio al tuo sistema HANA HA, visualizza la panoramica del sistema facendo doppio clic sul nome del sistema nel riquadro di navigazione sul lato sinistro della finestra.
Nella sezione Informazioni generali della scheda Panoramica, verifica quanto segue:
- Lo stato operativo mostra "Tutti i servizi avviati".
- Lo stato di replica del sistema mostra "Tutti i servizi sono attivi e sincronizzati".
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.
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:
Risolvi gli eventuali errori per assicurarti che il deployment non fallisca di nuovo per lo stesso motivo. Per informazioni su come controllare i log o risolvere la quota errori correlati, consulta Controlla i log.
Apri Cloud Shell o, se hai installato Google Cloud CLI sul tuo quindi apri un terminale.
Vai alla directory che contiene il file di configurazione di Terraform usati per questo deployment.
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
.Riprova a eseguire il deployment come indicato in precedenza in questa guida.
Esegui un test di failover
Per eseguire un test di failover, completa i seguenti passaggi:
Connettiti alla VM principale tramite SSH. Puoi connetterti dal Pagina delle istanze VM di Compute Engine facendo clic sul pulsante SSH per ogni istanza VM oppure puoi utilizzare metodo SSH preferito.
Al prompt dei comandi, inserisci il seguente comando:
sudo ip link set eth0 down
Il comando
ip link set eth0 down
attiva un failover tramite il routing le comunicazioni con l'host principale.Riconnettiti a uno dei due host tramite SSH e passa all'utente root.
Verifica che l'host principale sia ora attivo sulla VM che conteneva l'host secondario. Il riavvio automatico è abilitato in cluster, quindi l'host arrestato si riavvierà e assumerà il ruolo di .
RHEL
pcs status
SLES
crm status
I seguenti esempi mostrano che i ruoli su ciascun host sono cambiati.
RHEL
[root@example-ha-vm1 ~]# pcs status Cluster name: hacluster Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.3-4b1f869f0f) - partition with quorum * Last updated: Fri Mar 19 21:22:07 2021 * Last change: Fri Mar 19 21:21:28 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * Resource Group: g-primary: * rsc_healthcheck_HA1 (service:haproxy): Started example-ha-vm2 * rsc_vip_HA1_00 (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ]
SLES
example-ha-vm2:~ # Cluster Summary: * Stack: corosync * Current DC: example-ha-vm2 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Thu Jul 8 17:33:44 2021 * Last change: Thu Jul 8 17:33:07 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * 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-vm2 ] * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ]
Nella pagina Dettagli bilanciatore del carico della console, verifica che la nuova istanza principale attiva mostra "1/1" nella colonna Stato integro. Aggiorna della pagina, se necessario.
Ad esempio:
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.
Fai clic sul link Stato replica di sistema per confermare che l'istanza principale e gli host secondari hanno cambiato host e sono attivi.
Convalida l'installazione dell'agente di Google Cloud per SAP
Dopo aver eseguito il deployment di una VM e installato il sistema SAP, verifica che L'agente Google Cloud per SAP funziona correttamente.
Verifica che l'agente Google Cloud per SAP sia in esecuzione
Per verificare che l'agente sia in esecuzione, segui questi passaggi:
Stabilisci una connessione SSH di un'istanza VM host.
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:
- Nel sistema SAP, inserisci la transazione
ST06
. Nel riquadro Panoramica, verifica la disponibilità e il contenuto i seguenti campi per la corretta configurazione end-to-end di SAP e di Google dell'infrastruttura di monitoraggio:
- Provider cloud:
Google Cloud Platform
- Accesso a monitoraggio avanzato:
TRUE
- Dettagli sul monitoraggio avanzato:
ACTIVE
- Provider cloud:
Configura il monitoraggio per SAP HANA
Facoltativamente, puoi monitorare le istanze SAP HANA utilizzando 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 consente di creare dashboard per visualizzare queste metriche, configurare avvisi basati su soglie delle metriche e altro ancora.
Per monitorare un cluster ad alta disponibilità utilizzando l'agente di Google Cloud per SAP, assicurati di seguire le guida fornita in Configurazione ad alta disponibilità per l'agente.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, installare SAP HANA Studio manualmente e accedere al tuo database SAP HANA.
Configura HANA attiva/attiva (lettura abilitata)
A partire da SAP HANA 2.0 SPS1, puoi configurare HANA Active/Active (Read Enabled) in un cluster Pacemaker. Per istruzioni, vedi:
- Configura HANA attive/attive (lettura abilitata) in un cluster SUSE Pacemaker
- Configura HANA attive/attive (con lettura abilitata) in un cluster Red Hat Pacemaker
Esecuzione di attività post-deployment
Prima di utilizzare la tua istanza SAP HANA, ti consigliamo di eseguire le seguenti operazioni passaggi post-deployment. Per ulteriori informazioni, consulta l'articolo sull'installazione e sull'uso di SAP HANA Aggiorna la guida.
Cambiare le password temporanee per l'amministratore di sistema SAP HANA e super user del database.
Aggiorna il software SAP HANA con le patch più recenti.
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 su1048576
. Questa modifica consente di migliorare la velocità effettiva di rete complessiva su VirtIO senza influire sulla latenza di rete.Installa componenti aggiuntivi, come le librerie delle funzioni delle applicazioni (AFL) o Smart Data Access (SDA).
Configura ed esegui il backup del tuo nuovo database SAP HANA. Per ulteriori informazioni, vedi la guida alle operazioni di SAP HANA.
Valuta il 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.
Gestore carichi di lavoro consente di analizzare e valutare automaticamente l'alta disponibilità SAP HANA carichi di lavoro con le best practice di fornitori SAP, Google Cloud e sistemi operativi. Ciò consente di migliorare la qualità, le prestazioni e l'affidabilità dei carichi di lavoro.
Per informazioni sulle best practice utilizzate da Workload Manager 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 tramite Gestore carichi di lavoro, vedi Crea ed esegui una valutazione.
Passaggi successivi
- Per ulteriori informazioni sull'amministrazione e il monitoraggio delle VM, consulta Guida alle operazioni di SAP HANA.