Questa guida mostra come automatizzare il deployment di un sistema SAP HANA scalabile in un cluster SUSE Linux Enterprise Server (SLES) ad alta disponibilità (HA) 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 principale attivo e l'altro come sistema secondario in standby. Esegui il deployment di entrambi i sistemi SAP HANA all'interno della stessa regione, idealmente in zone diverse.
Il cluster di cui è stato eseguito il deployment include le seguenti funzioni e funzionalità:
- Il gestore delle risorse del cluster ad alta disponibilità Pacemaker.
- Un meccanismo di recinzione di Google Cloud.
- Un indirizzo IP virtuale (VIP) che utilizza un'implementazione di bilanciatore del carico TCP interno di livello 4, tra cui:
- Una prenotazione dell'indirizzo IP selezionato per il VIP.
- Due gruppi di istanze Compute Engine.
- Un bilanciatore del carico interno TCP.
- Un controllo di integrità Compute Engine.
- Il pattern di 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 SAP HANA esperti che hanno familiarità con le configurazioni ad alta disponibilità di Linux per SAP HANA.
Prerequisiti
Prima di creare il cluster SAP HANA ad alta disponibilità, assicurati che siano soddisfatti i seguenti prerequisiti:
- Hai letto la guida alla pianificazione di SAP HANA e la guida alla pianificazione dell'alta disponibilità di SAP HANA.
- Tu o la tua organizzazione disponete di un account Google Cloud e avete creato un progetto per il deployment di SAP HANA. Per informazioni sulla creazione di account e progetti Google Cloud, consulta Configurare l'Account Google.
- Se vuoi che il tuo carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, controllo dell'accesso, il personale di assistenza o i requisiti normativi, devi creare la cartella Assured Workloads richiesta. Per ulteriori informazioni, consulta Controlli di conformità e sovranità per SAP su Google Cloud.
I media di installazione di SAP HANA sono archiviati in un bucket Cloud Storage disponibile nel progetto e nella regione di deployment. Per informazioni su come caricare i media di installazione di SAP HANA in un bucket Cloud Storage, consulta Creare un bucket Cloud Storage per i file di installazione di SAP HANA.
Se OS Login è abilitato nei metadati del progetto, devi disattivarlo temporaneamente fino al completamento del deployment. Ai fini del deployment, questa procedura configura le chiavi SSH nei metadati dell'istanza. Quando l'accesso al sistema operativo è abilitato, le configurazioni delle chiavi SSH basate su metadati vengono disabilitate e questo deployment non va a buon fine. Al termine del deployment, puoi riattivare l'accesso al sistema operativo.
Per ulteriori informazioni, vedi:
Se utilizzi il DNS interno della VPC, il valore della variabile
vmDnsSetting
nei metadati del progetto Google Cloud deve essereGlobalDefault
oZonalPreferred
per attivare la risoluzione dei nomi dei nodi nelle varie 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 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 in genere richiedono l'accesso a internet per scaricare l'agente di Google Cloud per SAP. Se utilizzi una delle immagini Linux certificate da SAP disponibili su Google Cloud, l'istanza VM richiede anche l'accesso a internet per registrare la licenza e accedere ai repository del fornitore del sistema operativo. Una configurazione con un gateway NAT e con i tag di rete VM supporta questo accesso, anche se le VM di destinazione non hanno IP esterni.
Per creare una rete VPC per il tuo progetto, completa i seguenti passaggi:
-
Crea una rete in modalità personalizzata. Per saperne di più, consulta Creare una rete in modalità personalizzata.
-
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 Network Address Translation (NAT) per consentire alle VM di accedere a internet. Utilizza Cloud NAT, un servizio gestito software-defined distribuito di Google Cloud che consente alle VM di inviare pacchetti in uscita a internet e di ricevere eventuali pacchetti di risposta in entrata stabiliti corrispondenti. In alternativa, puoi configurare una VM separata come gateway NAT.
Per creare un'istanza Cloud NAT per il 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, potresti dover isolare o limitare in altro modo la connettività all'host del database, cosa che puoi fare creando regole firewall.
A seconda dello scenario, puoi creare regole firewall per consentire l'accesso per:
- Le porte SAP predefinite elencate in TCP/IP di tutti i prodotti SAP.
- Connessioni dal tuo computer o dall'ambiente di rete aziendale all'istanza VM Compute Engine. Se hai dubbi su quale indirizzo IP utilizzare, rivolgiti 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 istruzioni riportate di seguito utilizzano un file di configurazione Terraform per creare un cluster SLES con due sistemi SAP HANA, un sistema SAP HANA principale e un sistema SAP HANA secondario o di riserva nella stessa regione 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.
Verifica che le quote attuali per risorse come i dischi permanenti e le CPU siano sufficienti per i sistemi SAP HANA che stai per installare. Se le quote non sono sufficienti, il deployment non va a buon fine.
Per i requisiti delle quote SAP HANA, consulta Considerazioni su prezzi e quote per SAP HANA.
Apri Cloud Shell o il terminale locale.
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.tfApri 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.
Nel file
sap_hana_ha.tf
, aggiorna i valori degli argomenti sostituendo i contenuti tra 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'argomentosource
: una attiva e una inclusa come commento. L'argomentosource
attivo per impostazione predefinita specificalatest
come versione del modulo. La seconda istanza dell'argomentosource
, che per impostazione predefinita è disattivata da un carattere#
iniziale, specifica un timestamp che identifica una versione del modulo.Se vuoi che tutti i tuoi deployment utilizzino la stessa versione del modulo, rimuovi il carattere
#
iniziale dall'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 questo sistema. Ad esempio, my-project-x
.machine_type
Stringa Specifica il tipo di macchina virtuale (VM) Compute Engine su cui devi eseguire il 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. Al termine del deployment, modifica il numero di vCPU e la quantità di memoria. Ad esempio,
n1-highmem-32
.network
Stringa Specifica il nome della rete in cui devi creare il bilanciatore del carico che gestisce il VIP. Se utilizzi una rete VPC condivisa, devi aggiungere l'ID del progetto host come directory principale del nome della rete. Ad esempio,
HOST_PROJECT_ID/NETWORK_NAME
.subnetwork
Stringa Specifica il nome della sottorete creata in un passaggio precedente. Se effettui il deployment in un VPC condiviso, specifica questo valore come SHARED_VPC_PROJECT_ID/SUBNETWORK
. Ad esempio,myproject/network1
.linux_image
Stringa Specifica il nome dell'immagine del sistema operativo Linux 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 che hai specificato per l'argomento linux_image
. Questo progetto potrebbe essere il tuo progetto o un progetto di immagini Google Cloud. Per un'immagine Compute Engine, specificasuse-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 è dipiegato il 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. Il nome 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 Compute Engine che funge da originatore della maggioranza.
Questo argomento è disponibile nella versione
sap_hana_ha
del modulo202307270727
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 modulo202307270727
o successive.majority_maker_zone
Stringa Specifica una zona in cui è dispiegato l'istanza VM del creatore di maggioranza. Questa zona deve trovarsi nella stessa regione delle zone principale e secondaria. Ad esempio, us-east1-d
.Google Cloud consiglia di eseguire il deployment dell'istanza VM di maggioranze in una zona diversa da quella dei sistemi SAP HANA principali e secondari.
Questo argomento è disponibile nella versione
sap_hana_ha
del modulo202307270727
o successive.sap_hana_deployment_bucket
Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica il percorso del bucket Cloud Storage contenente i file di installazione di 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. Ad esempio, se specifichi
3
, vengono eseguiti il deployment di quattro istanze SAP HANA nel sistema di scalabilità sia nelle zone principali che in quelle secondarie.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 deve iniziare con una lettera. Tutte le lettere devono essere in maiuscolo. Ad esempio, ED1
.sap_hana_instance_number
Numero intero Facoltativo. Specifica il numero di istanza, da 0 a 99, del sistema SAP HANA. Il valore predefinito è 0
.sap_hana_sidadm_password
Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica una password SIDadm
temporanea 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 saperne di più, consulta Gestione delle password.
sap_hana_sidadm_password_secret
Stringa Facoltativo. Se utilizzi Secret Manager per archiviare la password SIDadm
, specifica il nome del segreto corrispondente a questa password.In Secret Manager, assicurati che il valore della chiave, ovvero la password, contenga almeno 8 caratteri e includa almeno una lettera maiuscola, una lettera minuscola e un numero.
Per saperne di più, consulta Gestione delle password.
sap_hana_system_password
Stringa Per installare automaticamente SAP HANA sulle VM di cui è stato eseguito il deployment, specifica una password temporanea per il superutente del database da utilizzare dagli 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 saperne di più, consulta Gestione delle password.
sap_hana_system_password_secret
Stringa Facoltativo. Se utilizzi Secret Manager per archiviare la password del superutente del database, specifica il nome del segreto corrispondente a questa password. In Secret Manager, assicurati che il valore della chiave, ovvero la password, contenga almeno 8 caratteri e includa almeno una lettera maiuscola, una lettera minuscola e un numero.
Per saperne di più, consulta Gestione delle password.
sap_hana_double_volume_size
Booleano Facoltativo. Per raddoppiare le dimensioni del volume HANA, specifica true
. Questo argomento è utile quando vuoi eseguire il deployment di più istanze SAP HANA o di un'istanza SAP HANA di ripristino di emergenza sulla stessa VM. Per impostazione predefinita, le dimensioni del volume vengono calcolate automaticamente in base alle dimensioni minime richieste per la VM, soddisfacendo al contempo i requisiti di certificazione e assistenza SAP. Il valore predefinito èfalse
.sap_hana_backup_size
Numero intero Facoltativo. Specifica le dimensioni del volume /hanabackup
in GB. Se non specifichi questo argomento o lo imposti su0
, lo script di installazione esegue il provisioning dell'istanza Compute Engine con un volume di backup HANA 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 impostare un valore diverso per garantire la coerenza all'interno del tuo panorama SAP.sap_hana_sapsys_gid
Numero intero Facoltativo. Sostituisce l'ID gruppo predefinito per sapsys
. Il valore predefinito è79
.sap_vip
Stringa Specifica l'indirizzo IP che utilizzerai per il VIP. L' indirizzo IP deve rientrare nell'intervallo di indirizzi IP assegnati 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 il nodo 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. 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 virgola da associare alle tue istanze VM a fini 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
oVIRTIO_NET
. Per utilizzare una scheda di rete virtuale Google (gVNIC), devi specificare un'immagine del sistema operativo che supporti gVNIC come valore per l'argomentolinux_image
. Per l'elenco delle immagini del sistema operativo, consulta Dettagli del sistema operativo.Se non specifichi un valore per questo argomento, l'interfaccia di rete viene selezionata automaticamente in base al tipo di macchina specificato per l'argomento
Questo argomento è disponibile nella versione del modulomachine_type
.sap_hana
202302060649
o successive.disk_type
Stringa Facoltativo. Specifica il tipo predefinito di volume Hyperdisk o Persistent Disk che vuoi implementare per i volumi di dati e log SAP nel tuo deployment. Per informazioni sul deployment predefinito del disco eseguito dalle configurazioni Terraform fornite da Google Cloud, consulta Deployment del disco da parte di Terraform. Di seguito sono riportati i valori validi per questo argomento:
pd-ssd
,pd-balanced
,hyperdisk-extreme
,hyperdisk-balanced
, epd-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, della dimensione del disco predefinita e delle IOPS predefinite associate utilizzando alcuni argomenti avanzati. 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
, che indica a Terraform di eseguire 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 volumi SAP sullo stesso disco permanente o Hyperdisk, specificatrue
.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 nella versione
1.3.674800406
o successive del modulosap_hana_ha
.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'argomento
backup_disk_type
. Le dimensioni di questo disco sono determinate dall'argomentosap_hana_backup_size
.Se imposti il valore di
include_backup_disk
sufalse
, non viene disegnato alcun disco per la directory/hanabackup
.enable_fast_restart
Booleano Facoltativo. Questo parametro determina se l'opzione di riavvio rapido SAP HANA è attivata o meno per il 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.202309280828
public_ip
Booleano Facoltativo. Determina se un indirizzo IP pubblico viene aggiunto o meno all'istanza VM. Il valore predefinito è true
.service_account
Stringa Facoltativo. Specifica l'indirizzo email di un account di servizio gestito dall'utente da utilizzare dalle VM host e dai programmi in esecuzione sulle VM host. Ad esempio, svc-acct-name@project-id.iam.gserviceaccount.com
.Se specifichi questo argomento senza un valore o lo ometti, lo script di installazione utilizza l'account di 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 lassistenza clienti Google 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 prenotazione 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 sutrue
o, nella console Google Cloud, è selezionata l'opzione Seleziona una prenotazione specifica. -
Alcuni tipi di macchine Compute Engine supportano piattaforme CPU non coperte dalla certificazione SAP del 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 Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-megamem-96
: Intel Skylake
Le piattaforme CPU minime per tutti gli altri tipi di macchine certificate da SAP per l'utilizzo su Google Cloud sono conformi al requisito minimo della CPU di SAP.
secondary_reservation_name
Stringa Facoltativo. Per utilizzare una prenotazione VM Compute Engine specifica per il provisioning dell'istanza VM che ospita l'istanza SAP HANA secondaria del tuo cluster HA, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi prenotazione 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 sutrue
o, nella console Google Cloud, è selezionata l'opzione Seleziona una prenotazione specifica. -
Alcuni tipi di macchine Compute Engine supportano piattaforme CPU non coperte dalla certificazione SAP del 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 Broadwelln1-highmem-64
: Intel Broadwelln1-highmem-96
: Intel Skylakem1-megamem-96
: Intel Skylake
Le piattaforme CPU minime per tutti gli altri tipi di macchine certificate da SAP per l'utilizzo su Google Cloud sono conformi al requisito minimo della CPU di SAP.
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 modulo202306120959
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, verrà generato automaticamente un indirizzo IP per l'istanza VM. Ad esempio, 128.11.11.11
.Questo argomento è disponibile nella versione
sap_hana_ha
del modulo202306120959
o successive.primary_worker_static_ips
Elenco(Stringa) Facoltativo. Specifica un array di indirizzi IP statici validi per le istanze worker nell'istanza principale del sistema SAP HANA HA scalabile. Se non specifichi un valore per questo argomento, viene generato automaticamente un indirizzo IP per ogni istanza VM worker. Ad esempio, [ "1.0.0.1", "2.3.3.4" ]
.Gli indirizzi IP statici vengono assegnati nell'ordine di creazione delle istanze. Per esempio, se scegli di eseguire il deployment di 3 istanze di worker, ma specifichi solo 2 indirizzi IP per l'argomento
primary_worker_static_ips
, questi indirizzi IP vengono assegnati alle prime due istanze VM di cui viene eseguito il deployment dalla configurazione Terraform. Per la terza istanza VM worker, l'indirizzo IP viene generato automaticamente.Questo argomento è disponibile nella versione
sap_hana_ha
del modulo202307270727
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 generato automaticamente un indirizzo IP 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 delle istanze. Per esempio, se scegli di eseguire il deployment di 3 istanze di worker, ma specifichi solo 2 indirizzi IP per l'argomento
secondary_worker_static_ips
, questi indirizzi IP vengono assegnati alle prime due istanze VM di cui viene eseguito il deployment dalla configurazione Terraform. Per la terza istanza VM worker, l'indirizzo IP viene generato automaticamente.Questo argomento è disponibile nella versione
sap_hana_ha
del modulo202307270727
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 i bilanciatori del carico interni di Google solo per gestire gli IP virtuali per le VM di cui è stato eseguito il deployment, 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. Il cluster utilizza un bilanciatore del carico di rete passthrough interno per gestire il VIP.
Terraform esegue il deployment delle risorse Google Cloud definite nel file di configurazione, dopodiché gli script prendono il controllo per configurare il sistema operativo, installare SAP HANA, configurare la replica e configurare il cluster Linux HA.
Per chiarezza, i commenti nella configurazione di esempio riportata di seguito 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 # ... }
-
L'opzione
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 comandi Terraform.Per forzare l'aggiornamento del plug-in del provider e dei file di configurazione nella directory di lavoro, specifica il flag
--upgrade
. Se il flag--upgrade
viene omesso e non apporti modifiche alla directory di lavoro, Terraform utilizza le copie memorizzate nella cache locale, anche selatest
è specificato nell'URLsource
.terraform init --upgrade
Se vuoi, crea il piano di esecuzione Terraform:
terraform plan
Il comando
terraform plan
mostra le modifiche richieste dalla configurazione attuale. Se salti questo passaggio, il comandoterraform 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 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.Mentre Terraform ha il controllo, i messaggi di stato vengono scritti 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.
Verificare il deployment del sistema HANA HA
La verifica di un cluster SAP HANA HA prevede diverse procedure:
- Controllo del logging
- Controllo della configurazione della VM e dell'installazione di SAP HANA
- Controllo della configurazione del cluster
- Controllare il bilanciatore del carico e l'integrità dei gruppi di istanze
- Controllo del sistema SAP HANA utilizzando SAP HANA Studio
- Eseguire un test di failover
Controlla i log
Nella console Google Cloud, apri Cloud Logging per monitorare l'avanzamento dell'installazione 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 e poi fai clic su Aggiungi.
Se non vedi l'opzione Globale, nell'editor di query inserisci la seguente query:
resource.type="global" "Deployment"
Fai clic su Esegui query.
Visualizzatore log legacy
- Nella pagina Visualizzatore log legacy, seleziona Globale come risorsa di logging nel menu del selettore di base.
Analizza i log filtrati:
- Se viene visualizzato
"--- Finished"
, significa che l'elaborazione del deployment è completata e puoi procedere al passaggio successivo. Se viene visualizzato un errore relativo alla quota:
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.
Apri Cloud Shell.
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
.Esegui di nuovo il deployment.
- Se viene visualizzato
Controlla la configurazione della VM e dell'installazione di SAP HANA
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.
Passa all'utente root:
sudo su -
Al prompt dei comandi, inserisci:
df -h
L'output è simile al seguente esempio. Assicurati che l'output includa 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
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 vengono avviate le istanze VM nei sistemi SAP HANA principali e secondari e l'istanza di maggioranza.
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 \]
Passa all'utente amministratore SAP sostituendo SID_LC nel seguente comando con il valore
sap_hana_sid
specificato nel filesap_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, siano in esecuzione nell'istanza inserendo il seguente comando:HDB info
Controlla la configurazione del cluster
Dopo aver eseguito il deployment del cluster, devi controllare le impostazioni del parametro. 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 nell'esempio seguente, che è stato creato dagli script di automazione utilizzati in questa guida.
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
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:
Nella console Google Cloud, apri la pagina Bilanciamento del carico.
Nell'elenco dei bilanciatori del carico, verifica che sia stato creato un bilanciatore del carico per il cluster HA.
Nella pagina Dettagli del bilanciatore del carico, nella sezione Backend, nella colonna 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 corretto, 1 di 1, passa al nuovo gruppo di istanze attive.
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à.
Connettiti al sistema HANA utilizzando SAP HANA Studio. Quando definisci la connessione, specifica i seguenti valori:
- Nel riquadro Specifica sistema, specifica l'indirizzo IP dinamico come Nome host.
- Nel riquadro Proprietà connessione, per l'autenticazione utente del database,
specifica il nome del superutente del database e la password che hai specificato
per l'argomento
sap_hana_system_password
nel filesap_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.
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.
In Informazioni generali della scheda Panoramica, verifica quanto segue:
- In Stato operativo viene visualizzato
All services started
. - In Stato di replica del sistema viene visualizzato
All services are active and in sync
.
- In Stato operativo viene visualizzato
Conferma la modalità di replica facendo clic sul link Stato della replica del sistema nella sezione Informazioni generali. La replica sincrona è indicata da
SYNCMEM
nella colonna REPLICATION_MODE della scheda Sistema di replica.
Ripulisci e riprova a eseguire il deployment
Se uno dei passaggi di verifica del deployment nelle sezioni precedenti indica che l'installazione non è andata a buon fine, devi annullare il deployment e riprovare completando i seguenti passaggi:
Risolvi eventuali errori per assicurarti che il deployment non fallisca di nuovo per lo stesso motivo. Per informazioni su come controllare i log o risolvere gli errori relativi alla quota, consulta Controllare i log.
Apri Cloud Shell o, se hai installato Google Cloud CLI sulla tua workstation locale, apri un terminale.
Vai alla directory contenente il file di configurazione Terraform utilizzato per questo deployment.
Elimina tutte le risorse che fanno parte del deployment eseguendo il seguente comando:
terraform destroy
Quando ti viene chiesto di approvare l'azione, inserisci
yes
.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 istruzioni riportate di seguito utilizzano il comando ip link set eth0 down
per mettere offline l'interfaccia di rete. Questo comando convalida sia il failover sia il fencing.
Per eseguire un test di failover:
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.
Al prompt dei comandi, inserisci il seguente comando:
ip link set eth0 down
Il comando
ip link set eth0 down
attiva un failover interrompendo le comunicazioni con l'istanza SAP HANA principale.Connettiti a qualsiasi altro nodo del cluster tramite SSH e passa all'utente root.
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é il riavvio automatico è abilitato nel cluster, l'istanza interrotta si riavvia e assume il ruolo di istanza secondaria. L'esempio seguente mostra che i ruoli su ogni istanza SAP HANA sono stati scambiati:
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 \]
Nella console Google Cloud, nella pagina Dettagli del bilanciatore del carico, verifica che la nuova istanza principale attiva mostri 1 di 1 nella colonna Intatto. Aggiorna la pagina, se necessario.
Ad esempio, guarda l'immagine seguente:
In SAP HANA Studio, verifica di essere ancora connesso al sistema facendo clic due volte sulla voce del sistema nel riquadro di navigazione per aggiornare le informazioni del sistema.
Fai clic sul link Stato della replica di sistema per verificare che gli host principali e secondari siano stati scambiati e siano attivi.
Convalida l'installazione dell'agente di Google Cloud per SAP
Dopo aver eseguito il deployment dell'infrastruttura e installato il sistema SAP HANA, verifica che l'agente di Google Cloud per SAP funzioni correttamente.
Verificare che l'agente di Google Cloud per SAP sia in esecuzione
Per verificare che l'agente sia in esecuzione:
Stabilisci una connessione SSH con la tua istanza Compute Engine.
Esegui questo comando:
systemctl status google-cloud-sap-agent
Se l'agente funziona correttamente, l'output contiene
active (running)
. Ad esempio:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
Se l'agente non è in esecuzione, riavvialo.
Verificare che l'agente host SAP riceva le metriche
Per verificare che le metriche dell'infrastruttura vengano raccolte dall'agente di Google Cloud per SAP e inviate correttamente all'agente host SAP, segui questi passaggi:
- Nel sistema SAP, inserisci la transazione
ST06
. Nel riquadro di panoramica, controlla la disponibilità e i contenuti dei seguenti campi per la configurazione end-to-end corretta dell'infrastruttura di monitoraggio di SAP e Google:
- Fornitore cloud:
Google Cloud Platform
- Accesso al monitoraggio avanzato:
TRUE
- Dettagli sul monitoraggio avanzato:
ACTIVE
- Fornitore cloud:
Configurare 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 per raccogliere le metriche di monitoraggio di 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 di SAP HANA utilizzando l'agente di Google Cloud per SAP, consulta la 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 l'istanza bastione utilizzando SSH o tramite il server Windows tramite SAP HANA Studio.
Per connetterti a SAP HANA tramite l'istanza bastion, connettiti all'host bastion e poi alle istanze SAP HANA utilizzando un client SSH di tua scelta.
Per connetterti al database SAP HANA tramite SAP HANA Studio, utilizza un client desktop remoto per connetterti all'istanza Windows Server. Dopo la connessione, installa manualmente SAP HANA Studio e accedi al tuo database SAP HANA.
Configura HANA Active/Active (lettura abilitata)
A partire da SAP HANA 2.0 SPS1, puoi configurare HANA Active/Active (lettura abilitata) in un cluster Pacemaker. Per le istruzioni, consulta Configurare HANA Active/Active (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.
Modifica le password temporanee per l'amministratore di sistema SAP HANA e per il superutente del database.
Aggiorna il software SAP HANA con le patch più recenti.
Se il sistema SAP HANA è dipiegato su un'interfaccia di rete VirtIO, ti consigliamo di assicurarti che il valore del parametro TCP
/proc/sys/net/ipv4/tcp_limit_output_bytes
sia impostato su1048576
. Questa modifica contribuisce a migliorare la velocità effettiva complessiva della rete sull'interfaccia di rete VirtIO senza influire sulla latenza della rete.Installa eventuali componenti aggiuntivi come le librerie di funzioni per le applicazioni (AFL) o l'accesso ai dati intelligenti (SDA).
Configura e esegui il backup del nuovo database SAP HANA. Per ulteriori informazioni, consulta la guida alle operazioni di SAP HANA.
Valuta il tuo workload SAP HANA
Per automatizzare i controlli di convalida continua per i carichi di lavoro SAP HANA ad alta disponibilità in esecuzione su Google Cloud, puoi utilizzare Workload Manager.
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 supportate da Workload Manager per la valutazione dei carichi di lavoro SAP HANA ad alta disponibilità in esecuzione su Google Cloud, consulta le 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
- Per ulteriori informazioni sull'amministrazione e sul monitoraggio delle VM, consulta la Guida alle operazioni di SAP HANA.