Questa guida mostra come automatizzare il deployment di SAP HANA in un cluster ad alta disponibilità Red Hat Enterprise Linux (RHEL) o SUSE Linux Enterprise Server (SLES) che utilizza un bilanciatore del carico di rete passthrough interno per gestire l'indirizzo IP virtuale (VIP).
La guida utilizza Cloud Deployment Manager per eseguire il deployment di due macchine virtuali (VM) Compute Engine, 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 cluster ad alta disponibilità basato sul sistema operativo, il tutto secondo le best practice di Google Cloud, SAP e il fornitore del sistema operativo.
Per utilizzare Terraform per automatizzare il deployment di un cluster ad alta disponibilità per SAP HANA, consulta Terraform: guida alla configurazione dei cluster ad alta disponibilità SAP HANA.
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 nella stessa regione, idealmente in zone diverse.
Il cluster di cui è stato eseguito il deployment include le seguenti funzioni e caratteristiche:
- Il gestore delle risorse del cluster ad alta disponibilità di Pacemaker.
- Un meccanismo di recinzione di Google Cloud.
- Un IP virtuale (VIP) che utilizza l'implementazione del bilanciatore del carico interno TCP 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à di Compute Engine
- Nei cluster RHEL ad alta disponibilità:
- Lo schema dell'alta disponibilità di Red Hat
- Agente risorse Red Hat e pacchetti di scherma
- Nei cluster SLES ad alta disponibilità:
- Il modello ad alta disponibilità di SUSE.
- Il pacchetto agente risorse SUSE SAPHanaSR.
- Replica sincrona del sistema.
- Precaricamento memoria.
- Riavvio automatico dell'istanza non riuscita come nuova istanza secondaria.
Per eseguire il deployment di un sistema SAP HANA senza cluster Linux ad alta disponibilità o host in standby, consulta la guida al deployment di SAP HANA.
Questa guida è rivolta agli utenti SAP HANA avanzati che hanno familiarità con le configurazioni ad alta disponibilità Linux per SAP HANA.
Prerequisiti
Prima di creare il cluster ad alta disponibilità SAP HANA, assicurati che siano soddisfatti i prerequisiti seguenti:
- Aver letto la guida alla pianificazione di SAP HANA e la guida alla pianificazione dell'alta disponibilità di SAP HANA.
- Tu o la tua organizzazione disponete di un account Google Cloud e avete creato un progetto per il deployment di SAP HANA. Per informazioni sulla creazione di account e progetti Google Cloud, consulta Configurazione dell'Account Google nella guida al deployment di SAP HANA.
- Se richiedi che il carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, controllo dell'accesso, il personale di assistenza o i requisiti normativi, devi creare la cartella Assured Workloads richiesta. Per maggiori informazioni, consulta Conformità e controlli di sovranità per SAP su Google Cloud.
Il file multimediale di installazione SAP HANA è archiviato in un bucket Cloud Storage disponibile nel progetto di deployment e nella regione. Per informazioni su come caricare i file multimediali di installazione di SAP HANA in un bucket Cloud Storage, consulta Download di SAP HANA nella guida al deployment di SAP HANA.
Se OS Login è abilitato nei metadati del progetto, devi disabilitare temporaneamente OS Login fino al completamento del deployment. Ai fini del deployment, questa procedura configura le chiavi SSH nei metadati dell'istanza. Quando l'accesso al sistema operativo è abilitato, le configurazioni delle chiavi SSH basate su metadati vengono disabilitate e il deployment non riesce. Al termine del deployment, puoi abilitare di nuovo OS Login.
Per ulteriori informazioni, vedi:
Se utilizzi il DNS interno VPC, il valore della variabile
vmDnsSetting
nei metadati del progetto deve essereGlobalOnly
oZonalPreferred
per consentire la risoluzione dei nomi dei nodi nelle 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 tuo progetto ha una rete VPC predefinita, non utilizzarla. Crea invece la tua rete VPC in modo che le uniche regole firewall in vigore siano quelle create in modo esplicito.
Durante il deployment, le istanze VM richiedono in genere l'accesso a internet per scaricare l'agente Google Cloud per SAP. Se utilizzi una delle immagini Linux certificate SAP disponibili in Google Cloud, l'istanza VM richiede anche l'accesso a internet per registrare la licenza e accedere ai repository dei fornitori del sistema operativo. Una configurazione con un gateway NAT e con tag di rete VM supporta questo accesso, anche se le VM di destinazione non hanno IP esterni.
Per configurare il networking:
Console
- Nella console Google Cloud, vai alla pagina Reti VPC.
- Fai clic su Crea rete VPC.
- Inserisci un nome per la rete.
Il nome deve rispettare la convenzione di denominazione. Le reti VPC utilizzano la convenzione di denominazione di Compute Engine.
- In Modalità di creazione subnet, scegli Personalizzata.
- Nella sezione Nuova subnet, specifica i seguenti parametri di configurazione per una
subnet:
- Inserisci un nome per la subnet.
- In Regione, seleziona la regione di Compute Engine in cui vuoi creare la subnet.
- Per il tipo di stack IP, seleziona IPv4 (stack singolo), quindi inserisci un intervallo di indirizzi IP nel formato CIDR, ad esempio
10.1.0.0/24
.Questo è l'intervallo IPv4 principale per la subnet. Se prevedi di aggiungere più di una subnet, assegna intervalli IP CIDR non sovrapposti a ogni subnet nella rete. Tieni presente che ogni subnet e i relativi intervalli IP interni sono mappati a una singola regione.
- Fai clic su Fine.
- Per aggiungere altre subnet, fai clic su Aggiungi subnet e ripeti i passaggi precedenti. Puoi aggiungere altre subnet alla rete dopo averla creata.
- Fai clic su Crea.
gcloud
- Vai a Cloud Shell.
- Per creare una nuova rete in modalità subnet personalizzate, esegui:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
Sostituisci
NETWORK_NAME
con il nome della nuova rete. Il nome deve rispettare la convenzione di denominazione. Le reti VPC utilizzano la convenzione di denominazione di Compute Engine.Specifica
--subnet-mode custom
per evitare di utilizzare la modalità automatica predefinita, che crea automaticamente una subnet in ogni regione di Compute Engine. Per maggiori informazioni, consulta la sezione Modalità di creazione delle subnet. - Crea una subnet e specifica la regione e l'intervallo IP:
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
Sostituisci quanto segue:
SUBNETWORK_NAME
: il nome della nuova subnetNETWORK_NAME
: il nome della rete creata nel passaggio precedenteREGION
: la regione in cui vuoi che venga creata la subnetRANGE
: l'intervallo di indirizzi IP, specificato in formato CIDR, ad esempio10.1.0.0/24
Se prevedi di aggiungere più di una subnet, assegna intervalli IP CIDR non sovrapposti per ogni subnet nella rete. Tieni presente che ogni subnet e i relativi intervalli IP interni sono mappati a una singola regione.
- Facoltativamente, ripeti il passaggio precedente e aggiungi altre subnet.
Configurazione di un gateway NAT
Se devi creare una o più VM senza indirizzi IP pubblici, devi utilizzare Network Address Translation (NAT) per consentire alle VM di accedere a internet. Utilizza Cloud NAT, un servizio gestito software-defined e distribuito su Google Cloud che consente alle VM di inviare pacchetti in uscita a internet e ricevere i pacchetti di risposta in entrata corrispondenti stabiliti. In alternativa, puoi configurare una VM separata come gateway NAT.
Per creare un'istanza Cloud NAT per il progetto, consulta Utilizzo di Cloud NAT.
Dopo aver configurato Cloud NAT per il progetto, le istanze VM possono accedere a internet in modo sicuro senza un indirizzo IP pubblico.
Aggiunta di regole firewall
Per impostazione predefinita, una regola firewall implicita blocca le connessioni in entrata dall'esterno della rete Virtual Private Cloud (VPC). Per consentire le connessioni in entrata, configura una regola firewall per la tua VM. Dopo che viene stabilita 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 consente al controllo di integrità di Compute Engine di verificare l'integrità dei nodi del cluster e un'altra che consenta ai nodi del cluster di comunicare tra loro.Se non utilizzi una rete VPC condivisa, devi creare la regola firewall per la comunicazione tra i nodi, ma non per i controlli di integrità. Il modello Deployment Manager crea la regola firewall per i controlli di integrità, che puoi modificare dopo il completamento del deployment, se necessario.
Se utilizzi una rete VPC condivisa, un amministratore di rete deve creare entrambe le regole firewall nel progetto host.
Puoi anche creare una regola firewall per consentire l'accesso esterno alle porte specificate o per limitare l'accesso tra VM sulla stessa rete. Se viene utilizzato il tipo di rete VPC default
, si applicano 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 tuo database creando regole firewall.
A seconda dello scenario, puoi creare regole firewall per consentire l'accesso a:
- Le porte SAP predefinite elencate in TCP/IP di tutti i prodotti SAP.
- Connessioni dal computer o dall'ambiente di rete aziendale alla tua istanza VM di Compute Engine. Se hai dubbi in merito all'indirizzo IP da utilizzare, rivolgiti all'amministratore di rete della tua azienda.
- Connessioni SSH alla tua istanza VM, incluso SSH-in-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 una regola firewall:
Console
Nella console Google Cloud, vai alla pagina Firewall della rete VPC.
Nella parte superiore della pagina, fai clic su Crea regola firewall.
- Nel campo Rete, seleziona la rete in cui si trova la VM.
- Nel campo Destinazioni, specifica le risorse su Google Cloud a cui si applica la regola. Ad esempio, specifica Tutte le istanze nella rete. In alternativa, per limitare la regola a istanze specifiche su Google Cloud, inserisci i tag in Tag di destinazione specificati.
- Nel campo Filtro di origine, seleziona una delle seguenti opzioni:
- Intervalli IP per consentire il traffico in entrata da indirizzi IP specifici. Specifica l'intervallo di indirizzi IP nel campo Intervalli IP di origine.
- Subnet per consentire il traffico in entrata da una determinata subnet. Specifica il nome della subnet nel seguente campo Subnet. Puoi utilizzare questa opzione per consentire l'accesso tra le VM in una configurazione a tre livelli o con scale out.
- Nella sezione Protocolli e porte, seleziona Protocolli e porte specificati e inserisci
tcp:PORT_NUMBER
.
Fai clic su Crea per creare la regola firewall.
gcloud
Crea una regola firewall utilizzando questo comando:
$
gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS
Creazione di un cluster Linux ad alta disponibilità con SAP HANA installato
Le seguenti istruzioni utilizzano Cloud Deployment Manager per creare un cluster RHEL o SLES con due sistemi SAP HANA: un sistema SAP HANA con singolo host principale su un'istanza VM e un sistema SAP HANA in standby su un'altra istanza VM nella stessa regione di Compute Engine. I sistemi SAP HANA utilizzano la replica del sistema sincrona e il sistema in standby precarica i dati replicati.
Puoi definire le opzioni di configurazione per il cluster ad alta disponibilità SAP HANA in un modello di file di configurazione di Deployment Manager.
Le seguenti istruzioni utilizzano Cloud Shell, ma sono generalmente applicabili a Google Cloud CLI.
Conferma che le tue quote attuali per risorse come dischi permanenti e 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 di SAP HANA, consulta Prezzi e considerazioni sulle quote per SAP HANA.
Apri Cloud Shell o, se hai installato Google Cloud CLI sulla tua workstation locale, apri un terminale.
Scarica il modello di file di configurazione
template.yaml
per il cluster ad alta disponibilità SAP HANA nella tua directory di lavoro inserendo il seguente comando in Cloud Shell o gcloud CLI:$
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/template.yamlSe vuoi, rinomina il file
template.yaml
per identificare la configurazione che definisce.Apri il file
template.yaml
nell'editor di codice di Cloud Shell oppure, se utilizzi gcloud CLI, l'editor di testo che preferisci.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 Cloud Shell.
Nel file
template.yaml
, aggiorna i valori delle proprietà sostituendo le parentesi e i relativi contenuti con i valori per la tua installazione. Le proprietà sono descritte nella tabella seguente.Per creare le istanze VM senza installare SAP HANA, elimina o commenta tutte le righe che iniziano con
sap_hana_
.Proprietà Tipo di dati Descrizione type
Stringa Specifica la località, il tipo e la versione del modello Deployment Manager da utilizzare durante il deployment.
Il file YAML include due specifiche
type
, una delle quali è commentata. La specificatype
attiva per impostazione predefinita specifica la versione del modello comelatest
. La specificatype
commentata specifica una versione specifica del modello con un timestamp.Se tutti i tuoi deployment devono utilizzare la stessa versione del modello, usa la specifica
type
che include il timestamp.primaryInstanceName
Stringa Il nome dell'istanza VM per il sistema SAP HANA principale. Specifica il nome in lettere minuscole, numeri o trattini. secondaryInstanceName
Stringa Il nome dell'istanza VM per il sistema SAP HANA secondario. Specifica il nome in lettere minuscole, numeri o trattini. primaryZone
Stringa La zona in cui viene eseguito il deployment del sistema SAP HANA principale. Le zone primarie e secondarie devono trovarsi nella stessa regione. secondaryZone
Stringa La zona in cui verrà eseguito il deployment del sistema SAP HANA secondario. Le zone primarie e secondarie devono trovarsi nella stessa regione. instanceType
Stringa Il tipo di macchina virtuale di Compute Engine su cui devi eseguire SAP HANA. Se hai bisogno di un tipo di VM personalizzata, specifica un tipo di VM predefinito con un numero di vCPU il più vicino al numero di cui hai bisogno, pur essendo più grande. Al termine del deployment, modifica il numero di vCPU e la quantità di memoria. network
Stringa Il nome della rete in cui 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 Il nome della subnet che utilizzi per il cluster ad alta disponibilità. Se utilizzi una rete VPC condivisa, devi aggiungere l'ID del progetto host come directory padre del nome della subnet. Ad esempio,
host-project-id/subnetwork-name
.linuxImage
Stringa Il nome dell'immagine o della famiglia di immagini del sistema operativo Linux che stai utilizzando con SAP HANA. Per specificare una famiglia di immagini, aggiungi il prefisso family/
al nome della famiglia. Ad esempio,family/rhel-8-2-sap-ha
ofamily/sles-15-sp2-sap
. Per specificare un'immagine specifica, indica solo il nome dell'immagine. Per l'elenco delle famiglie di immagini disponibili, consulta la pagina Immagini nella console Cloud.linuxImageProject
Stringa Il progetto Google Cloud che contiene l'immagine che stai per utilizzare. Può trattarsi di un progetto tuo o di un progetto di immagini Google Cloud. Per RHEL, specifica rhel-sap-cloud
. Per SLES, specificasuse-sap-cloud
. Per un elenco dei progetti di immagini di Google Cloud, consulta la pagina Immagini nella documentazione di Compute Engine.sap_hana_deployment_bucket
Stringa Il nome del bucket Cloud Storage nel progetto che contiene i file di installazione di SAP HANA che hai caricato in un passaggio precedente. sap_hana_sid
Stringa L'ID di sistema SAP HANA. L'ID deve essere composto da tre caratteri alfanumerici e iniziare con una lettera. Tutte le lettere devono essere maiuscole. sap_hana_instance_number
Numero intero Il numero di istanza del sistema SAP HANA, da 0 a 99. Il valore predefinito è 0. sap_hana_sidadm_password
Stringa Una password temporanea per l'amministratore del sistema operativo da utilizzare durante il deployment. Al termine del deployment, cambia la password. Le password devono contenere almeno otto caratteri e includere almeno una lettera maiuscola, una lettera minuscola e un numero. sap_hana_system_password
Stringa Una password temporanea per il super user del database. Al termine del deployment, cambia la password. Le password devono contenere almeno 8 caratteri e includere almeno una lettera maiuscola, una lettera minuscola e un numero. sap_vip
Stringa L'indirizzo IP che utilizzerai per il VIP. L'indirizzo IP deve essere compreso nell'intervallo di indirizzi IP assegnati alla subnet. Il modello Deployment Manager prenota questo indirizzo IP per te. In un cluster ad alta disponibilità attivo, questo indirizzo IP è sempre assegnato all'istanza SAP HANA attiva. primaryInstanceGroupName
Stringa Definisce il nome del gruppo di istanze non gestite per il nodo primario. Se ometti il parametro, il nome predefinito è ig-primaryInstanceName
.secondaryInstanceGroupName
Stringa Definisce il nome del gruppo di istanze non gestite per il nodo secondario. Se ometti questo parametro, il nome predefinito è ig-secondaryInstanceName
.loadBalancerName
Stringa Definisce il nome del bilanciatore del carico interno TCP. nic_type
Stringa Facoltativo ma consigliato se disponibile per la macchina e la versione del sistema operativo di destinazione. Specifica l'interfaccia di rete da utilizzare con l'istanza VM. Puoi specificare il valore GVNIC
oVIRTIO_NET
. Per utilizzare un NIC virtuale di Google (gVNIC), devi specificare un'immagine del sistema operativo che supporti gVNIC come valore per la proprietàlinuxImage
. Per l'elenco delle immagini del sistema operativo, vedi Dettagli del sistema operativo.Se non specifichi un valore per questa proprietà, l'interfaccia di rete viene selezionata automaticamente in base al tipo di macchina specificato per la proprietà
Questo argomento è disponibile nelle versioni dei modelli Deployment ManagerinstanceType
.202302060649
o successive.Gli esempi seguenti mostrano un modello di file di configurazione completato che definisce un cluster ad alta disponibilità per SAP HANA. Il cluster utilizza un bilanciatore del carico di rete passthrough interno per gestire il VIP.
Deployment Manager esegue il deployment delle risorse Google Cloud definite nel file di configurazione, quindi gli script assumono il compito di configurare il sistema operativo, installare SAP HANA, configurare la replica e configurare il cluster Linux ad alta disponibilità.
Fai clic su
RHEL
oSLES
per visualizzare l'esempio specifico per il tuo sistema operativo.RHEL
resources: - name: sap_hana_ha type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # properties: primaryInstanceName: example-ha-vm1 secondaryInstanceName: example-ha-vm2 primaryZone: us-central1-a secondaryZone: us-central1-c instanceType: n2-highmem-32 network: example-network subnetwork: example-subnet-us-central1 linuxImage: family/rhel-8-1-sap-ha linuxImageProject: rhel-sap-cloud # SAP HANA parameters 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 # VIP parameters sap_vip: 10.0.0.100 primaryInstanceGroupName: ig-example-ha-vm1 secondaryInstanceGroupName: ig-example-ha-vm2 loadBalancerName: lb-ha1 # Additional optional properties networkTag: hana-ha-ntwk-tag serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
SLES
resources: - name: sap_hana_ha type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # properties: primaryInstanceName: example-ha-vm1 secondaryInstanceName: example-ha-vm2 primaryZone: us-central1-a secondaryZone: us-central1-c instanceType: n2-highmem-32 network: example-network subnetwork: example-subnet-us-central1 linuxImage: family/sles-15-sp1-sap linuxImageProject: suse-sap-cloud # SAP HANA parameters 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 # VIP parameters sap_vip: 10.0.0.100 primaryInstanceGroupName: ig-example-ha-vm1 secondaryInstanceGroupName: ig-example-ha-vm2 loadBalancerName: lb-ha1 # Additional optional properties networkTag: hana-ha-ntwk-tag serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
Crea le istanze:
$
gcloud deployment-manager deployments create deployment-name --config template-name.yamlIl comando precedente richiama Deployment Manager, che configura l'infrastruttura Google Cloud, quindi passa il controllo a uno script che installa e configura SAP HANA e il cluster ad alta disponibilità.
Mentre Deployment Manager ha il controllo, i messaggi di stato vengono scritti in Cloud Shell. Dopo aver richiamato gli script, i messaggi di stato vengono scritti in Logging e sono visibili nella console Google Cloud, come descritto in Controllare i log.
Il tempo di completamento può variare, ma l'intero processo di solito richiede meno di 30 minuti.
Verifica del deployment del sistema ad alta disponibilità HANA
La verifica di un cluster SAP HANA ad alta disponibilità prevede diverse procedure:
- Controllo del logging
- Controllo della configurazione della VM e dell'installazione di 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'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, inserisci la seguente query nell'Editor 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"
, l'elaborazione del deployment è completata e puoi andare al passaggio successivo. Se visualizzi un errore di quota:
Nella pagina Quote di IAM e amministrazione, aumenta le quote che non soddisfano i requisiti di SAP HANA elencati nella Guida alla pianificazione di SAP HANA.
Nella pagina Deployment di Deployment Manager, elimina il deployment per ripulire le VM e i dischi permanenti dall'installazione non riuscita.
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 utilizzando SSH. Dalla pagina Istanze VM di Compute Engine, puoi fare clic sul pulsante SSH per ogni istanza VM oppure utilizzare il tuo metodo SSH preferito.
Passa all'utente root.
sudo su -
Al prompt dei comandi, inserisci
df -h
. Assicurati di visualizzare un output che includa le directory/hana
, come/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 di stato specifico per il tuo sistema operativo:
RHEL
pcs status
SLES
crm status
Dovresti vedere risultati simili all'esempio seguente, in cui entrambe le istanze VM sono state avviate e
example-ha-vm1
è l'istanza principale attiva: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:external/gcpstonith): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:external/gcpstonith): 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 comando con il valore SID specificato nel modello di file di configurazione. Utilizza le lettere minuscole per tutte le lettere.su - SID_LCadm
Assicurati che i servizi SAP HANA, come
hdbnameserver
,hdbindexserver
e altri, siano in esecuzione nell'istanza inserendo il comando seguente:HDB info
Se utilizzi RHEL per SAP 9.0 o versioni successive, assicurati che i pacchetti
chkconfig
ecompat-openssl11
siano installati nell'istanza VM.Per maggiori informazioni da SAP, consulta Nota SAP 3108316 - Red Hat Enterprise Linux 9.x: installazione e configurazione .
Controlla la configurazione del cluster
Controlla le impostazioni dei parametri del cluster. Controlla sia le impostazioni visualizzate dal software del cluster sia le impostazioni dei parametri nel file di configurazione del cluster. Confronta le tue impostazioni con quelle degli esempi riportati di seguito, create dagli script di automazione utilizzati in questa guida.
Fai clic sulla scheda relativa al tuo sistema operativo.
RHEL
Visualizza le configurazioni delle risorse cluster:
pcs config show
L'esempio seguente mostra le configurazioni delle risorse create 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=sap-certification-env 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=sap-certification-env 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 impostati dagli script di automazione 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 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_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:external/gcpstonith \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params instance_name=example-ha-vm1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 primitive STONITH-example-ha-vm2 stonith:external/gcpstonith \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params instance_name=example-ha-vm2 gcloud_path="/usr/bin/gcloud" logging=yes 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 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.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, conferma che sia stato creato un bilanciatore del carico per il cluster ad alta disponibilità.
Nella pagina Dettagli del bilanciatore del carico, nella colonna In stato integro in Gruppo di istanze nella sezione Backend, verifica che uno dei gruppi di istanze mostri "1/1" e l'altro "0/1". Dopo un failover, l'indicatore in stato integro, "1/1", passa al nuovo gruppo di istanze attivo.
Controlla il sistema SAP HANA utilizzando SAP HANA Studio
Puoi utilizzare SAP HANA Cockpit o SAP HANA Studio per monitorare e gestire i tuoi sistemi SAP HANA in un cluster ad alta disponibilità.
Connettiti al sistema HANA utilizzando SAP HANA Studio. Quando si definisce la connessione, specifica i seguenti valori:
- Nel riquadro Specifica sistema, specifica l'indirizzo IP mobile come Nome host.
- Nel riquadro Proprietà connessione, per l'autenticazione degli utenti del database, specifica il nome del super user del database e la password specificati per la proprietà sap_hana_system_password nel file template.yaml.
Per informazioni di SAP sull'installazione di SAP HANA Studio, consulta la guida all'installazione e all'aggiornamento di SAP HANA Studio.
Dopo aver connesso SAP HANA Studio al tuo sistema HANA ad alta disponibilità, visualizza la panoramica del sistema facendo doppio clic sul nome del sistema nel riquadro di navigazione sul lato sinistro della finestra.
In Informazioni generali nella scheda Panoramica, verifica che:
- 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 sul link Stato di replica del sistema in Informazioni generali. La replica sincrona è indicata da
SYNCMEM
nella colonna REPLICATION_MODE nella scheda Replica del sistema.
Se uno dei passaggi di convalida indica che l'installazione non è riuscita:
- Risolvi gli errori.
- Elimina il deployment dalla pagina Deployment.
- Ricrea le istanze, come descritto nell'ultimo passaggio della sezione precedente.
Esegui un test di failover
Per eseguire un test di failover:
Connettiti alla VM principale tramite SSH. Puoi connetterti dalla pagina Istanze VM di Compute Engine facendo clic sul pulsante SSH per ogni istanza VM oppure puoi utilizzare il tuo 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 interrompendo le comunicazioni con l'host principale.Riconnettiti a uno degli host tramite SSH e passa all'utente root.
Conferma che l'host principale sia ora attivo sulla VM che conteneva l'host secondario. Il riavvio automatico è abilitato nel cluster, quindi l'host interrotto verrà riavviato e assumerà il ruolo di host secondario.
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:external/gcpstonith): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:external/gcpstonith): 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 del bilanciatore del carico nella console, verifica che la nuova istanza principale attiva mostri "1/1" nella colonna In stato integro. Aggiorna la pagina, se necessario.
Ad esempio:
In SAP HANA Studio, verifica di essere ancora connesso al sistema facendo doppio clic sulla voce di sistema nel riquadro di navigazione per aggiornare le informazioni sul sistema.
Fai clic sul link Stato di replica del sistema per confermare che gli host principali e secondari hanno cambiato host e che siano attivi.
Convalida l'installazione dell'agente di Google Cloud per SAP
Dopo aver eseguito il deployment di una VM e aver installato il sistema SAP, verifica che l'agente per SAP di Google Cloud funzioni correttamente.
Verifica che l'agente di Google Cloud per SAP sia in esecuzione
Per verificare che l'agente sia in esecuzione:
Stabilisci una connessione SSH con l'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.
Verificare che l'agente host SAP stia ricevendo le metriche
Per verificare che le metriche dell'infrastruttura siano raccolte dall'agente per SAP di Google Cloud e inviate correttamente all'agente host SAP, segui questi passaggi:
- Nel tuo sistema SAP, inserisci la transazione
ST06
. Nel riquadro di panoramica, verifica la disponibilità e il contenuto dei seguenti campi per la corretta configurazione end-to-end dell'infrastruttura di monitoraggio SAP e Google:
- Cloud Provider:
Google Cloud Platform
- Accesso a Monitoring avanzato:
TRUE
- Dettagli di monitoraggio avanzato:
ACTIVE
- Cloud Provider:
Configura il monitoraggio per SAP HANA
Facoltativamente, puoi monitorare le tue istanze SAP HANA utilizzando l'agente per SAP di Google Cloud. A partire dalla versione 2.0, puoi configurare l'agente per raccogliere le metriche di monitoraggio di SAP HANA e inviarle a Cloud Monitoring. Cloud Monitoring consente di creare dashboard per visualizzare queste metriche, configurare avvisi basati sulle soglie delle metriche e altro ancora.
Per monitorare un cluster ad alta disponibilità utilizzando l'agente per SAP di Google Cloud, assicurati di seguire le linee guida fornite in Configurazione ad alta disponibilità per l'agente.Per ulteriori informazioni sulla raccolta di metriche di monitoraggio SAP HANA utilizzando l'agente per SAP di Google Cloud, consulta Raccolta delle metriche di monitoraggio di SAP HANA.
Abilita il riavvio rapido di SAP HANA
Google Cloud consiglia vivamente di abilitare il riavvio rapido di SAP HANA per ogni istanza di SAP HANA, soprattutto per quelle di dimensioni maggiori. Il riavvio rapido SAP HANA riduce i tempi di riavvio in caso di chiusura di SAP HANA, ma il sistema operativo rimane in esecuzione.
Come configurato dagli script di automazione forniti da Google Cloud, le impostazioni del sistema operativo e del kernel supportano già il riavvio rapido SAP HANA.
Devi definire il file system tmpfs
e configurare SAP HANA.
Per definire il file system tmpfs
e configurare SAP HANA, puoi seguire i passaggi manuali o utilizzare lo script di automazione fornito da Google Cloud per abilitare SAP HANA Fast Riavvia. Per ulteriori informazioni, consulta:
- Passaggi manuali: abilita il riavvio rapido di SAP HANA
- Passaggi automatici: abilita il riavvio rapido di SAP HANA
Per le istruzioni autorevoli complete per il riavvio rapido SAP HANA, consulta la documentazione relativa all'opzione di riavvio rapido SAP HANA.
Passaggi manuali
Configura il file system tmpfs
Una volta eseguito il deployment delle VM host e dei sistemi SAP HANA di base, devi creare e montare le directory per i nodi NUMA nel file system tmpfs
.
Visualizza la topologia NUMA della tua VM
Prima di poter mappare il file system tmpfs
richiesto, devi sapere quanti nodi NUMA ha la tua VM. Per visualizzare i nodi NUMA disponibili su una VM di Compute Engine, inserisci questo comando:
lscpu | grep NUMA
Ad esempio, un tipo di VM m2-ultramem-208
ha quattro nodi NUMA, numerati da 0 a 3, come mostrato nell'esempio seguente:
NUMA node(s): 4 NUMA node0 CPU(s): 0-25,104-129 NUMA node1 CPU(s): 26-51,130-155 NUMA node2 CPU(s): 52-77,156-181 NUMA node3 CPU(s): 78-103,182-207
Crea le NUMA directory dei nodi
Crea una directory per ogni nodo NUMA nella tua VM e imposta le autorizzazioni.
Ad esempio, per quattro nodi NUMA numerati 0-3:
mkdir -pv /hana/tmpfs{0..3}/SID chown -R SID_LCadm:sapsys /hana/tmpfs*/SID chmod 777 -R /hana/tmpfs*/SID
Monta le directory dei nodi NUMA in tmpfs
Monta le directory del file system tmpfs
e specifica una preferenza di nodo NUMA per ognuna con mpol=prefer
:
SID specifica il SID con lettere maiuscole.
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Aggiorna /etc/fstab
Per assicurarti che i punti di montaggio siano disponibili dopo il riavvio di un sistema operativo, aggiungi le voci alla tabella del file system /etc/fstab
:
tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0 tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1 tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2 tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3
(Facoltativo) Imposta limiti per l'utilizzo della memoria
Il file system tmpfs
può crescere e ridursi in modo dinamico.
Per limitare la memoria utilizzata dal file system tmpfs
, puoi
impostare un limite di dimensioni per un volume di nodi NUMA con l'opzione size
.
Ad esempio:
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID
Puoi anche limitare l'utilizzo complessivo della memoria tmpfs
per tutti i nodi NUMA per una determinata istanza SAP HANA e un determinato nodo server impostando il parametro persistent_memory_global_allocation_limit
nella sezione [memorymanager]
del file global.ini
.
Configurazione SAP HANA per il riavvio rapido
Per configurare SAP HANA per il riavvio rapido, aggiorna il file global.ini
e specifica le tabelle da archiviare in memoria permanente.
Aggiorna la sezione [persistence]
nel file global.ini
Configura la sezione [persistence]
nel file global.ini
SAP HANA
per fare riferimento alle località tmpfs
. Separa ogni località tmpfs
con un punto e virgola:
[persistence] basepath_datavolumes = /hana/data basepath_logvolumes = /hana/log basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID
L'esempio precedente specifica quattro volumi di memoria per quattro nodi NUMA,
che corrisponde a m2-ultramem-208
. Se eseguissi l'operazione su m2-ultramem-416
, dovrai configurare otto volumi di memoria (0..7).
Riavvia SAP HANA dopo aver modificato il file global.ini
.
SAP HANA può utilizzare la località tmpfs
come spazio di memoria permanente.
Specifica le tabelle da archiviare in memoria permanente
Specifica tabelle di colonne o partizioni specifiche da archiviare in memoria permanente.
Ad esempio, per attivare la memoria permanente per una tabella esistente, esegui la query SQL:
ALTER TABLE exampletable persistent memory ON immediate CASCADE
Per modificare il valore predefinito per le nuove tabelle, aggiungi il parametro table_default
nel file indexserver.ini
. Ad esempio:
[persistent_memory] table_default = ON
Per ulteriori informazioni su come controllare colonne, tabelle e quali viste di monitoraggio forniscono informazioni dettagliate, consulta Memoria permanente SAP HANA.
Passaggi automatici
Lo script di automazione fornito da Google Cloud per abilitare il riavvio rapido SAP HANA apporta modifiche alle directory /hana/tmpfs*
, al file /etc/fstab
e alla configurazione di SAP HANA. Quando esegui lo script, potresti dover eseguire passaggi aggiuntivi a seconda che si tratti del deployment iniziale del tuo sistema SAP HANA o del ridimensionamento della macchina a dimensioni NUMA diverse.
Per il deployment iniziale del tuo sistema SAP HANA o per ridimensionare la macchina per aumentare il numero di nodi NUMA, assicurati che SAP HANA sia in esecuzione durante l'esecuzione dello script di automazione fornito da Google Cloud per abilitare il riavvio rapido di SAP HANA.
Quando ridimensioni la macchina per ridurre il numero di nodi NUMA, assicurati che SAP HANA venga arrestato durante l'esecuzione dello script di automazione fornito da Google Cloud per abilitare il riavvio rapido di SAP HANA. Dopo l'esecuzione dello script, devi aggiornare manualmente la configurazione SAP HANA per completare la configurazione del riavvio rapido di SAP HANA. Per maggiori informazioni, consulta Configurazione di SAP HANA per il riavvio rapido.
Per abilitare il riavvio rapido di SAP HANA, segui questi passaggi:
Stabilisci una connessione SSH con la VM host.
Passa all'account principale:
sudo su -
Scarica lo script
sap_lib_hdbfr.sh
:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
Rendi eseguibile il file:
chmod +x sap_lib_hdbfr.sh
Verifica che lo script non contenga errori:
vi sap_lib_hdbfr.sh ./sap_lib_hdbfr.sh -help
Se il comando restituisce un errore, contatta l'assistenza clienti Google Cloud. Per saperne di più su come contattare l'assistenza clienti, vedi Ricevere assistenza per SAP su Google Cloud.
Esegui lo script dopo aver sostituito l'ID sistema (SID) e la password SAP HANA per l'utente SYSTEM del database SAP HANA. Per fornire la password in modo sicuro, ti consigliamo di utilizzare un secret in Secret Manager.
Esegui lo script utilizzando il nome di un secret in Secret Manager. Questo secret deve esistere nel progetto Google Cloud che contiene l'istanza VM host.
sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME
Sostituisci quanto segue:
SID
: specifica il SID con lettere maiuscole. Ad esempio,AHA
.SECRET_NAME
: specifica il nome del secret corrispondente alla password per l'utente SYSTEM del database SAP HANA. Questo secret deve esistere nel progetto Google Cloud che contiene l'istanza VM host.
In alternativa, puoi eseguire lo script utilizzando una password in testo normale. Dopo aver abilitato il riavvio rapido di SAP HANA, assicurati di modificare la password. L'utilizzo di una password in testo normale non è consigliato perché la password viene registrata nella cronologia della riga di comando della VM.
sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'
Sostituisci quanto segue:
SID
: specifica il SID con lettere maiuscole. Ad esempio,AHA
.PASSWORD
: specifica la password per l'utente di sistema del database SAP HANA.
Per un'esecuzione iniziale riuscita, dovresti visualizzare un output simile al seguente:
INFO - Script is running in standalone mode ls: cannot access '/hana/tmpfs*': No such file or directory INFO - Setting up HANA Fast Restart for system 'TST/00'. INFO - Number of NUMA nodes is 2 INFO - Number of directories /hana/tmpfs* is 0 INFO - HANA version 2.57 INFO - No directories /hana/tmpfs* exist. Assuming initial setup. INFO - Creating 2 directories /hana/tmpfs* and mounting them INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839 INFO - Updating the HANA configuration. INFO - Running command: select * from dummy DUMMY "X" 1 row selected (overall time 4124 usec; server time 130 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;' 0 rows affected (overall time 3570 usec; server time 2239 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain'; 0 rows affected (overall time 4308 usec; server time 2441 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON'; 0 rows affected (overall time 3422 usec; server time 2152 usec)
Configura l'agente di monitoraggio Google per SAP HANA
Facoltativamente, puoi configurare l'agente di monitoraggio di Google per SAP HANA, che raccoglie le metriche da SAP HANA e le invia a Monitoring. Monitoring consente di creare dashboard per le metriche, configurare avvisi personalizzati basati sulle soglie delle metriche e altro ancora.
Per monitorare un cluster ad alta disponibilità, installa l'agente Monitoring su un'istanza VM esterna al cluster. Specifica l'indirizzo IP mobile del cluster come indirizzo IP dell'istanza host da monitorare.
Per ulteriori informazioni sulla configurazione dell'agente di monitoraggio di Google per SAP HANA, consulta la guida dell'utente dell'agente di monitoraggio SAP HANA.
Connettersi 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 del bastion utilizzando SSH o tramite il server Windows mediante SAP HANA Studio.
Per connetterti a SAP HANA tramite l'istanza del bastion, esegui la connessione al bastion host, quindi alle istanze SAP HANA utilizzando un client SSH di tua scelta.
Per connetterti al database SAP HANA tramite SAP HANA Studio, utilizza un client desktop remoto per connetterti all'istanza Windows Server. Dopo la connessione, installa SAP HANA Studio manualmente e accedi al tuo database SAP HANA.
Configura HANA attivo/attivo (lettura abilitata)
A partire da SAP HANA 2.0 SPS1, puoi configurare HANA Active/Active (Read Enabled) (Attiva/Attiva HANA (lettura abilitata)) in un cluster Pacemaker. Per istruzioni, vedi:
- Configurare HANA Active/Active (lettura abilitata) in un cluster SUSE Pacemaker
- Configurare HANA attivo/attivo (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 i seguenti passaggi post-deployment. Per maggiori informazioni, consulta la guida all'installazione e all'aggiornamento di SAP HANA.
Modifica le password temporanee per l'amministratore di sistema e il super user del database SAP HANA.
Aggiorna il software SAP HANA con le patch più recenti.
Installa eventuali componenti aggiuntivi come Application Function Libraries (AFL) o Smart Data Access (SDA).
Configura ed esegui il backup del tuo nuovo database SAP HANA. Per ulteriori informazioni, consulta la guida alle operazioni SAP HANA.
Passaggi successivi
- Per ulteriori informazioni sull'amministrazione e il monitoraggio delle VM, consulta la Guida operativa di SAP HANA.