Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come distribuire e configurare Azure macchine virtuali (VM), installare il framework del cluster e installare un sistema SAP NetWeaver a disponibilità elevata con una struttura di montaggio semplice. È possibile implementare l'architettura presentata usando uno dei servizi NFS (Network File System) nativi di Azure selezionabili in precedenza.
Questo articolo descrive una configurazione a disponibilità elevata per ASCS con una semplice struttura di montaggio. Per distribuire il livello applicativo SAP, sono necessarie directory condivise come /sapmnt/SID, /usr/sap/SID e /usr/sap/trans, a disponibilità elevata.
È comunque necessario un cluster Pacemaker per proteggere i componenti a singolo punto di errore, ad esempio SAP Central Services (SCS) e ASCS.
Rispetto alla configurazione classica del cluster Pacemaker, con la distribuzione di montaggio semplice, il cluster non gestisce i file system.
Questo articolo non tratta il livello del database.
Le configurazioni di esempio e i comandi di installazione usano i numeri di istanza e i nomi dei server seguenti.
| Nome dell'istanza | Numero istanza |
|---|---|
| ASCS | 00 |
| Server di accodamento per replica (ERS) | 01 |
| Server applicazioni primario (PAS) | 02 |
| Server applicazioni aggiuntivo (AAS) | 03 |
| Identificatore di sistema SAP | NW1 |
Questo diagramma illustra una tipica architettura a disponibilità elevata di SAP NetWeaver con un montaggio semplice. I file system 'sapmnt' e 'saptrans' vengono distribuiti su NFS nativo di Azure, condivisioni NFS su File di Azure o volumi NFS su Azure NetApp Files. Un cluster Pacemaker protegge i servizi centrali SAP. Le macchine virtuali in cluster si trovano dietro un servizio di bilanciamento del carico Azure. Il cluster Pacemaker non gestisce i file system, a differenza della configurazione classica di Pacemaker.
Importante
SUSE supporta la configurazione del cluster con semplice montaggio su SLES per SAP Applications 15 e versioni successive.
Prerequisiti
Le guide seguenti contengono tutte le informazioni necessarie per configurare un sistema a disponibilità elevata NetWeaver:
- Documentazione SUSE
- Documentazione SAP per SUSE
- SAP Note 1275776: Documentazione SAP SUSE
- SAP Note 3565382: impostazioni consigliate del sistema operativo per SLES 16
- SAP Note 2578899: impostazioni consigliate del sistema operativo per SLES 15
- Documentazione sap per SAP in Azure
- Nota SAP 1928533, contenente:
- Elenco delle dimensioni delle macchine virtuali di Azure supportate per la distribuzione del software SAP
- Informazioni importanti sulla capacità per le dimensioni delle macchine virtuali Azure
- Software SAP, sistemi operativi (OS) supportati e combinazioni
- Versione del kernel SAP necessaria per Windows e Linux in Microsoft Azure
- Nota SAP 2015553, che elenca i prerequisiti per le distribuzioni software SAP supportate da SAP in Azure.
- Nota SAP 2178632, con informazioni dettagliate su tutte le metriche di monitoraggio segnalate per SAP in Azure
- Nota SAP 2191498, con la versione dell'agente host SAP richiesta per Linux in Azure
- Nota SAP 2243692, che contiene informazioni sulle licenze SAP in Linux in Azure
- Nota SAP 1999351, che include altre informazioni sulla risoluzione dei problemi per l'estensione di monitoraggio avanzato Azure per SAP
- Nota SAP 1928533, contenente:
- documentazione di Azure Services
- Documentazione di NetApp NFS
- Microsoft SAP nella documentazione di Azure
Preparare l'infrastruttura
L'agente di risorse per SAP Instance è incluso in SUSE Linux Enterprise Server per le immagini SAP su Azure Marketplace. Puoi usarlo per distribuire nuove VM.
Distribuire manualmente le macchine virtuali Linux tramite il portale di Azure
Questo articolo presuppone che tu abbia precedentemente distribuito un gruppo di risorse, Rete virtuale di Azure e una subnet per il tuo cluster.
Distribuire VM per SAP ASCS, ERS e server applicazioni. Scegli una versione adatta di SLES supportata per il tuo sistema SAP. È possibile distribuire macchine virtuali in una delle opzioni di disponibilità, ovvero set di scalabilità di macchine virtuali, zona di disponibilità o set di disponibilità.
Configurare Azure servizio di bilanciamento del carico
Durante la configurazione della macchina virtuale è possibile creare o selezionare un servizio di bilanciamento del carico interno esistente nella sezione Rete. Seguire i passaggi descritti per configurare un servizio di bilanciamento del carico standard per la configurazione a disponibilità elevata di un sistema SAP. È necessaria una combinazione di ip front-end, probe di integrità e regola di bilanciamento del carico per ogni servizio che si ospita nel cluster.
Usare il seguente riferimento durante la configurazione di ILB:
- Configurazione IP front-end: creare un indirizzo IP per ogni servizio che si ospita nel cluster. Deve trovarsi nella stessa rete virtuale e nella stessa subnet delle macchine virtuali.
- Pool di back-end: crea un pool di back-end per il tuo cluster e aggiungi le tue macchine virtuali.
- Controlli di integrità: creare un controllo di integrità per ciascun servizio del cluster, usare le opzioni seguenti:
- Protocollo: TCP
- Porta: 625## (dove ## è il numero di istanza del servizio)
- Intervallo: 5
- Soglia probe: 2
- Regole di bilanciamento del carico: crearne una per servizio nel cluster.
- Protocollo: TCP
- IP frontend: selezionare l'indirizzo IP corrispondente per il proprio servizio
- Pool back-end: selezionare il pool back-end
- Porte a disponibilità elevata: usare questa opzione
- Probe di integrità: seleziona la probe di integrità corrispondente per il tuo servizio
- Persistenza della sessione: Nessuna
- Timeout di inattività (minuti): 30
- Abilita reimpostazione TCP: No
- Abilita Floating IP: Sì
Seguire la guida Creare il servizio di bilanciamento del carico per configurare un servizio di bilanciamento del carico standard per un sistema SAP a disponibilità elevata usando il portale di Azure.
Note
La proprietà di configurazione ProbeThreshold del controllo integrità non può essere impostata nel Portal. Per controllare il numero di probe consecutivi con esito positivo o negativo, impostare la proprietà "probeThreshold" su 2 tramite i comandi interfaccia della riga di comando di Azure o PowerShell.
Note
Quando le macchine virtuali senza indirizzi IP pubblici vengono aggiunte al pool back-end di un Azure Load Balancer Standard interno, non dispone della connettività Internet in uscita. È necessaria un'ulteriore configurazione per abilitare il routing agli endpoint pubblici. Per informazioni dettagliate su come ottenere la connettività in uscita, vedere la sezione relativa alla connettività degli endpoint pubblici per le macchine virtuali utilizzando Azure Load Balancer Standard negli scenari di alta disponibilità SAP.
Importante
Non abilitare timestamp TCP nelle macchine virtuali Azure posizionate dietro Azure Load Balancer. Se si abilitano i timestamp TCP, i probe di integrità hanno esito negativo. Impostare il parametro net.ipv4.tcp_timestamps su 0. Per informazioni dettagliate, vedere sonde di integrità del Load Balancer.
Importante
- Per evitare
saptunedi cambiare il valore impostatonet.ipv4.tcp_timestampsmanualmente da0ritorno a1, aggiornasaptunealla versione 3.1.1 o successiva. Per maggiori informazioni, vedi Saptune 3.1.1 – Devo aggiornare?
Distribuire NFS su File di Azure
NFS su File di Azure viene eseguito su File di Azure Premium Storage. Prima di configurare NFS in File di Azure, vedere Come creare una condivisione NFS.
Sono disponibili due opzioni per la ridondanza all'interno di un'area Azure:
- Archiviazione con ridondanza locale offre la replica dei dati sincrona locale e in zona.
- L'archiviazione con ridondanza della zona replica i dati in modo sincrono in tre zone di disponibilità nell'area.
Controllare se l'area Azure selezionata offre File di Azure Premium con la ridondanza necessaria. Esaminare la disponibilità di File di Azure per ogni area di Azure per Archiviazione file Premium. Se il tuo scenario trae vantaggio da ZRS, verifica che le condivisioni file Premium con ZRS siano supportate nella tua area di Azure.
È consigliabile accedere all'account di archiviazione Azure tramite un endpoint privato Azure. Assicurarsi di distribuire l'endpoint dell'account di archiviazione File di Azure e le macchine virtuali in cui è necessario montare le condivisioni NFS, nella stessa rete virtuale Azure o in una rete virtuale con peering Azure.
- Distribuire un account di archiviazione File di Azure denominato sapnfsafs. Questo esempio usa l'archiviazione con ridondanza della zona. Se non si ha familiarità con il processo, vedere Creare un account di archiviazione per il portale di Azure.
- Nella scheda Informazioni di base usare queste impostazioni:
- Per Nome dell'account di archiviazione, immettere sapnfsafs.
- In Prestazioni, selezionare Premium.
- Per tipo di account Premium, selezionare FileStorage.
- Per Replica, selezionare Ridondanza della zona (ZRS).
- Seleziona Avanti.
- Nella scheda Avanzate deselezionare Richiedi trasferimento sicuro per le API REST. Se non si deseleziona questa opzione, non è possibile montare la condivisione NFS nella macchina virtuale (l'operazione di montaggio scade).
- Seleziona Avanti.
- Nella sezione Rete configurare queste impostazioni:
- In Connettività di rete, per Metodo di connettivitàselezionare endpoint privato.
- In endpoint privatoselezionare Aggiungi endpoint privato.
- Nel riquadro Crea endpoint privato selezionare la sottoscrizione, il gruppo di risorse e la località. Effettuare quindi le selezioni seguenti:
- Per Nome immettere sapnfsafs_pe.
- Per Risorsa secondaria di archiviazione, selezionare file.
- In Rete, per rete virtualeselezionare la rete virtuale e la subnet da usare. Anche in questo caso, è possibile usare la rete virtuale in cui si trovano le macchine virtuali SAP o una rete virtuale con peering.
- In DNS privato integration accettare l'opzione predefinita di Yes per Integrate con private DNS zone. Assicurarsi di selezionare la zona DNS privata.
- Seleziona OK.
- Nella scheda Rete selezionare Avanti.
- Nella scheda Protezione dati mantenere tutte le impostazioni predefinite.
- Selezionare Rivedi e crea per convalidare la configurazione.
- Attendere il completamento della convalida. Risolvere eventuali problemi prima di continuare.
- Nella scheda Rivedi e crea selezionare Crea.
Distribuire quindi le condivisioni NFS nell'account di archiviazione creato. In questo esempio sono presenti due condivisioni NFS, sapnw1 e saptrans.
- Accedere al portale Azure.
- Selezionare o cercare gli account di archiviazione.
- Nella pagina Account di archiviazione, selezionare sapnfsafs.
- Nel menu delle risorse per sapnfsafs selezionare Condivisioni file in Archiviazione dati.
- Nella pagina Condivisioni file selezionare Condivisione file, quindi:
- Per Nome, immettere
**sapnw1**,**saptrans**. - Selezionare una dimensione di condivisione appropriata. Prendere in considerazione le dimensioni dei dati archiviati nella condivisione, I/O al secondo (IOPS) e i requisiti di velocità effettiva. Per ulteriori informazioni, vedere destinazioni di condivisioni file Azure.
- Selezionare NFS come protocollo.
- Selezionare Nessuna radice Squash. In caso contrario, quando si montano le condivisioni nelle macchine virtuali, non è possibile visualizzare il proprietario o il gruppo di file.
- Per Nome, immettere
Note
File di Azure NFS supporta la cifratura dei dati in transito (EiT). Se si desidera usare la crittografia in transito, leggere Crittografia in transito per NFS di File di Azure per sistemi SAP in Azure per informazioni sulla configurazione e la distribuzione.
Considerazioni importanti per NFS sulle condivisioni File di Azure
Quando si pianifica la distribuzione con NFS in File di Azure, tenere presenti i punti importanti seguenti:
- Le dimensioni minime della condivisione sono di 100 GiB. Si paga solo per la capacità delle condivisioni di cui è stato effettuato il provisioning.
- Ridimensionare le condivisioni NFS non solo in base ai requisiti di capacità, ma anche ai requisiti di IOPS e velocità effettiva. Per informazioni dettagliate, vedere destinazioni di file share di Azure.
- Testare il carico di lavoro per convalidare il ridimensionamento e assicurarsi che soddisfi gli obiettivi di prestazioni. Per informazioni su come risolvere i problemi di prestazioni con NFS in File di Azure, consultare Risoluzione dei problemi di prestazioni della condivisione file di Azure.
- Per i sistemi SAP J2EE, l'inserimento di
/usr/sap/<SID>/J<nr>in NFS in File di Azure non è supportato. - Se il sistema SAP ha un carico elevato di processi batch, potrebbero essere presenti milioni di log di processo. Se i log dei processi batch SAP vengono archiviati nel file system, prestare particolare attenzione al dimensionamento della condivisione
sapmnt. A partire da SAP_BASIS 7.52, il comportamento predefinito per i log dei processi batch deve essere archiviato nel database. Per dettagli, vedere Job in accesso al database. - Distribuire una condivisione
sapmntseparata per ogni sistema SAP. - Non usare la condivisione
sapmntper altre attività, ad esempio interfacce. - Non usare la condivisione
saptransper altre attività, ad esempio interfacce. - Evitare di consolidare le condivisioni per troppi sistemi SAP in un singolo account di archiviazione. Esistono anche obiettivi di scalabilità e prestazioni per gli account di archiviazione. Prestare attenzione a non superare i limiti per l'account di archiviazione.
- In generale, non consolidare le condivisioni per più di cinque sistemi SAP in un singolo account di archiviazione. Questa linea guida consente di evitare di superare i limiti dell'account di archiviazione e semplifica l'analisi delle prestazioni.
- In generale, evitare di combinare condivisioni come
sapmntper sistemi SAP non di produzione e nello stesso account di archiviazione. - Assicurarsi che il kernel Linux sia superiore alla versione 5.12.5 per evitare il bug indicato nei miglioramenti del client NFS.
- Usare un endpoint privato. In caso di errore di zona improbabile, le sessioni NFS reindirizzeranno automaticamente a una zona integra. Non è necessario rimontare le condivisioni NFS nelle macchine virtuali.
- Se si distribuiscono le macchine virtuali tra zone di disponibilità, usare un account di archiviazione con ZRS nelle aree di Azure che supportano la ridondanza della zona.
- File di Azure attualmente non supporta la replica automatica tra aree per gli scenari di ripristino di emergenza.
I file system SAP che non devono essere montati tramite NFS possono anche essere distribuiti su archiviazione su disco di Azure. In questo esempio è possibile distribuire /usr/sap/NW1/D02 e /usr/sap/NW1/D03 nell'archiviazione su disco Azure.
Distribuire Azure NetApp Files
Azure NetApp Files è un servizio nativo di archiviazione file a prestazioni elevate che fornisce volumi come servizio. In questo caso viene usato per ospitare le condivisioni SAP NFS.
Verificare che il servizio Azure NetApp Files sia disponibile nell'area di Azure scelta.
Creare l'account NetApp nell'area di Azure selezionata.
Creare un pool di capacità per Azure NetApp Files.
L'architettura sap NetWeaver presentata in questo articolo usa un singolo pool di capacità Azure NetApp Files, SKU Premium. È consigliabile Azure NetApp Files SKU Premium per i carichi di lavoro delle applicazioni SAP NetWeaver in Azure.
Creare un volume NFS per Azure NetApp Files. Distribuire i volumi nella sottorete designata di Azure NetApp Files. Gli indirizzi IP dei volumi Azure NetApp vengono assegnati automaticamente.
Tenere presente che le risorse di Azure NetApp Files e le macchine virtuali Azure devono trovarsi nella stessa rete virtuale Azure o in reti virtuali con peering Azure. In questo esempio vengono usati due volumi di Azure NetApp Files:
sapnw1etrans. I percorsi di file montati nei punti di montaggio corrispondenti sono:- Volume
sapnw1(nfs://10.27.1.5/sapnw1/sapmntNW1) - Volume
sapnw1(nfs://10.27.1.5/sapnw1/usrsapNW1) - Volume
trans(nfs://10.27.1.5/trans)
- Volume
Considerazioni importanti per NFS in Azure NetApp Files
Quando si prende in considerazione Azure NetApp Files per l'architettura a disponibilità elevata di SAP NetWeaver, tenere presenti le considerazioni importanti seguenti:
- Il pool di capacità minimo è di 4 tebibyte (TiB). È possibile aumentare le dimensioni del pool di capacità in incrementi di 1 TiB.
- Il volume minimo è 100 GiB.
- Azure NetApp Files e tutte le macchine virtuali in cui vengono montati i volumi Azure NetApp Files devono trovarsi nella stessa rete virtuale Azure. Se non si trovano nella stessa rete virtuale, devono trovarsi in reti virtuali connesse tramite peering nella stessa regione. È supportato l'accesso ad Azure NetApp Files tramite peering di rete virtuale nella stessa regione. L'accesso ad Azure NetApp Files tramite peering globale non è ancora supportato.
- La rete virtuale selezionata deve avere una subnet delegata per Azure NetApp Files.
- Le caratteristiche di velocità effettiva e prestazioni di un volume Azure NetApp Files sono una funzione della quota del volume e del livello di servizio, come documentato in Livello di servizio per Azure NetApp Files. Quando si ridimensionano i volumi Azure NetApp Files per SAP, assicurarsi che la velocità effettiva risultante soddisfi i requisiti dell'applicazione.
- Azure NetApp Files offre un criterio di esportazione. È possibile controllare i client consentiti e il tipo di accesso, ad esempio lettura/scrittura o sola lettura.
- Azure NetApp Files non è ancora a conoscenza della zona. Attualmente, Azure NetApp Files non viene distribuito in tutte le zone di disponibilità in un'area Azure. Tenere presenti le potenziali implicazioni di latenza in alcune aree Azure.
- Azure NetApp Files volumi possono essere distribuiti come volumi NFSv3 o NFSv4.1. Entrambi i protocolli sono supportati per il livello applicazione SAP (server di applicazione SAP, ASCS/ERS).
I file system SAP che non devono essere montati tramite NFS possono anche essere distribuiti su archiviazione su disco di Azure. In questo esempio è possibile distribuire /usr/sap/NW1/D02 e /usr/sap/NW1/D03 nell'archiviazione su disco Azure.
Preparare i nodi del cluster Pacemaker per l'installazione di SAP
Il passaggio successivo consiste nel preparare i nodi per l'installazione. Inizia seguendo i passaggi di Configura Pacemaker su SUSE Linux Enterprise Server in Azure, poi prosegui.
Note
Gli elementi seguenti sono preceduti da:
- [A]: applicabile a tutti i nodi.
- [1]: applicabile solo al nodo 1.
- [2]: applicabile solo al nodo 2.
[A] Installare la versione più recente di SAP Cluster Connector e gli agenti di risorse SAP.
sudo zypper -n install sap-suse-cluster-connector sapstartsrv-resource-agentsImportante
È necessario avere
sapstartsrv-resource-agents 0.9.1o una versione successiva per Simple Mount.
[A] Configurare la risoluzione dei nomi host. È possibile usare un server DNS o modificare
/etc/hostsin tutti i nodi. In questo esempio viene illustrato come usare il file/etc/hosts.Aggiorna le voci per farle corrispondere ai tuoi IP e ai tuoi nomi host.
sudo vi /etc/hosts [...] # IP address of cluster node 1 10.27.0.6 sap-cl1 # IP address of cluster node 2 10.27.0.7 sap-cl2 # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS 10.27.0.9 sapascs # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS 10.27.0.10 sapers # Add Any Additional Hostnames/IPs as needed for the Database and/or Additional Application Servers 10.27.0.8 sapa01 10.27.0.11 sapa02 10.27.0.3 sapdb1 10.27.0.4 sapdb2 10.27.0.5 sapdb[A] Configura le impostazioni di TCP KeepAlive.
Per assicurarsi che i canali di comunicazione tra nodi non vengano eliminati, configurare le impostazioni keepalive seguenti in entrambi i nodi. Per altre informazioni, vedere la nota SAP 1410736.
# Check Current Settings: sudo sysctl -a --pattern net.ipv4.tcp_keepalive net.ipv4.tcp_keepalive_intvl = 75 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_time = 7200 # Set the values: sudo vi /etc/sysctl.d/sap.conf net.ipv4.tcp_keepalive_intvl=75 net.ipv4.tcp_keepalive_probes=9 net.ipv4.tcp_keepalive_time=300 # Apply the changes. sudo sysctl --system[A] Configurare il file SWAP. Seguire Creare una partizione SWAP per una macchina virtuale Linux Azure per configurare uno spazio SWAP per ogni macchina virtuale.
[1] Configurazione dei valori predefiniti delle risorse di Pacemaker
# Check Values sudo crm configure show type:rsc_defaults # Output rsc_defaults build-resource-defaults: \ resource-stickiness=1 \ migration-threshold=3 \ priority=1 # Set Values if Required sudo crm configure rsc_defaults resource-stickiness=1 migration-threshold=3
Preparare e montare condivisioni SAP
[1] Creare le sottodirectory di SAP nella condivisione NFS
# Temporarily mount the volume. sudo mkdir -p /saptmp sudo mount -t nfs sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,nfsvers=4.1,sec=sys # Create the SAP sub directories. cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1 # Unmount the volume and delete the temporary directory. cd .. sudo umount /saptmp sudo rmdir /saptmp[A] Creare le directory dei punti di montaggio
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/NW1 sudo chattr +i /usr/sap/transMontare le condivisioni NFS
sudo vi /etc/fstab [...] sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,nfsvers=4.1,sec=sys,hard 0 0 sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1 /usr/sap/NW1 nfs noresvport,nfsvers=4.1,sec=sys,hard 0 0 sapnfsafs.file.core.windows.net:/saptrans /usr/sap/trans nfs noresvport,nfsvers=4.1,sec=sys,hard 0 0 # Mount the file systems. sudo mount -aNote
Per i file system abilitati per la crittografia in transito (EiT), usare
aznfscome tipo di file system nella sintassi dei comandi di montaggio. Leggere Crittografia in transito per NFS di File di Azure per sistemi SAP in Azure per informazioni sull'abilitazione della crittografia in transito e del montaggio dei file system.
[a] Disabilita la mappatura ID (solo NFSv4.1)
Modificare l'impostazione del dominio NFS. Assicurarsi che il dominio sia configurato come dominio di Azure NetApp Files predefinito,
defaultv4iddomain.com. Verificare anche che il mapping sia impostato sunobody.sudo vi /etc/idmapd.conf [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = defaultv4iddomain.com [...] [Mapping] Nobody-User = nobody Nobody-Group = nobody [...]Verificare
nfs4_disable_idmapping. Deve essere impostato suY.Per creare la struttura di directory in cui si trova
nfs4_disable_idmapping, eseguire il comandomount. Non è possibile creare manualmente la directory in/sys/modulesperché l'accesso è riservato per il kernel e i driver.# Check nfs4_disable_idmapping. cat /sys/module/nfs/parameters/nfs4_disable_idmapping # If you need to set nfs4_disable_idmapping to Y: sudo mkdir /mnt/tmp sudo mount 10.27.1.5:/sapnw1 /mnt/tmp sudo umount /mnt/tmp echo "Y" | sudo tee /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent. echo "options nfs nfs4_disable_idmapping=Y" | sudo tee -a /etc/modprobe.d/nfs.conf
[1] montare temporaneamente il volume Azure NetApp Files in una delle macchine virtuali e creare le directory SAP (percorsi di file).
# Temporarily mount the volume. sudo mkdir -p /saptmp # NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 10.27.1.5:/sapnw1 /saptmp # NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 10.27.1.5:/sapnw1 /saptmp # Create the SAP directories. cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1 # Unmount the volume and delete the temporary directory. cd .. sudo umount /saptmp sudo rmdir /saptmp[A] Creare le directory condivise.
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/NW1 sudo chattr +i /usr/sap/trans[A] Montare i file system.
sudo vi /etc/fstab [...] # NFSv4.1 10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0 10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0 10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0 # NFSv3 10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0 10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=3,hard 0 0 10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3,hard 0 0 # Mount the file systems. sudo mount -a
Installare SAP NetWeaver ASCS ed ERS
[1] Creare una risorsa IP virtuale e una sonda di integrità per l'istanza di ASCS.
Importante
Consigliamo di utilizzare il
azure-lbresource agent, che fa parte del pacchetto resource-agents.sudo crm node standby sap-cl2 sudo crm configure primitive vip_NW1_ASCS IPaddr2 params ip=10.27.0.9 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62500 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000Controlla che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Finché le risorse
g-NW1_ASCSsono attivesap-cl1, sei a posto.sudo crm status Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: sap-cl1 (version 2.1.7+20231219.0f7f88312-150600.6.12.1-2.1.7+20231219.0f7f88312) - partition with quorum * Last updated: Wed Jul 8 21:26:21 2026 on sap-cl1 * Last change: Mon Jun 8 20:49:31 2026 by root via root on sap-cl1 * 2 nodes configured * 3 resource instances configured Node List: * Node sap-cl2: standby * Online: [ sap-cl1 ] Full List of Resources: * stonith-sbd (stonith:external/sbd): Started sap-cl1 * Resource Group: g-NW1_ASCS: * nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 * vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1[1] Installare SAP NetWeaver ASCS come radice nel primo nodo.
Usare un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ASCS (ad esempio
sapascs,10.27.0.9) e il numero di istanza usato per il probe del servizio di bilanciamento del carico (ad esempio,00).È possibile usare il parametro
sapinstSAPINST_REMOTE_ACCESS_USERper consentire a un utente nonroot di connettersi asapinst. È possibile usare il parametroSAPINST_USE_HOSTNAMEper installare SAP usando un nome host virtuale.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>[1] Creare una risorsa IP virtuale e una sonda di integrità per l'istanza di ERS.
sudo crm node online sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive vip_NW1_ERS IPaddr2 params ip=10.27.0.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62501 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS nc_NW1_ERS vip_NW1_ERSControlla che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Finché le risorse
g-NW1_ERSsono attivesap-cl2, sei a posto.sudo crm status Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: sap-cl1 (version 2.1.7+20231219.0f7f88312-150600.6.12.1-2.1.7+20231219.0f7f88312) - partition with quorum * Last updated: Wed Jul 8 21:26:21 2026 on sap-cl1 * Last change: Mon Jun 8 20:49:31 2026 by root via root on sap-cl1 * 2 nodes configured * 5 resource instances configured Node List: * Node sap-cl1: standby * Online: [ sap-cl2 ] Full List of Resources: * stonith-sbd (stonith:external/sbd): Started sap-cl2 * Resource Group: g-NW1_ASCS: * nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 * vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 * Resource Group: g-NW1_ERS: * nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 * vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2[2] Installare SAP NetWeaver ERS come radice nel secondo nodo.
Usare un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ERS ( ad esempio,
sapers,10.27.0.10) e il numero di istanza usato per il probe del servizio di bilanciamento del carico (ad esempio,01).È possibile usare il
SAPINST_REMOTE_ACCESS_USERparametro per consentire a un utente nonroot di connettersi asapinst. È possibile usare il parametroSAPINST_USE_HOSTNAMEper installare SAP usando un nome host virtuale.<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostnameNote
Usare SWPM SP 20 PL 05 o versione successiva. Le versioni precedenti non impostano correttamente le autorizzazioni e causano l'esito negativo dell'installazione.
Configurare SAP per l'esecuzione nel cluster
[1] Aggiungere librerie di cluster ai profili di tutte le istanze gestite dal cluster.
sudo vi /sapmnt/NW1/profile/NW1_<instanceProfile>_nw1<instance> [...] #----------------------------------------------------------------------- # SAP Cluster Config #----------------------------------------------------------------------- service/halib = $(DIR_EXECUTABLE)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector [...]
[1] Adattare i profili di istanza per l'esecuzione in un cluster.
- I profili ASCS e ERS possono contenere
Restart_Programconfigurazioni per determinati servizi di istanza per impostazione predefinita. Modificare queste voci inStart_Programper impedire a SAP di riavviare automaticamente il processo di replica dell'enqueue, perché il cluster lo gestisce.- Profilo ASCS (server di accodamento)
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1ascs [...] #----------------------------------------------------------------------- # Start SAP enqueue server #----------------------------------------------------------------------- _ENQ = enq.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME) Execute_04 = local rm -f $(_ENQ) Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ) Start_Program_01 = local $(_ENQ) pf=$(_PF) [...] - Profilo ERS (replicatore di accodamento)
sudo vi /sapmnt/NW1/profile/NW1_ERS01_nw1ers [...] #----------------------------------------------------------------------- # Start enqueue replicator #----------------------------------------------------------------------- _ENQR = enqr.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME) Execute_02 = local rm -f $(_ENQR) Execute_03 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR) Start_Program_00 = local $(_ENQR) pf=$(_PF) [...]
- Profilo ASCS (server di accodamento)
- Rimuovere
Autostartda qualsiasi istanza del cluster, perché il cluster li gestisce. -
Solo ENSA1: aggiungere il parametro Keepalive al profilo ERS.
sudo vi /sapmnt/NW1/profile/NW1_ERS01_nw1ers [...] enque/encni/set_so_keepalive = TRUE [...]
- I profili ASCS e ERS possono contenere
[A] Aggiungi l'account
sidadmal gruppohaclientper consentirgli di eseguire i comandi del cluster.sudo usermod -a -G haclient nw1adm[A] Registrare i servizi ASCS e ERS in entrambi i nodi. Questo passaggio aggiunge o aggiorna le voci nel
/usr/sap/sapservicesfile in modo che entrambi i servizi siano elencati.sudo LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_nw1ascs -reg sudo LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_nw1ers -reg[A] Verificare che tutti i servizi SAP siano arrestati e disabilitati in entrambi i nodi. Il cluster li gestisce.
# Run as sidadm sudo su - nw1adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService #Log off of sidadm exit sudo systemctl disable SAPNW1_00 sudo systemctl disable SAPNW1_01[A] Abilitare
sappingesappongservizi.L'agente
sappingviene eseguito prima disapinitper nascondere il file/usr/sap/sapservices. L'agentesappongviene eseguito doposapinitper scoprire il filesapservicesdurante l'avvio della macchina virtuale.SAPStartSrvnon viene avviato automaticamente per un'istanza SAP in fase di avvio, perché il cluster Pacemaker lo gestisce.sudo systemctl enable sapping sudo systemctl enable sappong
-
[1] Creare servizi SAP nel cluster.
- Impostare il cluster in modalità di manutenzione.
sudo crm configure property maintenance-mode=true - Creare i servizi ASCS e ERS.
# ASCS Resources sudo crm configure primitive rsc_SAPStartSrv_NW1_ASCS00 \ ocf:suse:SAPStartSrv params InstanceName=NW1_ASCS00_nw1ascs sudo crm configure primitive rsc_SAPInstance_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1ascs \ START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1ascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 priority=100 # ERS Resources sudo crm configure primitive rsc_SAPStartSrv_NW1_ERS01 \ ocf:suse:SAPStartSrv params InstanceName=NW1_ERS01_nw1ers sudo crm configure primitive rsc_SAPInstance_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_nw1ers \ START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_nw1ers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true# ASCS Resources sudo crm configure primitive rsc_SAPStartSrv_NW1_ASCS00 \ ocf:suse:SAPStartSrv params InstanceName=NW1_ASCS00_nw1ascs # NFSv4.1 sudo crm configure primitive rsc_SAPInstance_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=120 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1ascs \ START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1ascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 priority=100 # NFSv3 sudo crm configure primitive rsc_SAPInstance_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1ascs \ START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1ascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 priority=100 # ERS Resources sudo crm configure primitive rsc_SAPStartSrv_NW1_ERS01 \ ocf:suse:SAPStartSrv params InstanceName=NW1_ERS01_nw1ers # NFSv4.1 sudo crm configure primitive rsc_SAPInstance_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=120 on-fail=restart \ params InstanceName=NW1_ERS01_nw1ers \ START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_nw1ers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true # NFSv3 sudo crm configure primitive rsc_SAPInstance_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_nw1ers \ START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_nw1ers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true - Configura gruppi e vincoli per il cluster.
sudo crm configure modgroup g-NW1_ASCS add rsc_sapstartsrv_NW1_ASCS00 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sapstartsrv_NW1_ERS01 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure order ord_sap_NW1_first_start_ascs \ Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false - Configura proprietà e vincoli specifici per ENSA.
- Abilitare i nodi e disattivare la modalità di manutenzione del cluster.
sudo crm node online sap-cl1 sudo crm configure property maintenance-mode=false
- Impostare il cluster in modalità di manutenzione.
- Verifica la configurazione del cluster. Dovrebbe avere uno status simile.
sudo crm status Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: sap-cl1 (version 2.1.7+20231219.0f7f88312-150600.6.12.1-2.1.7+20231219.0f7f88312) - partition with quorum * Last updated: Wed Jul 8 21:26:21 2026 on sap-cl1 * Last change: Mon Jun 8 20:49:31 2026 by root via root on sap-cl1 * 2 nodes configured * 9 resource instances configured Node List: * Online: [ sap-cl1 sap-cl2 ] Full List of Resources: * stonith-sbd (stonith:external/sbd): Started sap-cl2 * Resource Group: g-NW1_ASCS: * nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 * vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 * rsc_SAPStartSrv_NW1_ASCS00 (ocf::suse:SAPStartSrv): Started sap-cl1 * rsc_SAPInstance_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 * Resource Group: g-NW1_ERS: * nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 * vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2 * rsc_SAPStartSrv_NW1_ERS01 (ocf::suse:SAPStartSrv): Started sap-cl2 * rsc_SAPInstance_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
Note
Puoi estendere un cluster SAP ASCS/ERS da un cluster a due nodi a tre nodi con un terzo nodo come riserva per il failover dei servizi ASCS o ERS.
- Una configurazione di cluster a tre nodi può essere utilizzata solo con Enqueue Replication Server 2 (ENSA2).
- Non usare la proprietà
priority-fencing-delaycluster in un cluster a tre nodi.
Installare il database SAP e il server applicazioni
Alcuni database richiedono l'esecuzione dell'installazione del database in un server applicazioni. Preparare un server applicazioni, quindi attivare l'installazione del database e infine installare il server applicazioni.
I passaggi comuni seguenti presuppongono che si installi il server applicazioni in un server diverso dai server ASCS e HANA:
Configurare la risoluzione dei nomi host.
È possibile usare un server DNS o modificare
/etc/hostsin tutti i nodi. In questo esempio viene illustrato come usare il file/etc/hosts.Aggiornare le voci in modo che corrispondano agli indirizzi IP e nomi host.
sudo vi /etc/hosts [...] # IP address of cluster node 1 10.27.0.6 sap-cl1 # IP address of cluster node 2 10.27.0.7 sap-cl2 # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS 10.27.0.9 sapascs # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS 10.27.0.10 sapers # Add Any Additional Hostnames/IPs as needed for the Database and/or Additional Application Servers 10.27.0.8 sapa01 10.27.0.11 sapa02 10.27.0.3 sapdb1 10.27.0.4 sapdb2 10.27.0.5 sapdbConfigurare il file SWAP. Seguire Creare una partizione SWAP per una macchina virtuale Linux Azure per configurare uno spazio SWAP per ogni macchina virtuale.
Configurare le directory SAP
- Crea i punti di montaggio
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans - Montare i file system
echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,nfsvers=4.1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,nfsvers=4.1,sec=sys 0 0" >> /etc/fstab # Mount the file systems. mount -a# NFSv4.1: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab # NFSv3: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3,hard 0 0" >> /etc/fstab # Mount the file systems. mount -a
- Crea i punti di montaggio
Installare il database dal server applicazioni
In questo esempio SAP NetWeaver viene installato in SAP HANA. È possibile usare qualsiasi database supportato per questa installazione. Per altre informazioni su come installare SAP HANA in Azure, vedere Agh disponibilità di SAP HANA in macchine virtuali Azure. Per un elenco dei database supportati, vedere la nota SAP 1928533.
Installare l'istanza del database di SAP NetWeaver come radice usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end di bilanciamento del carico per il database. È possibile usare il
SAPINST_REMOTE_ACCESS_USERparametro per consentire a un utente nonroot di connettersi asapinst.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadminInstallare SAP NetWeaver nel server applicazioni
Installare SAP È possibile usare il
SAPINST_REMOTE_ACCESS_USERparametro per consentire a un utente nonroot di connettersi asapinst.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadminAggiornare hdbuserstore in modo che punti al nome del cluster di database Elencare le voci
#Run as SIDADM su - nw1adm hdbuserstore list DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.27.0.3:30313 USER: SAPABAP1 DATABASE: NW1In questo esempio, l'indirizzo IP della voce predefinita punta alla macchina virtuale, non al servizio di bilanciamento del carico. Modificare la voce in modo che punti al nome host virtuale del servizio di bilanciamento del carico. Assicurarsi di usare la stessa porta e lo stesso nome del database. Ad esempio, usare
30313eNW1nell'output di esempio.hdbuserstore SET DEFAULT sapdb:30313@NW1 SAPABAP1 <password of ABAP schema>
Testare la configurazione del cluster
Testare accuratamente il cluster Pacemaker. Eseguire i test di failover tipici.
Passaggi successivi
- Guida a più SID per la disponibilità elevata per SAP NetWeaver in macchine virtuali di Azure su SLES per applicazioni SAP
- configurazioni del carico di lavoro SAP con zone di disponibilità Azure
- Pianificazione e implementazione di Macchine virtuali di Azure per SAP
- implementazione Macchine virtuali di Azure per SAP
- Macchine virtuali di Azure implementazione DBMS per SAP
- Alta Disponibilità di SAP HANA su Azure VMs