Questa guida illustra come automatizzare il deployment di un cluster Red Hat Enterprise Linux (RHEL) ad alta disponibilità (HA) ottimizzato per le prestazioni per SAP NetWeaver.
La guida utilizza Terraform per eseguire il deployment di due macchine virtuali (VM) Compute Engine, 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 del fornitore del sistema operativo.
Per informazioni sul deployment delle VM di Compute Engine per SAP NetWeaver che non è specifico per l'alta disponibilità, consulta SAP NetWeaver all'implementazione specifica per il tuo sistema operativo.
Per configurare un cluster ad alta disponibilità per SAP NetWeaver su SUSE Linux Enterprise Server (SLES), consulta la guida alla configurazione manuale dei cluster ad alta disponibilità per SAP NetWeaver su SLES.
Questa guida è rivolta agli utenti avanzati di SAP NetWeaver che hanno familiarità con le configurazioni di disponibilità elevata di Linux per SAP NetWeaver.
Il sistema di cui questa guida descrive il deployment
Seguendo questa guida, eseguirai il deployment di due istanze SAP NetWeaver cluster ad alta disponibilità su RHEL. Esegui il deployment di ogni istanza SAP NetWeaver su una VM Compute Engine in una zona diversa all'interno della stessa regione. Un'installazione ad alta disponibilità il database sottostante non è trattato in questa guida.
Il cluster di cui è stato eseguito il deployment include le seguenti funzioni e funzionalità:
- Due VM host, una per l'istanza ASCS attiva e una per l'istanza attiva dell'Enqueue Replicator ENSA2 o del server di replicazione enqueue ENSA1. Sono indicate le istanze ENSA2 e ENSA1 fino a ERS.
- Gestore delle risorse del cluster ad alta disponibilità Pacemaker.
- Un meccanismo di isolamento STONITH.
- Riavvio automatico dell'istanza non riuscita come nuova istanza secondaria.
Prerequisiti
Prima di creare il cluster SAP NetWeaver ad alta disponibilità, assicurati che siano soddisfatti i seguenti prerequisiti:
- Hai letto Guida alla pianificazione di SAP NetWeaver e la Guida alla pianificazione dell'alta disponibilità per SAP NetWeaver su Google Cloud.
- Tu o la tua organizzazione disponete di un account Google Cloud e avete creato un progetto per il deployment di SAP NetWeaver. Per informazioni sulla creazione di account e progetti Google Cloud, consulta la sezione Creare un progetto della Guida all'implementazione di SAP NetWeaver per Linux.
- Se vuoi che il tuo carico di lavoro SAP venga eseguito in conformità con la residenza dei dati, il 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.
Se utilizzi DNS interno VPC, il valore della variabile
vmDnsSetting
nei metadati di progetto deve essereGlobalOnly
oZonalPreferred
per abilitare la risoluzione dei nomi dei nodi tra le zone. L'impostazione predefinita divmDnsSetting
èZonalOnly
. Per ulteriori informazioni, consulta:Hai configurato una condivisione file utilizzando una soluzione di archiviazione file condivisa NFS, come Filestore Enterprise.
Se OS Login è abilitato nei metadati del progetto, devi disabilitarlo temporaneamente fino al completamento del deployment. Ai fini del deployment, questa procedura configura le chiavi SSH nei metadati dell'istanza. Se l'accesso al sistema operativo è abilitato, le configurazioni delle chiavi SSH basate su metadati vengono e questo deployment non riesce. Al termine del deployment, puoi abilitare di nuovo OS Login.
Per ulteriori informazioni, vedi:
Informazioni correlate di RHEL
Salvo ove richiesto per l'ambiente Google Cloud, le informazioni riportate in questa guida sono conformi alle seguenti guide correlate di Red Hat e SAP:
- Configura SAP NetWeaver ASCS/ERS ENSA1 con risorse autonome in RHEL 7.5 e versioni successive e RHEL 8
- Configura SAP S/4HANA ASCS/ERS con accodamento autonomo 2 (ENSA2) in Pacemaker
- SAP Note 2002167 - Red Hat Enterprise Linux 7.x: Installazione e upgrade
- SAP Note 2772999 - Red Hat Enterprise Linux 8.x: Installazione e configurazione
- Nota SAP 3108316 - Red Hat Enterprise Linux 9.x: installazione e configurazione
- SAP Note 2641322 - Installazione di ENSA2 e aggiornamento da ENSA1 a ENSA2 quando si utilizzano le soluzioni Red Hat HA per SAP
Creare una rete
Per motivi di sicurezza, crea una nuova rete. Puoi controllare chi ha accesso aggiungendo regole firewall o utilizzando un altro metodo di controllo dell'accesso.
Se il progetto ha una rete VPC predefinita, non utilizzarla. Crea invece una tua rete VPC in modo che le uniche regole firewall in vigore siano quelle che crei esplicitamente.
Durante il deployment, le istanze VM di solito richiedono l'accesso a internet scaricare l'agente di Google Cloud per SAP. Se utilizzi uno dei cluster Linux certificati per SAP disponibili in Google Cloud, anche l'istanza VM richiede l'accesso a internet per registrare la licenza e accedere ai repository dei fornitori di sistemi operativi. Una configurazione con un 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 a internet in modo sicuro senza un indirizzo IP pubblico.
aggiungi regole firewall
Per impostazione predefinita, le connessioni in entrata dall'esterno della rete Google Cloud sono bloccati. Per consentire le connessioni in entrata, configura una regola firewall per la tua VM. Le regole firewall regolano solo le nuove connessioni in entrata a una VM. Dopo un la connessione sia stabilita con una VM, il traffico è consentito in entrambe le direzioni su questa connessione.
Puoi creare una regola firewall per consentire l'accesso a porte specifiche o per consentire l'accesso tra le VM nella stessa sottorete.
Crea regole firewall per consentire l'accesso per elementi quali:
- Le porte predefinite utilizzate da SAP NetWeaver, come documentato in Porte TCP/IP di tutti i prodotti SAP.
- Le connessioni dal computer o dall'ambiente di rete aziendale al tuo di un'istanza VM di Compute Engine. Se non sei sicuro dell'indirizzo IP da utilizzare, contatta l'amministratore di rete della tua azienda.
- Comunicazione tra VM in una configurazione a 3 livelli, scalabile o ad alta disponibilità. Ad esempio, se esegui il deployment di un sistema a tre livelli, nella sottorete avrai almeno due VM: la VM per SAP NetWeaver e un'altra VM per il server di database. Per abilitare la comunicazione tra le due VM, devi creare una regola firewall per consentire il traffico proveniente dalla subnet.
- Controlli di integrità di Cloud Load Balancing.
Per creare le regole firewall per il tuo progetto, consulta Creazione di regole firewall.
Creazione di un cluster Linux ad alta disponibilità per SAP NetWeaver
Le seguenti istruzioni utilizzano un file di configurazione Terraform per creare un RHEL cluster ad alta disponibilità per SAP NetWeaver con due Compute Engine delle VM in esecuzione. Le VM di Compute Engine vengono create in due zone di destinazione in un configurazione di failover automatico per i servizi centrali SAP e replica in coda.
Definisci le opzioni di configurazione per il cluster ad alta disponibilità SAP NetWeaver in un file di configurazione Terraform.
Apri Cloud Shell.
Scarica il file di configurazione
sap_nw_ha.tf
per il cluster di disponibilità elevata SAP NetWeaver nella tua directory di lavoro:$
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_nw_ha/terraform/sap_nw_ha.tfApri il file
sap_nw_ha.tf
nell'editor di codice di Cloud Shell.Per aprire l'editor di codice di Cloud Shell, fai clic sull'icona a forma di matita nella nell'angolo in alto a destra della finestra del terminale Cloud Shell.
Nel file
sap_nw_ha.tf
, aggiorna i valori dell'argomento sostituendo il contenuti tra virgolette doppie con i valori dell'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_nw_ha.tf
include due istanze dell'argomentosource
: una attiva e una inclusa come commento.source
attivo per impostazione predefinita specificalatest
come del modulo. La seconda istanza disource
che per impostazione predefinita è disattivato da un#
, specifica un timestamp che identifica un del modulo.Se hai bisogno che tutti i tuoi deployment utilizzino la stessa versione del modulo, quindi rimuovi il carattere
#
iniziale dalla L'argomentosource
che specifica il timestamp della versione e aggiungilo all'argomentosource
che specificalatest
.project_id
Stringa Specifica l'ID del progetto Google Cloud in cui esegui il deployment di un sistema operativo completo. Ad esempio, my-project-x
.machine_type
Stringa Specifica il tipo di Compute Engine macchina virtuale (VM) su cui devi per eseguire il tuo sistema SAP. Se hai bisogno di un tipo di VM personalizzata, specifica tipo di VM predefinito con un certo numero di il più vicino al numero di cui hai bisogno, pur essendo più grande. Dopo il giorno il deployment dell'app è completato, modificare il numero di vCPU e la quantità di memoria. Ad esempio,
n1-highmem-32
.network
Stringa Specifica il nome della rete in cui hai bisogno per creare il bilanciatore del carico che gestisce il VIP. Se utilizzi una rete VPC condivisa, devi aggiungere l'ID del progetto host come directory 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
. Per ad esempiomyproject/network1
.linux_image
Stringa Specifica il nome dell'immagine del sistema operativo Linux su cui vuoi il deployment del sistema SAP. Ad esempio, rhel-9-2-sap-ha
. Per l'elenco dei sistemi operativi disponibili vedi le Pagina Immagini in la console Google Cloud.linux_image_project
Stringa Specifica il progetto Google Cloud che contiene l'immagine di cui disponi specificato per l'argomento linux_image
. Questo progetto potrebbe essere il tuo progetto o un progetto di immagini Google Cloud. Per un'immagine Compute Engine, specificarhel-sap-cloud
. Per trovare il progetto immagine per il tuo sistema operativo di sistema, vedi Sistema operativo dettagli.sap_primary_instance
Stringa Specifica un nome per l'istanza VM per il sistema SAP NetWeaver principale. Questa è la posizione iniziale dell'ASCS. Il nome può contenere lettere minuscole, numeri o trattini e non deve superare i 13 caratteri. sap_primary_zone
Stringa Specifica una zona in cui viene eseguito il deployment del sistema SAP NetWeaver principale. Le zone primarie e secondarie devono trovarsi nella stessa regione. Ad esempio, us-east1-b
.sap_secondary_instance
Stringa Specifica un nome per l'istanza VM per il sistema SAP NetWeaver secondario. Questa è la tua posizione ERS iniziale. Il nome può contenere lettere minuscole, numeri o trattini e non deve superare i 13 caratteri. sap_secondary_zone
Stringa Specifica una zona in cui viene eseguito il deployment del sistema SAP NetWeaver secondario. Le zone primarie e secondarie devono trovarsi nella stessa regione. Ad esempio, us-east1-c
.nfs_path
Stringa Specifica il punto di montaggio NFS per il file system condiviso. Ad esempio, 10.163.58.114:/ssd_nfs
.sap_sid
Stringa Specifica un ID sistema SAP. 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
.hc_firewall_rule_name
Stringa Facoltativo. Specifica un nome per la regola firewall per il controllo di integrità. Il valore predefinito è SAP_SID-hc-allow
.hc_network_tag
Stringa Facoltativo. Specifica uno o più tag di rete separati da virgole che vuoi da associare alle tue istanze VM per la regola firewall per il controllo di integrità. Il valore predefinito è SAP_SID-hc-allow-tag
.scs_inst_group_name
Stringa Facoltativo. Specifica un nome per il gruppo di istanze ASCS. Il valore predefinito è SAP_SID-scs-ig
.scs_hc_name
Stringa Facoltativo. Specifica un nome per il controllo di integrità ASCS. Il valore predefinito è SAP_SID-scs-hc
.scs_hc_port
Stringa Facoltativo. Specifica una porta per il controllo di integrità dell'ASCS. Per evitare conflitti con altri servizi, designa il numero di porta per il controllo di integrità di ASCS nell'intervallo privato 49152-65535. Il valore predefinito è 60000
.scs_vip_address
Stringa Facoltativo. Specifica un indirizzo IP inutilizzato all'interno della subnet specificata in precedenza in subnetwork
da utilizzare come indirizzo IP virtuale per l'istanza ASCS. Se non viene specificato nulla, gli script di deployment selezionano automaticamente un indirizzo IP inutilizzato dalla subnet specificata.scs_vip_name
Stringa Facoltativo. Specifica un nome per l'IP virtuale dell'ASCS. Il valore predefinito è SAP_SID-scs-vip
.scs_backend_svc_name
Stringa Facoltativo. Specifica un nome per il servizio di backend ASCS. Il valore predefinito è SAP_SID-scs-backend-svc
.scs_forw_rule_name
Stringa Facoltativo. Specifica un nome per la regola di inoltro ASCS. Il valore predefinito è SAP_SID-scs-fwd-rule
.ers_inst_group_name
Stringa Facoltativo. Specifica un nome per il gruppo di istanze ERS. Il valore predefinito è SAP_SID-ers-ig
.ers_hc_name
Stringa Facoltativo. Specifica un nome per il controllo di integrità ERS. Il valore predefinito è SAP_SID-ers-hc
.ers_hc_port
Stringa Facoltativo. Specifica una porta per il controllo di integrità ERS. Per evitare conflitti con servizi, specifica il numero di porta per il controllo di integrità ERS intervallo privato, 49152-65535. Il valore predefinito è 60010
.ers_vip_address
Stringa Facoltativo. Specifica un indirizzo IP non utilizzato all'interno della subnet specificata in subnetwork
prima di utilizzarlo come indirizzo IP virtuale per l'istanza ERS. Se non viene specificato nulla, gli script di deployment selezionano automaticamente di un indirizzo IP inutilizzato dalla subnet specificata.ers_vip_name
Stringa Facoltativo. Specifica un nome per l'IP virtuale ERS. Il valore predefinito è SAP_SID-ers-vip
.ers_backend_svc_name
Stringa Facoltativo. Specifica un nome per il servizio di backend ERS. Il valore predefinito è SAP_SID-ers-backend-svc
.ers_forw_rule_name
Stringa Facoltativo. Specifica un nome per la regola di inoltro ERS. Il valore predefinito è SAP_SID-ers-fwd-rule
.usr_sap_size
Numero intero Facoltativo. Specifica la dimensione del disco /usr/sap
in GB. La dimensione minima è 8 GB. Il valore predefinito è8
.sap_mnt_size
Numero intero Facoltativo. Specifica la dimensione del disco /sapmnt
in GB. La dimensione minima è di 8 GB. Il valore predefinito è8
.swap_size
Numero intero Facoltativo. Specifica la dimensione del volume di scambio in GB. La dimensione minima è di 8 GB. Il valore predefinito è 8
.sap_scs_instance_number
Stringa Facoltativo. Specifica il numero di istanza ASCS. sap_scs_instance_number
debe essere un numero di due cifre. Se devi specificare un numero di una sola cifra, aggiungi un0
davanti al numero. Ad esempio:07
. Il valore predefinito è00
.sap_ers_instance_number
Stringa Facoltativo. Specifica il numero di istanza ERS. sap_ers_instance_number
deve essere un numero di due cifre. Se devi specificare un numero di una sola cifra, aggiungi un0
davanti al numero. Ad esempio:07
. Il valore predefinito è10
.sap_nw_abap
Booleano Facoltativo. Specifica se stai eseguendo il deployment di uno stack ABAP o di uno stack Java di SAP NetWeaver. Per uno stack Java di SAP NetWeaver, specifica false
. Il valore predefinito ètrue
.pacemaker_cluster_name
Stringa Facoltativo. Specifica un nome per il cluster pacemaker. Il valore predefinito è SAP_SID-cluster
.public_ip
Booleano Facoltativo. Per creare un indirizzo IP pubblico effimero per le istanze VM, imposta public_ip
sutrue
. Il valore predefinito èfalse
.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. Per 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, vedi Identità e la gestione degli accessi per i programmi SAP su Google Cloud.
network_tags
Stringa Facoltativo. Specifica uno o più tag di rete separati da virgola da associare alle istanze VM a fini di firewall o routing. Un tag di rete per i componenti ILB viene aggiunto automaticamente Tag di rete.
Se
public_ip = false
e non specifichi un tag di rete, quindi assicurati di fornire un altro mezzo di accesso a internet.sap_deployment_debug
Booleano Facoltativo. Solo quando l'assistenza clienti di Cloud ti chiede di attivare il debug per il tuo deployment, specifica true
, che consente al deployment di generare log dettagliati. Il valore predefinito èfalse
.primary_reservation_name
Stringa Facoltativo. Per utilizzare una prenotazione VM Compute Engine specifica per il provisioning dell'istanza VM che ospita l'istanza SAP HANA principale del tuo cluster HA, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi prenotazione Compute Engine disponibile in base alle seguenti condizioni. Affinché una prenotazione sia utilizzabile, indipendentemente dal fatto che tu abbia specificato un nome o il lo script di installazione lo seleziona automaticamente, la prenotazione deve essere impostata con le seguenti:
-
L'opzione
specificReservationRequired
è impostata sutrue
o l'opzione Seleziona prenotazione specifica nella console Google Cloud. -
Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono
coperta dalla certificazione SAP per il tipo di macchina. Se 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 un modello Prenotazione VM di Compute Engine per il provisioning dell'istanza VM che ospita i SAP secondari del cluster ad alta disponibilità HANA, specifica il nome della prenotazione. Per impostazione predefinita, lo script di installazione seleziona qualsiasi Compute Engine disponibile in base alle seguenti condizioni. Affinché una prenotazione sia utilizzabile, indipendentemente dal fatto che tu abbia specificato un nome o il lo script di installazione lo seleziona automaticamente, la prenotazione deve essere impostata con le seguenti:
-
L'opzione
specificReservationRequired
è impostata sutrue
o l'opzione Seleziona prenotazione specifica nella console Google Cloud. -
Alcuni tipi di macchine di Compute Engine supportano piattaforme CPU che non sono
coperta dalla certificazione SAP per il tipo di macchina. Se 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 macchina
certificazione SAP per l'utilizzo su Google Cloud conforme alla CPU minima SAP
requisito.
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 eseguito il deployment nell'ambito dei modelli ad alta disponibilità.L'esempio seguente mostra un file di configurazione completo che definisce un cluster ad alta disponibilità per SAP NetWeaver. 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 di avvio prendono il controllo per configurare il sistema operativo e il cluster HA Linux.
Per chiarezza, i commenti nel file di configurazione sono omessi nell'esempio.
# ... module "sap_nw_ha" { source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_nw_ha/sap_nw_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/202201240926/terraform/sap_nw_ha/sap_nw_ha_module.zip" # # ... # project_id = "example-project-123456" machine_type = "n2-highmem-32" network = "example-network" subnetwork = "example-subnet-us-central1" linux_image = "rhel-8-4-sap-ha" linux_image_project = "rhel-sap-cloud" sap_primary_instance = "nw-ha-vm-1" sap_primary_zone = "us-central1-a" sap_secondary_instance = "nw-ha-vm-2" sap_secondary_zone = "us-central1-c" nfs_path = "10.223.55.130:/pr1_nw" sap_sid = "PR1" # ... }
-
L'opzione
Inizializza la directory di lavoro attuale e scarica Terraform plug-in del provider e file dei moduli per Google Cloud:
terraform init
Il comando
terraform init
prepara la directory di lavoro per altri comandi Terraform.Per forzare l'aggiornamento del plug-in del provider e dei file di configurazione nel tuo di lavoro, specifica il flag
--upgrade
. Se il flag--upgrade
viene omesso e non apporti modifiche alla directory di lavoro, Terraform utilizza le copie memorizzate nella cache locale, anche selatest
è specificato nell'URLsource
.terraform init --upgrade
Se vuoi, crea il piano di esecuzione di 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 di Google Cloud e poi passa il controllo a uno script che configura il cluster ad alta disponibilità 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 di Logging.
Il tempo di completamento può variare, ma in genere l'intera procedura richiede meno di 30 minuti.
Verifica del deployment del sistema SAP NetWeaver ad alta disponibilità
La verifica di un cluster SAP NetWeaver ad alta disponibilità prevede diverse procedure:
- Controlla i log
- Controlla la configurazione della VM
Controlla i log
Nella console Google Cloud, apri Cloud Logging per monitorare l'installazione progressi e verificare la presenza di errori.
Filtra i log:
Esplora log
Nella pagina Esplora log, vai al riquadro Query.
Nel menu a discesa Risorsa, seleziona Globale, quindi fai clic su Aggiungi.
Se non vedi l'opzione Globale, nell'editor di query inserisci la seguente query:
resource.type="global" "Deployment"
Fai clic su Esegui query.
Visualizzatore log legacy
- Nella pagina Visualizzatore log legacy, dal menu del selettore di base, seleziona Globale come risorsa di logging.
Analizza i log filtrati:
- Se viene visualizzato
"--- Finished"
, il parametro l'elaborazione del deployment è completa vai al passaggio successivo. Se viene visualizzato un errore relativo alla quota:
Nella pagina IAM e amministrazione Quote , aumenta le quote che non soddisfano i requisiti di SAP NetWeaver elencati nella guida alla pianificazione di SAP NetWeaver.
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
Dopo il deployment delle istanze VM 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 metodo SSH preferito.
Passa all'utente root.
sudo su -
Al prompt dei comandi, inserisci
df -h
. Assicurati di vedere un output che include le directory/usr/sap
, ad esempio/usr/sap/trans
.nw-ha-vm-1:~ # df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/vg_usrsap-vol 8.0G 242M 7.8G 3% /usr/sap /dev/mapper/vg_sapmnt-vol 8.0G 90M 7.9G 2% /sapmnt 10.95.255.130:/pr1_nw/sapmntPR1 1007G 0 956G 0% /sapmnt/PR1 10.95.255.130:/pr1_nw/usrsaptrans 1007G 0 956G 0% /usr/sap/trans 10.95.255.130:/pr1_nw/usrsapPR1ASCS00 1007G 0 956G 0% /usr/sap/PR1/ASCS00 ...
autofs
viene configurato automaticamente durante il deployment per montare le directory dei file condivisi comuni al primo accesso alle directory dei file. Il montaggio delle directoryASCSASCS_INSTANCE_NUMBER
eERSERS_INSTANCE_NUMBER
è gestito dal software del cluster, che viene configurato anche durante il deployment.Controlla lo stato del nuovo cluster inserendo il comando status:
pcs status
Dovresti vedere risultati simili all'esempio seguente, in cui entrambe le istanze VM sono avviate e
nw-ha-vm-1
è l'istanza principale attiva:nw-ha-vm-1:~ # pcs status Cluster name: pr1-cluster Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum * Last updated: Mon Aug 29 18:03:22 2022 * Last change: Mon Aug 29 17:58:21 2022 by root via cibadmin on nw-ha-vm-1 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * fence-PR1-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 * fence-PR1-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * file-system-PR1-ASCS00 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * file-system-PR1-ERS10 (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 * health-check-PR1-ASCS00 (service:haproxy@PR1ASCS): Started nw-ha-vm-1 * health-check-PR1-ERS10 (service:haproxy@PR1ERS): Started nw-ha-vm-2 * vip-PR1-ASCS00 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * vip-PR1-ERS10 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
Testa la configurazione del bilanciatore del carico ASCS ed ERS utilizzando il metodo Utilità
socat
:Su ogni istanza VM, avvia temporaneamente un processo
socat
che restituisca la sua tuo nome host:socat TCP-LISTEN:80,bind=0.0.0.0,fork,reuseaddr,crlf SYSTEM:"echo HTTP/1.0 200; echo Content-Type\: text/plain; echo; echo $(hostname)" &
Su ogni nodo, utilizza
curl
e prova a raggiungere i seguenti indirizzi IP e hostname. Gli indirizzi IP e i nomi host sono disponibili in/etc/hosts
.127.0.0.1
localhost
ASCS_VIRTUAL_HOST_NAME
ASCS_IP_ADDRESS
ERS_VIRTUAL_HOST_NAME
ERS_IP_ADDRESS
- Nome VIP SCS, specificato per il parametro
scs_vip_name
- Indirizzo IP VIP SCS, specificato per il parametro
scs_vip_address
- Nome VIP ERS, specificato per il parametro
ers_vip_name
- Indirizzo IP VIP ERS, specificato per il parametro
ers_vip_address
Di seguito è riportato un esempio di output di questo test:
example-nw1:~ # cat /etc/hosts ... 10.128.1.182 example-nw1.c.myproject.internal example-nw1 10.128.1.169 example-nw2.c.myproject.internal example-nw2 10.128.1.46 pr1-scs-vip.c.myproject.internal pr1-scs-vip 10.128.0.75 pr1-ers-vip.c.myproject.internal pr1-ers-vip example-nw1:~ # curl 127.0.0.1 example-nw1 example-nw1:~ # curl localhost example-nw1 example-nw1:~ # curl example-nw1 example-nw1 example-nw1:~ # curl 10.128.1.182 example-nw1 example-nw1:~ # curl example-nw2 example-nw2 example-nw1:~ # curl 10.128.1.169 example-nw2 example-nw1:~ # curl pr1-scs-vip example-nw1 example-nw1:~ # curl 10.128.1.46 example-nw1 example-nw1:~ # curl pr1-ers-vip example-nw2 example-nw1:~ # curl 10.128.0.75 example-nw2
Se utilizzi RHEL per SAP 9.0 o versioni successive, assicurati che i pacchetti
chkconfig
ecompat-openssl11
siano installati nell'istanza VM.Per ulteriori informazioni di SAP, consulta Nota SAP 3108316 - Red Hat Enterprise Linux 9.x: installazione e configurazione .
Se uno dei passaggi di convalida indica che l'installazione non è riuscita:
Risolvi gli errori.
Apri Cloud Shell.
Vai alla directory contenente il file di configurazione Terraform.
Elimina il deployment:
terraform destroy
Quando ti viene chiesto di approvare l'azione, inserisci
yes
.Esegui di nuovo il deployment.
Convalida l'installazione dell'agente di Google Cloud per SAP
Dopo aver eseguito il deployment di una VM e installato il sistema SAP, verifica che l'agente di Google Cloud per SAP funzioni correttamente.
Verifica che l'agente Google Cloud per SAP sia in esecuzione
Per verificare che l'agente sia in esecuzione:
Stabilisci una connessione SSH di un'istanza VM host.
Esegui questo comando:
systemctl status google-cloud-sap-agent
Se l'agente funziona correttamente, l'output contiene
active (running)
. Ad esempio:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
Se l'agente non è in esecuzione, riavvialo.
Verificare che l'agente host SAP riceva le metriche
Per verificare che le metriche dell'infrastruttura siano raccolte l'agente Google Cloud per SAP e inviato correttamente a SAP Host Agent. segui questi passaggi:
- Nel sistema SAP, inserisci la transazione
ST06
. Nel riquadro Panoramica, verifica la disponibilità e il contenuto seguenti campi per la corretta configurazione end-to-end dei server SAP e di Google dell'infrastruttura di monitoraggio:
- Fornitore di servizi cloud:
Google Cloud Platform
- Accesso al monitoraggio avanzato:
TRUE
- Dettagli sul monitoraggio avanzato:
ACTIVE
- Fornitore di servizi cloud:
Installa ASCS ed ERS
La sezione seguente illustra solo i requisiti e i consigli specifici per l'installazione di SAP NetWeaver su Google Cloud.
Per istruzioni di installazione complete, consulta la documentazione di SAP NetWeaver.
Prepararsi all'installazione
Per garantire coerenza in tutto il cluster e semplificare l'installazione, installare i componenti SAP NetWeaver ASCS ed ERS, definisci gli utenti, i gruppi e le autorizzazioni e metti in modalità standby.
Rimuovi il cluster dalla modalità di manutenzione:
#
sudo pcs property set maintenance-mode="false"Su entrambi i server, come utente root, inserisci i seguenti comandi, specificando gli ID utente e gruppo appropriati per il tuo ambiente:
#
groupadd -g GID_SAPINST sapinst#
groupadd -g GID_SAPSYS sapsys#
useradd -u UID_SIDADM SID_LCadm -g sapsys#
usermod -a -G sapinst SID_LCadm#
useradd -u UID_SAPADM sapadm -g sapinst#
chown SID_LCadm:sapsys /usr/sap/SID/SYS#
chown SID_LCadm:sapsys /sapmnt/SID -R#
chown SID_LCadm:sapsys /usr/sap/trans -R#
chown SID_LCadm:sapsys /usr/sap/SID/SYS -R#
chown SID_LCadm:sapsys /usr/sap/SID -RSe utilizzi un montaggio semplice ed esegui questi comandi, su entrambi i server come root. Specifica gli ID utente e gruppo appropriati per il tuo ambiente.
#
groupadd -g GID_SAPINST sapinst#
groupadd -g GID_SAPSYS sapsys#
useradd -u UID_SIDADM SID_LCadm -g sapsys#
usermod -a -G sapinst SID_LCadm#
useradd -u UID_SAPADM sapadm -g sapinst#
chown SID_LCadm:sapsys /usr/sap/SID#
chown SID_LCadm:sapsys /sapmnt/SID -R#
chown SID_LCadm:sapsys /usr/sap/trans -R#
chown SID_LCadm:sapsys /usr/sap/SID -R#
chown SID_LCadm:sapsys /usr/sap/SID/SYSSostituisci quanto segue:
GID_SAPINST
: specifica l'ID gruppo Linux per lo strumento di provisioning SAP.GID_SAPSYS
: specifica l'ID gruppo Linux per l'utente SAPSYS.UID_SIDADM
: specifica l'ID utente Linux per l'amministratore del sistema SAP (SID).SID_LC
: specifica l'ID sistema (SID). Utilizza le lettere minuscole.UID_SAPADM
: specifica l'ID utente per l'agente di hosting SAP.SID
: specifica l'ID di sistema (SID). Utilizza le lettere maiuscole per tutte le lettere.
Ad esempio, di seguito è riportato uno schema di numerazione pratico per GID e UID:
Group sapinst 1001 Group sapsys 1002 Group dbhshm 1003 User en2adm 2001 User sapadm 2002 User dbhadm 2003
Installazione del componente ASCS
Sul server secondario, inserisci il comando seguente per inserire la riga secondaria server in modalità standby:
#
pcs node standbyLa modalità standby del server secondario consente di consolidare tutte le risorse del cluster sul server principale, semplificando l'installazione.
Verifica che il server secondario sia in modalità standby:
#
pcs statusL'output è simile al seguente esempio:
Cluster name: nwha Cluster Summary: * Stack: corosync * Current DC: nw-ha-vm-1 (version 2.0.5-9.el8_4.3-ba59be7122) - partition with quorum * 2 nodes configured * 8 resource instances configured Node List: * Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full List of Resources: * fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 * fence-nw-ha-vm-1 (stonith:fence_gce): Stopped * Resource Group: nw8_ascs00_group: * nw8_vip_ascs00 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * nw8_healthcheck_scs (service:haproxy@nw8scs): Started nw-ha-vm-1 * nw8_fs_ascs00 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 * Resource Group: nw8_ers10_group: * nw8_vip_ers10 (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 * nw8_healthcheck_ers (service:haproxy@nw8ers): Started nw-ha-vm-1 * nw8_fs_ers10 (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 Daemon Status: corosync: active/enabled
Sul server principale, come utente root, modifica la directory in una directory di installazione temporanea, ad esempio
/tmp
, per installare l'istanza ASCS eseguendo SAP Software Provisioning Manager (SWPM).Per accedere all'interfaccia web di SWPM, è necessario il password per l'utente
root
. Se i tuoi criteri IT non consentono all'amministratore SAP di accedere alla password di root, puoi utilizzareSAPINST_REMOTE_ACCESS_USER
.Quando avvii SWPM, usa il parametro
SAPINST_USE_HOSTNAME
per specificare il nome host virtuale che hai definito per il VIP ASCS indirizzo IP nel file/etc/hosts
.Ad esempio:
cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-scs
Nella pagina di conferma finale di SWPM, assicurati che il nome dell'host virtuale sia corretto.
Al termine della configurazione, estrarre la VM secondaria dalla modalità standby:
#
pcs node unstandby
Installazione del componente ERS
Sul server principale come root o
SID_LCadm
, per interrompere il servizio ASCS.#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function Stop"#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService"Sul server principale, inserisci questo comando per inserire la server in modalità standby:
#
pcs node standbyL'impostazione del server principale in modalità standby consolida tutte le di risorse cluster sul server secondario, semplificando così l'installazione.
Verifica che il server principale sia in modalità standby:
#
pcs statusSul server secondario, come utente root, modifica la directory in una directory di installazione temporanea, ad esempio
/tmp
, per installare l'istanza ERS eseguendo SAP Software Provisioning Manager (SWPM).Usa lo stesso utente e la stessa password per accedere all'SWPM che hai usato quando hai installato il componente ASCS.
Quando avvii SWPM, usa il parametro
SAPINST_USE_HOSTNAME
per specificare il nome host virtuale che hai definito per l'ERS VIP indirizzo IP nel file/etc/hosts
.Ad esempio:
cd /tmp; /mnt/nfs/install/SWPM/sapinst SAPINST_USE_HOSTNAME=vh-aha-ers
Nella pagina di conferma finale di SWPM, assicurati che il nome dell'host virtuale sia corretto.
Disattiva la VM principale per avere entrambe attive:
#
pcs node unstandby
Configura i servizi SAP
Devi verificare che i servizi siano configurati correttamente, controllare le impostazioni nei profili ASCS ed ERS e aggiungere l'utente SID_LCadm
al gruppo di utenti haclient
.
Conferma le voci del servizio SAP
Su entrambi i server, verifica che il file
/usr/sap/sapservices
contenga per i servizi ASCS ed ERS. A questo scopo, puoi utilizzare l'integrazionesystemV
osystemd
.Puoi aggiungere eventuali voci mancanti utilizzando il comando
sapstartsrv
con Opzionipf=PROFILE_OF_THE_SAP_INSTANCE
e-reg
.Per ulteriori informazioni su queste integrazioni, consulta le seguenti note SAP:
systemV
Di seguito è riportato un esempio di come vengono visualizzate le voci per i servizi ASCS ed ERS nel file
/usr/sap/sapservices
quando utilizzi l'integrazionesystemV
:#
LD_LIBRARY_PATH=/usr/sap/hostctrl/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH /usr/sap/hostctrl/exe/sapstartsrv \ pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ -D -u SID_LCadm /usr/sap/hostctrl/exe/sapstartsrv \ pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ -D -u SID_LCadmsystemd
Verifica che il file
/usr/sap/sapservices
contenga voci per i servizi ASCS ed ERS. Di seguito è riportato un esempio di come queste voci vengono visualizzati nel file/usr/sap/sapservices
quando utilizzi Integrazione disystemd
:systemctl --no-ask-password start SAPSID_ASCS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_SID_LCascs systemctl --no-ask-password start SAPSID_ERS_INSTANCE_NUMBER # sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_SID_LCers
Disabilita l'integrazione
systemd
nelle istanze ASCS e ERS:#
systemctl disable SAPSID_ASCS_INSTANCE_NUMBER.service#
systemctl stop SAPSID_ASCS_INSTANCE_NUMBER.service#
systemctl disable SAPSID_ERS_INSTANCE_NUMBER.service#
systemctl stop SAPSID_ERS_INSTANCE_NUMBER.serviceVerifica che l'integrazione di
systemd
sia disabilitata:#
systemctl list-unit-files | grep sapUn output simile all'esempio seguente indica che
systemd
è disabilitata. Tieni presente che alcuni servizi, comesaphostagent
esaptune
sono abilitati e alcuni servizi sono disattivata.SAPSID_ASCS_INSTANCE_NUMBER.service disabled SAPSID_ERS_INSTANCE_NUMBER.service disabled saphostagent.service enabled sapinit.service generated saprouter.service disabled saptune.service enabled
Interrompi i servizi SAP
Sul server secondario, interrompi il servizio ERS:
#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function Stop"#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService"Su ciascun server, verifica che tutti i servizi siano arrestati:
#
su - SID_LCadm -c "sapcontrol -nr ASCS_INSTANCE_NUMBER -function GetSystemInstanceList"#
su - SID_LCadm -c "sapcontrol -nr ERS_INSTANCE_NUMBER -function GetSystemInstanceList"Dovresti vedere un output simile al seguente esempio:
GetSystemInstanceList FAIL: NIECONN_REFUSED (Connection refused), NiRawConnect failed in plugin_fopen()
Disattivare il riavvio automatico del servizio in SAP
Poiché il software del cluster gestisce il riavvio dei servizi SAP durante failover, per evitare conflitti, disabilita la capacità del software SAP di riavviare automaticamente i servizi.
Su entrambi i nodi, modifica il file
/usr/sap/sapservices
per disattivare il riavvio automatico nel software SAP aggiungendo un carattere di commento,#
, all'inizio del comandosapstartsrv
sia per i componenti ASCS che per ERS.Ad esempio:
#!/bin/sh #LD_LIBRARY_PATH=/usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ASCSASCS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME -D -u SID_LCadm #LD_LIBRARY_PATH=/usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/SID/ERSERS_INSTANCE_NUMBER/exe/sapstartsrv pf=/usr/sap/SID/SYS/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME -D -u SID_LCadm
Modificare i profili ASCS ed ERS
Su entrambi i server, passa alla directory del profilo utilizzando uno dei due seguenti comandi:
#
cd /usr/sap/SID/SYS/profile#
cd /sapmnt/SID/profileSe necessario, puoi trovare i nomi dei file dei profili ASCS e ERS elencando i file nella directory del profilo o utilizzando i seguenti formati:
SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME
SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME
Se utilizzi ENSA1, attiva la funzione keepalive impostando quanto segue nel profilo ASCS:
enque/encni/set_so_keepalive = true
Per ulteriori informazioni, consulta la Nota SAP 1410736 - TCP/IP: impostazione keepalive predefinito.
Se necessario, modifica i profili ASCS ed ERS per cambiare l'avvio comportamento del server di accodamento e di quello di replica di accodamento.
ENSA1
Nella sezione "Avvia server di accodamento SAP" del profilo ASCS, Se vedi
Restart_Program_NN
, modifica "Restart
" a "Start
", come mostrato di seguito esempio.Start_Program_01 = local $(_EN) pf=$(_PF)
Nella sezione "Avvia accodamento del server di replica" del profilo ERS, Se vedi
Restart_Program_NN
, modifica "Restart
" a "Start
", come mostrato di seguito esempio.Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
ENSA2
Nella sezione "Avvia server di accodamento SAP" del profilo ASCS, Se vedi
Restart_Program_NN
, modifica "Restart
" a "Start
", come mostrato di seguito esempio.Start_Program_01 = local $(_ENQ) pf=$(_PF)
Nella sezione "Avvia accodamento replicatore" del profilo ERS, Se vedi
Restart_Program_NN
, modifica "Restart
" a "Start
", come mostrato di seguito esempio.Start_Program_00 = local $(_ENQR) pf=$(_PF) ...
Configura le risorse del cluster per ASCS ed ERS
Come root di entrambi i server, imposta il cluster in modalità di manutenzione:
#
pcs property set maintenance-mode="true"Verifica che il cluster sia in modalità di manutenzione:
#
pcs statusCrea le risorse del cluster per i servizi ASCS ed ERS:
ENSA1
Crea la risorsa cluster per l'istanza ASCS. Il valore di
InstanceName
è il nome del profilo dell'istanza utilizzato da SWPM generato al momento dell'installazione di ASCS.#
pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false meta resource-stickiness=5000 migration-threshold=1 \ failure-timeout=60 --group ASCS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600#
pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000Crea la risorsa cluster per l'istanza ERS. Il valore di
InstanceName
è il nome del profilo dell'istanza utilizzato da SWPM generate al momento dell'installazione di ERS. Il parametroIS_ERS=true
indica a Pacemaker di impostare il flagrunsersSID
su1
sul nodo in cui è attivo il sistema ERS.#
pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
ENSA2
Crea la risorsa cluster per l'istanza ASCS. Il valore di
InstanceName
è il nome del profilo dell'istanza generato da SWPM quando hai installato ASCS.#
pcs resource create ASCS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false meta resource-stickiness=5000 \ --group ASCS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600#
pcs resource meta ASCS_RESOURCE_GROUP resource-stickiness=3000Crea la risorsa cluster per l'istanza ERS. Il valore di
InstanceName
è il nome del profilo dell'istanza generato da SWPM quando hai installato ERS.#
pcs resource create ERS_INSTANCE_RESOURCE SAPInstance \ InstanceName=SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ START_PROFILE=/sapmnt/SID/profile/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME \ AUTOMATIC_RECOVER=false IS_ERS=true --group ERS_RESOURCE_GROUP \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=600
Configura i vincoli di posizione e di ordinamento
Creando vincoli, puoi definire quali servizi devono essere avviati per primi e quali devono essere eseguiti contemporaneamente sullo stesso host. Ad esempio, l'indirizzo IP deve trovarsi sullo stesso host dell'istanza SAP Central Services principale.
- Definisci il vincolo dell'ordine iniziale:
ENSA1
Crea un vincolo di colocation che impedisce alle risorse ASCS di in esecuzione sullo stesso server delle risorse ERS:
#
pcs constraint colocation add ERS_RESOURCE_GROUP with \ ASCS_RESOURCE_GROUP -5000Configurare ASCS per il failover al server su cui viene eseguito l'ERS, come determinato dal flag
runsersSID
che è uguale a1
:#
pcs constraint location ASCS_INSTANCE \ rule score=2000 runs_ers_SID eq 1Configura ASCS in modo che venga avviato prima che ERS si trasferisca sull'altro server dopo un failover:
#
pcs constraint order start ASCS_RESOURCE_GROUP then \ stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
ENSA2
Crea un vincolo di co-locazione che impedisca alle risorse ASCS di funzionare sullo stesso server delle risorse ERS:
#
pcs constraint colocation add ERS_RESOURCE_GROUP with \ ASCS_RESOURCE_GROUP -5000Configura l'ASCS in modo che inizi prima che l'ERS passi allo a un altro server dopo un failover:
#
pcs constraint order start ASCS_RESOURCE_GROUP then \ stop ERS_RESOURCE_GROUP symmetrical=false kind=Optional
Controlla i vincoli:
#
pcs constraintDovresti vedere un output simile al seguente:
Location Constraints: Resource: ascs-aha-instance Constraint: location-ascs-instance Rule: score=2000 Expression: runs_ers_HKN eq 1 Resource: fence-nw-ha-vm-1 Disabled on: nw-ha-vm-1 (score:-INFINITY) Resource: fence-nw-ha-vm-2 Disabled on: nw-ha-vm-2 (score:-INFINITY) Ordering Constraints: start ascs-group then stop ers-group (kind:Optional) (non-symmetrical) Colocation Constraints: ascs-group with ers-group (score:-5000) Ticket Constraints:
Come root di uno dei due server, disabilita la modalità di manutenzione del cluster:
#
pcs property set maintenance-mode="false"
Configura il connettore di cluster Red Hat per SAP
Configura SAP Start Service sapstartsrv
su ogni host nel cluster
per comunicare
tramite l'interfaccia ad alta disponibilità.
Aggiungi l'utente amministrativo SAP al gruppo
haclient
:usermod -a -G haclient SID_LCadm
Modifica i profili dell'istanza SAP aggiungendo le righe seguenti alla sezione alla fine di ogni profilo. I profili sono disponibili nel Directory
/sapmnt/SID/profiles
.service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_cluster_connector
Se le risorse delle istanze ASCS ed ERS sono attualmente in esecuzione nel cluster, disattivale:
pcs resource disable ERS_INSTANCE_RESOURCE pcs resource disable ASCS_INSTANCE_RESOURCE
Interrompi i servizi nell'host ASCS:
sapcontrol -nr ASCS_INSTANCE_NUMBER -function StopService
Interrompi i servizi sull'host ERS:
sapcontrol -nr ERS_INSTANCE_NUMBER -function StopService
Attiva le risorse:
pcs resource enable ERS_INSTANCE_RESOURCE pcs resource enable ASCS_INSTANCE_RESOURCE
Ripeti i passaggi precedenti su ciascun host nel cluster.
Per ulteriori informazioni di Red Hat, consulta Come configurare SAP halib
per le risorse SAPInstance
su RHEL 7 e 8.
Installa i server di database e di applicazioni su host esterni al cluster
In una configurazione ad alta disponibilità, ti consigliamo di installare i server database e di applicazioni su host diversi da quelli degli host ASCS ed ERS nel cluster.
Utilizzando host separati per ogni server, riduci la complessità e i rischi di un errore che interessa più server e puoi personalizzare le dimensioni Compute Engine a ogni tipo di server.
Ciò ti consente di scegliere la dimensione della macchina certificata più appropriata, per evitare errori e ridurre la complessità.
L'installazione del database e dei server delle applicazioni non è contemplata nella questa guida.
Per informazioni sull'installazione dei server di database, consulta:
- SAP HANA su Google Cloud
- SAP ASE su Google Cloud
- SAP MaxDB su Google Cloud
- IBM Db2 per SAP su Google Cloud
convalida e testa il cluster
Questa sezione mostra come eseguire i seguenti test:
- Verificare la presenza di errori di configurazione
- Verifica che le risorse ASCS ed ERS cambino server correttamente durante i failover
- Verifica che le serrature vengano conservate
- Simula un evento di manutenzione di Compute Engine per assicurarti che la migrazione live non attiva un failover
Controlla la configurazione del cluster
Con accesso come utente root su uno dei server, controlla su quali nodi sono in esecuzione le risorse:
#
pcs statusNell'esempio seguente, le risorse ASCS sono in esecuzione su
nw-ha-vm-2
e le risorse ERS siano in esecuzione sul servernw-ha-vm-1
.Stack: corosync Current DC: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Apr 13 05:21:21 2022 Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2 2 nodes configured 10 resource instances configured Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full list of resources: fence-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 Resource Group: ascs-group ascs-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 ascs-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 ascs-healthcheck (service:haproxy@AHAascs): Started nw-ha-vm-2 ascs-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-2 Resource Group: ers-group ers-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 ers-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 ers-healthcheck (service:haproxy@AHAers): Started nw-ha-vm-1 ers-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1 Migration Summary: * Node nw-ha-vm-1: * Node nw-ha-vm-2:
Passa all'utente
SID_LCadm
:#
su - SID_LCadmControlla la configurazione del cluster. Per
INSTANCE_NUMBER
, specifica il numero di istanza dell'istanza ASCS o ERS attiva sul server in cui stanno inserendo il comando:>
sapcontrol -nr INSTANCE_NUMBER -function HAGetFailoverConfigHAActive
deve essereTRUE
, come mostrato nell'esempio seguente:HAGetFailoverConfig 14.04.2022 17:25:45 HAGetFailoverConfig OK HAActive: TRUE HAProductVersion: Pacemaker HASAPInterfaceVersion: sap_cluster_connector HADocumentation: https://github.com/ClusterLabs/sap_cluster_connector HAActiveNode: HANodes:
Come
SID_LCadm
, controlla se sono presenti errori nella configurazione:>
sapcontrol -nr INSTANCE_NUMBER -function HACheckConfigDovresti vedere un output simile all'esempio seguente:
14.04.2022 21:43:39 HACheckConfig OK state, category, description, comment SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 0 ABAP instances detected SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server SUCCESS, SAP STATE, SCS instance running, SCS instance status ok SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ascs_NWT_00), SAPInstance includes is-ers patch SUCCESS, SAP CONFIGURATION, Enqueue replication (vip-ascs_NWT_00), Enqueue replication enabled SUCCESS, SAP STATE, Enqueue replication state (vip-ascs_NWT_00), Enqueue replication active SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (vip-ers_NWT_10), SAPInstance includes is-ers patch
Sul server in cui ASCS è attivo, come
SID_LCadm
, simula un failover:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function HAFailoverToNode ""Come root, se segui il failover utilizzando
crm_mon
, dovresti vedere L'ASCS viene spostato sull'altro server, l'ERS viene interrotta su quel server e, successivamente, l'ERS sul server su cui era in esecuzione l'ASCS.
Simula un failover
Testa il cluster simulando un errore sull'host principale. Utilizza un testa il sistema o esegui il test sul sistema di produzione prima di rilasciare l'uso del sistema.
Puoi simulare un errore in diversi modi, tra cui:
shutdown -r
(sul nodo attivo)ip link set eth0 down
echo c > /proc/sysrq-trigger
Queste istruzioni utilizzano ip link set eth0 down
per mettere offline l'interfaccia di rete, in quanto convalidano sia il failover sia il fencing.
Esegui il backup del sistema.
Con accesso come utente root sull'host con l'istanza SCS attiva, metti offline l'interfaccia di rete:
$
ip link set eth0 downRiconnettiti a uno dei due host tramite SSH e passa all'utente root.
Inserisci
pcs status
per confermare che l'host principale è ora attivo sulla VM che in precedenza conteneva l'host secondario. Il riavvio automatico è abilitato nel cluster, quindi l'host fermato si riavvierà e assumerà il ruolo di host secondario, come mostrato nell'esempio seguente.Stack: corosync Current DC: nw-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Apr 13 05:21:21 2022 Last change: Wed Apr 13 05:21:18 2022 by hacluster via crmd on nw-ha-vm-2 2 nodes configured 10 resource instances configured Online: [ nw-ha-vm-1 nw-ha-vm-2 ] Full list of resources: fence-nw-ha-vm-1 (stonith:fence_gce): Started nw-ha-vm-2 fence-nw-ha-vm-2 (stonith:fence_gce): Started nw-ha-vm-1 Resource Group: ascs-group ascs-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-1 ascs-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-1 ascs-healthcheck (service:haproxy@AHAascs): Started nw-ha-vm-1 ascs-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-1 Resource Group: ers-group ers-file-system (ocf::heartbeat:Filesystem): Started nw-ha-vm-2 ers-vip (ocf::heartbeat:IPaddr2): Started nw-ha-vm-2 ers-healthcheck (service:haproxy@AHAers): Started nw-ha-vm-2 ers-aha-instance (ocf::heartbeat:SAPInstance): Started nw-ha-vm-2 Migration Summary: * Node nw-ha-vm-1: * Node nw-ha-vm-2:
Verificare che le voci di blocco vengano conservate
Per verificare che le voci di blocco vengano mantenute durante un failover, seleziona prima scheda relativa alla tua versione del server di accodamento e segui la procedura generare voci di blocco, simulare un failover e confermare le voci di blocco vengono conservate dopo la nuova attivazione di ASCS.
ENSA1
Come
SID_LCadm
, sul server in cui è attiva l'ERS, genera voci di blocco usando il programmaenqt
:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 11 NUMBER_OF_LOCKSCome
SID_LCadm
, sul server in cui è attivo ASCS, verifica che le voci di blocco siano registrate:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowSe hai creato 10 blocchi, dovresti vedere un output simile al seguente esempio:
locks_now: 10
Come
SID_LCadm
, sul server in cui è attivo ERS, avvia la funzione di monitoraggioOpCode=20
del programmaenqt
:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 20 1 1 9999Ad esempio:
>
enqt pf=/sapmnt/AHA/profile/AHA_ERS10_vh-ers-aha 20 1 1 9999Se ASCS è attivo, riavvia il server.
Sul server di monitoraggio, nel momento in cui Pacemaker interrompe l'ERS per spostarlo in sull'altro server, dovresti vedere un output simile al seguente.
Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10 Number of selected entries: 10
Quando il monitoraggio di
enqt
si interrompe, esci dal monitoraggio inserendoCtrl + c
.Se vuoi, come utente root su uno dei server, monitora il failover del cluster:
#
crm_monIn qualità di
SID_LCadm
, dopo aver verificato che le serrature sono state trattene, rilasciale:>
enqt pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAME 12 NUMBER_OF_LOCKSCome
SID_LCadm
, sul server in cui è attivo ASCS, verifica che le voci di blocco siano rimosse:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_now
ENSA2
Come
SID_LCadm
, sul server in cui è attivo ASCS, genera voci di blocco usando il programmaenq_adm
:>
enq_admin --set_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ASCSASCS_INSTANCE_NUMBER_ASCS_VIRTUAL_HOST_NAMECome
SID_LCadm
, sul server in cui è attivo ASCS, verifica che le voci di blocco siano registrate:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowSe hai creato 10 blocchi, dovresti vedere un output simile all'esempio riportato di seguito:
locks_now: 10
Se ERS è attivo, verifica che le voci di blocco siano state replicate:
>
sapcontrol -nr ERS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowIl numero di blocchi restituiti deve essere lo stesso dell'istanza ASCS.
Se ASCS è attivo, riavvia il server.
Facoltativamente, come root su uno dei due server, monitora il failover del cluster:
#
crm_monCome
SID_LCadm
, sul server in cui era riavviato, verifica che le voci del blocco siano state conservate:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowCome
SID_LCadm
, sul server in cui è attivo ERS, dopo aver verificato che le serrature sono state conservate, liberale:>
enq_admin --release_locks=NUMBER_OF_LOCKS:X:DIAG::TAB:%u pf=/PATH_TO_PROFILE/SID_ERSERS_INSTANCE_NUMBER_ERS_VIRTUAL_HOST_NAMECome
SID_LCadm
, sul server in cui è attivo ASCS, verifica che le voci di blocco siano state rimosse:>
sapcontrol -nr ASCS_INSTANCE_NUMBER -function EnqGetStatistic | grep locks_nowDovresti vedere un output simile al seguente esempio:
locks_now: 0
Simula un evento di manutenzione di Compute Engine
Simula un evento di manutenzione di Compute Engine per assicurarti che la migrazione live non attivi un failover.
I valori di timeout e intervallo utilizzati in queste istruzioni tengono conto della durata delle migrazioni in tempo reale. Se utilizzi valori più brevi nella configurazione del cluster, il rischio che la migrazione in tempo reale possa attivare un failover è maggiore.
Per testare la tolleranza del cluster per la migrazione in tempo reale:
Sul nodo principale, attiva un evento di manutenzione simulato utilizzando il seguente comando gcloud CLI:
$
gcloud compute instances simulate-maintenance-event PRIMARY_VM_NAMEVerifica che il nodo principale non cambi:
$
pcs status
Valutare il carico di lavoro SAP NetWeaver
Per automatizzare i controlli di convalida continui per l'alta disponibilità di SAP NetWeaver carichi di lavoro in esecuzione su Google Cloud, puoi utilizzare Gestione dei carichi di lavoro.
Gestore carichi di lavoro consente di analizzare e valutare automaticamente l'alta disponibilità SAP NetWeaver carichi di lavoro con le best practice di fornitori SAP, Google Cloud e sistemi operativi. In questo modo puoi migliorare la qualità, le prestazioni e l'affidabilità dei tuoi carichi di lavoro.
Per informazioni sulle best practice utilizzate da Gestore carichi di lavoro supporta la valutazione dell'alta disponibilità di SAP NetWeaver carichi di lavoro in esecuzione su Google Cloud, Best practice di Workload Manager per SAP. Per informazioni sulla creazione e sull'esecuzione di una valutazione utilizzando Workload Manager, consulta Creare ed eseguire una valutazione.
Risoluzione dei problemi
Per risolvere i problemi relativi alle configurazioni ad alta disponibilità per SAP NetWeaver, consulta la pagina relativa alla risoluzione dei problemi delle configurazioni ad alta disponibilità per SAP.
Raccogli informazioni diagnostiche per i cluster SAP NetWeaver ad alta disponibilità
Se hai bisogno di aiuto per risolvere un problema relativo ai cluster ad alta disponibilità per SAP NetWeaver, raccogliere le informazioni diagnostiche richieste e contatta l'assistenza clienti Google Cloud.
Per raccogliere informazioni diagnostiche, vedi Cluster ad alta disponibilità con informazioni diagnostiche RHEL.Assistenza
In caso di problemi con l'infrastruttura o i servizi Google Cloud, contatta l'assistenza clienti. Puoi trovare i dati di contatto nella Pagina Panoramica dell'assistenza nella console Google Cloud. Se l'assistenza clienti stabilisce che un problema risiede nei tuoi sistemi SAP, verrai indirizzato a SAP Support.
Per problemi relativi ai prodotti SAP, registra la richiesta di assistenza con
Assistenza SAP.
SAP valuta il ticket di assistenza e, se sembra essere un account Google Cloud,
relativo a un problema dell'infrastruttura, SAP trasferisce il ticket
Componente Google Cloud nel sistema: BC-OP-LNX-GOOGLE
oppure
BC-OP-NT-GOOGLE
.
Requisiti di assistenza
Prima di poter ricevere assistenza per sistemi SAP e Google Cloud infrastruttura e servizi che utilizzano, devi soddisfare i requisiti minimi requisiti dei piani di assistenza.
Per ulteriori informazioni sui requisiti minimi di assistenza per SAP su Google Cloud, consulta:
- Ricevi assistenza per SAP su Google Cloud
- Nota SAP 2456406 - SAP su Google Cloud: prerequisiti per l'assistenza (è richiesto un account utente SAP)
Eseguire le attività di post-deployment
Prima di utilizzare il sistema SAP NetWeaver, ti consigliamo di eseguire il backup del nuovo sistema SAP NetWeaver HA.
Per ulteriori informazioni, consulta la Guida alle operazioni di SAP NetWeaver.
Passaggi successivi
Per ulteriori informazioni sull'alta disponibilità, SAP NetWeaver e Google Cloud, consulta le seguenti risorse:
Guida alla pianificazione dell'alta disponibilità per SAP NetWeaver su Google Cloud
Per ulteriori informazioni sull'amministrazione e il monitoraggio delle VM, consulta Guida operativa di SAP NetWeaver