SAP NetWeaver a disponibilità elevata con montaggio semplice e NFS in macchine virtuali SLES per le applicazioni SAP
Questo articolo descrive come distribuire e configurare macchine virtuali di Azure, 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 seguenti:
La configurazione di montaggio semplice dovrebbe essere l'impostazione predefinita per le nuove implementazioni in SLES per le applicazioni SAP 15.
Prerequisiti
Le guide seguenti contengono tutte le informazioni necessarie per configurare un sistema a disponibilità elevata netWeaver:
- SAP S/4 HANA - Accodamento del cluster a disponibilità elevata 2 con montaggio semplice
- Non è possibile usare la risorsa file system per l'installazione di ABAP SAP Central Services (ASCS)/ERS HA
- Nota SAP 1928533, che include:
- Elenco delle dimensioni delle macchine virtuali di Azure supportate per la distribuzione del software SAP
- Importanti informazioni sulla capacità per le dimensioni delle VM di 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 di software SAP supportate da SAP in Azure.
- Nota SAP 2205917, con le impostazioni del sistema operativo consigliate per SU edizione Standard Linux Enterprise Server (SLES) per le applicazioni SAP
- 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 necessaria per Linux in Azure
- Nota SAP 2243692, che contiene informazioni sulle licenze SAP in Linux in Azure
- Nota SAP 2578899, con informazioni generali su SU edizione Standard Linux Enterprise Server 15
- Nota SAP 1275776, che contiene informazioni sulla preparazione di SU edizione Standard Linux Enterprise Server per gli ambienti SAP
- Nota SAP 1999351, che include informazioni aggiuntive sulla risoluzione dei problemi per l'estensione di monitoraggio avanzato di Azure per SAP
- Wiki della community SAP, che include tutte le note SAP necessarie per Linux
- Pianificazione e implementazione di Macchine virtuali di Azure per SAP in Linux
- Distribuzione di Macchine virtuali di Azure per SAP in Linux
- Distribuzione DBMS di Macchine virtuali di Azure per SAP in Linux
- Guide alle procedure consigliate per la disponibilità elevata di SAP edizione Standard
- Note sulla versione dell'estensione per la disponibilità elevata edizione Standard
- Documentazione su File di Azure
- Procedure consigliate per NetApp NFS
Panoramica
Questo articolo descrive una configurazione a disponibilità elevata per ASCS con una semplice struttura di montaggio. Per distribuire il livello applicazione SAP, sono necessarie directory condivise come /sapmnt/SID
, /usr/sap/SID
e /usr/sap/trans
, a disponibilità elevata. È possibile distribuire questi file system in NFS in File di Azure orAzure NetApp Files.
È 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. Questa configurazione è supportata solo in SLES per le applicazioni SAP 15 e versioni successive. Questo articolo non illustra in dettaglio il livello del database.
Le configurazioni di esempio e i comandi di installazione usano i numeri di istanza seguenti.
Nome istanza | Numero di istanza |
---|---|
ASCS | 00 |
Server di replica di accodamento (ERS) | 01 |
Server applicazioni primario (PAS) | 02 |
Server applicazioni aggiuntivo (AAS) | 03 |
Identificatore di sistema SAP | NW1 |
Importante
La configurazione con struttura di montaggio semplice è supportata solo in SLES per le applicazioni SAP 15 e versioni successive.
Questo diagramma illustra una tipica architettura a disponibilità elevata di SAP NetWeaver con un montaggio semplice. I file system "sapmnt" e "saptrans" vengono distribuiti in NFS nativo di Azure: condivisioni NFS in volumi File di Azure o NFS in 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 di Azure. Il cluster Pacemaker non gestisce i file system, a differenza della configurazione classica di Pacemaker.
Preparare l'infrastruttura
L'agente di risorse per l'istanza SAP è incluso in SU edizione Standard Linux Enterprise Server for SAP Applications. Un'immagine per SU edizione Standard Linux Enterprise Server for SAP Applications 12 o 15 è disponibile in Azure Marketplace. È possibile usare l'immagine per distribuire nuove macchine virtuali.
Distribuire macchine virtuali Linux manualmente tramite il portale di Azure
Questo documento presuppone che sia già stato distribuito un gruppo di risorse, azure Rete virtuale e una subnet.
Distribuire macchine virtuali con l'immagine SLES for SAP Applications. Scegliere una versione appropriata dell'immagine SLES supportata per il sistema SAP. È possibile distribuire una macchina virtuale in una delle opzioni di disponibilità, ovvero set di scalabilità di macchine virtuali, zona di disponibilità o set di disponibilità.
Configurare il servizio di bilanciamento del carico di Azure
Durante la configurazione della macchina virtuale, è possibile creare o selezionare l'uscita dal servizio di bilanciamento del carico nella sezione Rete. Seguire questa procedura per configurare un servizio di bilanciamento del carico standard per la configurazione a disponibilità elevata di SAP ASCS e SAP ERS.
Seguire la guida alla creazione del 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. Durante la configurazione del servizio di bilanciamento del carico, prendere in considerazione i punti seguenti.
- Configurazione IP front-end: creare due indirizzi IP front-end, uno per ASCS e un altro per ERS. Selezionare la stessa rete virtuale e la stessa subnet delle macchine virtuali ASCS/ERS.
- Pool back-end: creare un pool back-end e aggiungere macchine virtuali ASCS e ERS.
- Regole in ingresso: creare due regole di bilanciamento del carico, una per ASCS e un'altra per ERS. Seguire la stessa procedura per entrambe le regole di bilanciamento del carico.
- Indirizzo IP front-end: selezionare ip front-end
- Pool back-end: selezionare il pool back-end
- Controllare "Porte a disponibilità elevata"
- Protocollo: TCP
- Probe di integrità: creare un probe di integrità con i dettagli seguenti (si applica sia per ASCS che per ERS)
- Protocollo: TCP
- Porta: [ad esempio: 620<Instance-no.> per ASCS, 621<Instance-no.> per ERS]
- Intervallo: 5
- Soglia probe: 2
- Timeout di inattività (minuti): 30
- Selezionare "Enable Floating IP" (Abilita IP mobile)
Nota
La proprietà di configurazione del probe di integrità numberOfProbes, altrimenti nota nel portale come "Soglia non integra", non viene rispettata. Per controllare il numero di probe consecutivi riusciti o non riusciti, impostare la proprietà "probeThreshold" su 2. Attualmente non è possibile impostare questa proprietà usando portale di Azure, quindi usare l'interfaccia della riga di comando di Azure o il comando di PowerShell.
Importante
Un indirizzo IP mobile non è supportato in una configurazione IP secondaria della scheda di interfaccia di rete (NIC) in scenari di bilanciamento del carico. Per informazioni dettagliate, vedere Limitazioni di Azure Load Balancer. Se è necessario un altro indirizzo IP per la macchina virtuale, distribuire una seconda scheda di interfaccia di rete.
Nota
Quando le macchine virtuali senza indirizzi IP pubblici vengono inserite nel pool back-end di un servizio di bilanciamento del carico Di Azure Standard (nessun indirizzo IP pubblico), non ci sarà connettività Internet in uscita, a meno che non si esegua una configurazione aggiuntiva per consentire il routing agli endpoint pubblici. Per informazioni dettagliate su come ottenere la connettività in uscita, vedere Connettività degli endpoint pubblici per le macchine virtuali con Azure Load Balancer Standard in scenari di disponibilità elevata SAP.
Importante
- Non abilitare timestamp TCP nelle macchine virtuali di Azure posizionate dietro Azure Load Balancer. Se si abilitano i timestamp TCP, i probe di integrità avranno esito negativo. Impostare il parametro
net.ipv4.tcp_timestamps
su0
. Per informazioni dettagliate, vedere Probe di integrità di Load Balancer. - Per impedire a saptune di modificare manualmente il valore impostato
net.ipv4.tcp_timestamps
manualmente da0
a1
, è necessario aggiornare la versione saptune alla versione 3.1.1 o successiva. Per altre informazioni, vedere saptune 3.1.1 – Do I Need to Update?.
Distribuire NFS
Sono disponibili due opzioni per la distribuzione di NFS nativo di Azure per ospitare le directory condivise SAP. È possibile distribuire una condivisione file NFS in File di Azure o distribuire un volume NFS in Azure NetApp Files. NFS in File di Azure supporta il protocollo NFSv4.1. NFS in Azure NetApp Files supporta sia NFSv4.1 che NFSv3.
Le sezioni successive descrivono i passaggi per distribuire NFS. Selezionare solo una delle opzioni.
Distribuire un account di archiviazione File di Azure e condivisioni NFS
NFS in File di Azure viene eseguito su File di Azure archiviazione Premium. Prima di configurare NFS in File di Azure, vedere Come creare una condivisione NFS.
Esistono due opzioni per la ridondanza all'interno di un'area di Azure:
- L'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 tra le tre zone di disponibilità nell'area.
Controllare se l'area di Azure selezionata offre NFSv4.1 in File di Azure con la ridondanza appropriata. Esaminare la disponibilità di File di Azure in base all'area di Azure per i file Premium Archiviazione. Se lo scenario trae vantaggio dall'archiviazione con ridondanza della zona, verificare che le condivisioni file Premium con archiviazione con ridondanza della zona siano supportate nell'area di Azure.
È consigliabile accedere all'account di archiviazione di Azure tramite un endpoint privato di 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 di Azure o nelle reti virtuali di Azure con peering.
- 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 Archiviazione nome account immettere sapnfsafs.
- In Prestazioni selezionare Premium.
- Per Tipo di account Premium selezionare File Archiviazione.
- Per Replica selezionare Ridondanza della zona (ZRS).
- Selezionare Avanti.
- Nella scheda Avanzate deselezionare Richiedi trasferimento sicuro per l'API REST. Se non si deseleziona questa opzione, non è possibile montare la condivisione NFS nella macchina virtuale. Il timeout dell'operazione di montaggio.
- Selezionare Avanti.
- Nella sezione Rete configurare queste impostazioni:
- In Connettività di rete selezionare Endpoint privato per il metodo di Connessione ivity.
- In Endpoint privato selezionare Aggiungi endpoint privato.
- Nel riquadro Crea endpoint privato selezionare la sottoscrizione, il gruppo di risorse e la località. Effettuare quindi le selezioni seguenti:
- In Nome immettere sapnfsafs_pe.
- Per Archiviazione sotto-risorsa selezionare file.
- In Rete selezionare la rete virtuale e la subnet da usare in Rete virtuale. Anche in questo caso, è possibile usare la rete virtuale in cui si trovano le macchine virtuali SAP o una rete virtuale con peering.
- In integrazione DNS privato accettare l'opzione predefinita Sì per l'integrazione con la zona DNS privata. Assicurarsi di selezionare la zona DNS privata.
- Seleziona OK.
- Nella scheda Rete selezionare di nuovo 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 sapnw1
NFS e saptrans
.
- Accedere al portale di Azure.
- Selezionare o cercare gli account di archiviazione.
- Nella pagina Archiviazione account selezionare sapnfsafs.
- Nel menu delle risorse per sapnfsafs selezionare Condivisioni file in Archiviazione dati.
- Nella pagina Condivisioni file selezionare Condivisione file e quindi:
- In 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 altre informazioni, vedere Destinazioni di condivisione file di Azure.
- Selezionare NFS come protocollo.
- Selezionare No root Squash (Nessuna radice Squash). In caso contrario, quando si montano le condivisioni nelle macchine virtuali, non è possibile visualizzare il proprietario o il gruppo di file.
I file system SAP che non devono essere montati tramite NFS possono essere distribuiti anche nell'archiviazione su disco di Azure. In questo esempio è possibile distribuire /usr/sap/NW1/D02
e /usr/sap/NW1/D03
nell'archiviazione su disco di Azure.
Considerazioni importanti per NFS sulle condivisioni File di Azure
Quando si pianifica la distribuzione con NFS in File di Azure, considerare i punti importanti seguenti:
- La dimensione minima della condivisione è di 100 gibibyte (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 condivisione file 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, vedere Risolvere i problemi relativi alle prestazioni della condivisione file di Azure.
- Per i sistemi SAP J2 edizione Enterprise, l'inserimento
/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
sapmnt
condivisione. A partire da SAP_BASIS 7.52, il comportamento predefinito per i log dei processi batch deve essere archiviato nel database. Per informazioni dettagliate, vedere Log del processo nel database. - Distribuire una condivisione separata
sapmnt
per ogni sistema SAP. - Non usare la
sapmnt
condivisione per altre attività, ad esempio le interfacce. - Non usare la
saptrans
condivisione per altre attività, ad esempio le 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 anche 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 di semplificare l'analisi delle prestazioni.
- In generale, evitare di combinare condivisioni come
sapmnt
per sistemi SAP non di produzione e nello stesso account di archiviazione. - È consigliabile eseguire la distribuzione in SLES 15 SP2 o versione successiva per trarre vantaggio dai 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 archiviazione con ridondanza della zona nelle aree di Azure che supportano l'archiviazione con ridondanza della zona.
- File di Azure attualmente non supporta la replica automatica tra aree per gli scenari di ripristino di emergenza.
Distribuire le risorse di Azure NetApp Files
Verificare che il servizio Azure NetApp Files sia disponibile nell'area di Azure preferita.
Creare l'account NetApp nell'area di Azure selezionata. Seguire queste istruzioni.
Configurare il pool di capacità di Azure NetApp Files. Seguire queste istruzioni.
L'architettura SAP NetWeaver presentata in questo articolo usa un singolo pool di capacità di Azure NetApp Files, SKU Premium. È consigliabile usare lo SKU Premium di Azure NetApp Files per i carichi di lavoro delle applicazioni SAP NetWeaver in Azure.
Delegare una subnet ad Azure NetApp Files, come descritto in queste istruzioni.
Distribuire volumi di Azure NetApp Files seguendo queste istruzioni. Distribuire i volumi nella subnet di Azure NetApp Files designata. Gli indirizzi IP dei volumi di Azure NetApp vengono assegnati automaticamente.
Tenere presente che le risorse di Azure NetApp Files e le macchine virtuali di Azure devono trovarsi nella stessa rete virtuale di Azure o nelle reti virtuali di Azure con peering. Questo esempio usa due volumi di Azure NetApp Files:
sapnw1
etrans
. 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
I file system SAP che non devono essere condivisi possono essere distribuiti anche nell'archiviazione su disco di Azure. Ad esempio, /usr/sap/NW1/D02
e /usr/sap/NW1/D03
possono essere distribuiti come archiviazione su disco di Azure.
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 di Azure NetApp Files devono trovarsi nella stessa rete virtuale di Azure o in reti virtuali con peering nella stessa area. L'accesso ad Azure NetApp Files tramite peering di rete virtuale nella stessa area è supportato. L'accesso ad Azure NetApp Files tramite peering globale non è ancora supportato.
- La rete virtuale selezionata deve avere una subnet delegata ad Azure NetApp Files.
- Le caratteristiche di velocità effettiva e prestazioni di un volume di 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 di Azure NetApp Files per SAP, assicurarsi che la velocità effettiva risultante soddisfi i requisiti dell'applicazione.
- Azure NetApp Files offre criteri di esportazione. È possibile controllare i client consentiti e il tipo di accesso , ad esempio lettura/scrittura o sola lettura.
- Azure NetApp Files non riconosce ancora la zona. Attualmente Azure NetApp Files non viene distribuito in tutte le zone di disponibilità in un'area di Azure. Tenere presente le implicazioni di latenza potenziali in alcune aree di Azure.
- I volumi Azure NetApp Files 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).
Configurare ASCS
Successivamente, si prepareranno e si installeranno le istanze di SAP ASCS e ERS.
Creare un cluster Pacemaker
Seguire la procedura descritta in Configurazione di Pacemaker su SU edizione Standard Linux Enterprise Server in Azure per creare un cluster Pacemaker di base per SAP ASCS.
Preparazione per l'installazione
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 del connettore SU edizione Standard.
sudo zypper install sap-suse-cluster-connector
[A] Installare l'agente
sapstartsrv
di risorse.sudo zypper install sapstartsrv-resource-agents
[A] Aggiornare gli agenti di risorse SAP.
Per usare la configurazione descritta in questo articolo, è necessaria una patch per il pacchetto resource-agents. Per verificare se la patch è già installata, usare il comando seguente.
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
L'output dovrebbe essere simile all'esempio seguente.
<parameter name="IS_ERS" unique="0" required="0">;
Se il
grep
comando non trova ilIS_ERS
parametro, è necessario installare la patch elencata nella pagina di download su edizione Standard.Importante
È necessario installare almeno
sapstartsrv-resource-agents
la versione 0.91 eresource-agents
4.x da novembre 2021.[A] Configurare la risoluzione dei nomi host.
È possibile usare un server DNS o modificare
/etc/hosts
in tutti i nodi. In questo esempio viene illustrato come usare il/etc/hosts
file .sudo vi /etc/hosts
Inserire le righe seguenti in
/etc/hosts
. Modificare l'indirizzo IP e il nome host in modo che corrispondano all'ambiente.# 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
[A] Configurare il file SWAP.
sudo vi /etc/waagent.conf # Check if the ResourceDisk.Format property is already set to y, and if not, set it. ResourceDisk.Format=y # Set the ResourceDisk.EnableSwap property to y. # Create and use the SWAP file on the resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with the ResourceDisk.SwapSizeMB property. # The free space of resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command. ResourceDisk.SwapSizeMB=2000
Riavviare l'agente per attivare la modifica.
sudo service waagent restart
Preparare le directory SAP se si usa NFS in File di Azure
[1] Creare le directory SAP nella condivisione NFS.
Montare temporaneamente la condivisione
sapnw1
NFS in una delle macchine virtuali e creare le directory SAP che verranno usate come punti di montaggio annidati.# Temporarily mount the volume. sudo mkdir -p /saptmp sudo mount -t nfs sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # Create the SAP directories. sudo 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.
Con la configurazione di montaggio semplice, il cluster Pacemaker non controlla i file system.
echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1/ /usr/sap/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab # Mount the file systems. mount -a
Preparare le directory SAP se si usa NFS in Azure NetApp Files
Le istruzioni contenute in questa sezione sono applicabili solo se si usano volumi di Azure NetApp Files con il protocollo NFSv4.1. Eseguire la configurazione in tutte le macchine virtuali in cui verranno montati i volumi NFSv4.1 di Azure NetApp Files.
[A] Disabilitare il mapping id.
Verificare l'impostazione del dominio NFS. Assicurarsi che il dominio sia configurato come dominio predefinito di Azure NetApp Files,
defaultv4iddomain.com
. Verificare anche che il mapping sia impostato sunobody
.sudo cat /etc/idmapd.conf # Examplepython-azure-mgmt-compute [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
verificare
nfs4_disable_idmapping
. Dovrebbe essere impostato suY
.Per creare la struttura di directory in cui
nfs4_disable_idmapping
si trova, eseguire ilmount
comando . Non sarà possibile creare manualmente la directory in/sys/modules
, perché 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: mkdir /mnt/tmp mount 10.27.1.5:/sapnw1 /mnt/tmp umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent. echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
[1] Montare temporaneamente il volume di Azure NetApp Files in una delle macchine virtuali e creare le directory SAP (percorsi di file).
# Temporarily mount the volume. sudo mkdir -p /saptmp # If you're using NFSv3: sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 10.27.1.5:/sapnw1 /saptmp # If you're using 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 # Create the SAP directories. sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1 # Unmount the volume and delete the temporary directory. sudo 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.
Con la configurazione di montaggio semplice, il cluster Pacemaker non controlla i file system.
# If you're using NFSv3: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab echo "10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/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 # If you're using 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:/sapnw1/usrsapNW1 /usr/sap/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 # Mount the file systems. mount -a
Installare SAP NetWeaver ASCS e ERS
[1] Creare una risorsa IP virtuale e un probe di integrità per l'istanza di ASCS.
Importante
È consigliabile usare l'agente
azure-lb
di risorse, che fa parte del pacchetto resource-agents con una versione minima diresource-agents-4.3.0184.6ee15eb2-4.13.1
.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=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
Assicurarsi che lo stato del cluster sia OK e che tutte le risorse vengano avviate. Non è importante in quale nodo le risorse sono in esecuzione.
sudo crm_mon -r # 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 esempio00
.È possibile usare il
sapinst
parametroSAPINST_REMOTE_ACCESS_USER
per consentire a un utente non radice di connettersi asapinst
. È possibile usare ilSAPINST_USE_HOSTNAME
parametro per installare SAP usando un nome host virtuale.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se l'installazione non riesce a creare una sottocartella in
/usr/sap/NW1/ASCS00
, impostare il proprietario e il gruppo dellaASCS00
cartella e riprovare.chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] Creare una risorsa IP virtuale e un probe 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=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS nc_NW1_ERS vip_NW1_ERS
Assicurarsi che lo stato del cluster sia OK e che tutte le risorse vengano avviate. Non è importante in quale nodo le risorse sono in esecuzione.
sudo crm_mon -r # 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_USER
parametro per consentire a un utente non radice di connettersi asapinst
. È possibile usare ilSAPINST_USE_HOSTNAME
parametro per installare SAP usando un nome host virtuale.<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Nota
Usare SWPM SP 20 PL 05 o versione successiva. Le versioni precedenti non impostano correttamente le autorizzazioni e causano l'esito negativo dell'installazione.
Se l'installazione non riesce a creare una sottocartella in
/usr/sap/NW1/ERS01
, impostare il proprietario e il gruppo dellaERS01
cartella e riprovare.chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[1] Adattare il profilo dell'istanza ASCS.
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command. # Restart_Program_01 = local $(_EN) pf=$(_PF). Start_Program_01 = local $(_EN) pf=$(_PF) # Add the following lines. service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keepalive parameter, if you're using ENSA1. enque/encni/set_so_keepalive = true
Per Standalone Enqueue Server 1 e 2 (ENSA1 e ENSA2), assicurarsi che i parametri del
keepalive
sistema operativo siano impostati come descritto in SAP Note 1410736.Adattare ora il profilo dell'istanza ERS.
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # Change the restart command to a start command. # Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID). Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # Add the following lines. service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Remove Autostart from the ERS profile. # Autostart = 1
[A] Configurare
keepalive
.La comunicazione tra il server applicazioni SAP NetWeaver e ASCS viene instradata tramite un servizio di bilanciamento del carico software. Il servizio di bilanciamento del carico disconnette le connessioni inattive dopo un timeout configurabile.
Per evitare questa disconnessione, è necessario impostare un parametro nel profilo SAP NetWeaver ASCS, se si usa ENSA1. Modificare le impostazioni di sistema
keepalive
Linux in tutti i server SAP per ENSA1 e ENSA2. Per altre informazioni, vedere SAP Note1410736.# Change the Linux system configuration. sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Configurare gli utenti SAP dopo l'installazione.
# Add sidadm to the haclient group. sudo usermod -aG haclient nw1adm
[1] Aggiungere i servizi SAP ASCS e ERS al
sapservice
file.Aggiungere la voce del servizio ASCS al secondo nodo e copiare la voce del servizio ERS nel primo nodo.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] Abilitare
sapping
esappong
. L'agentesapping
viene eseguito primasapinit
di nascondere il/usr/sap/sapservices
file. L'agentesappong
viene eseguito doposapinit
per scoprire il file durante l'avviosapservices
della macchina virtuale.SAPStartSrv
non 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
SAPStartSrv
una risorsa per ASCS e ERS creando un file e quindi caricando il file.vi crm_sapstartsrv.txt
Immettere sotto la primitiva nel
crm_sapstartsrv.txt
file e salvareprimitive rsc_sapstartsrv_NW1_ASCS00 ocf:suse:SAPStartSrv \ params InstanceName=NW1_ASCS00_sapascs primitive rsc_sapstartsrv_NW1_ERS01 ocf:suse:SAPStartSrv \ params InstanceName=NW1_ERS01_sapers
Caricare il file usando il comando seguente.
sudo crm configure load update crm_sapstartsrv.txt
Nota
Se è stata configurata una risorsa S piattaforma di strumenti analitici tartSrv usando la "crm configure primitive..." comando in crmsh versione 4.4.0+20220708.6ed6b56f-150400.3.3.1 o successiva, è importante esaminare la configurazione delle primitive delle risorse S piattaforma di strumenti analitici tartSrv. Se è presente un'operazione di monitoraggio, deve essere rimossa. Anche se SU edizione Standard suggerisce anche di rimuovere le operazioni di avvio e arresto, ma non sono fondamentali come l'operazione di monitoraggio. Per altre informazioni, vedere Le modifiche recenti apportate al pacchetto crmsh possono comportare una configurazione non supportata di S piattaforma di strumenti analitici tartSrv Resource Agent in un cluster SAP NetWeaver a disponibilità elevata.
[1] Creare le risorse del cluster SAP.
A seconda che si esegua un sistema ENSA1 o ENSA2, selezionare la rispettiva scheda per definire le risorse. SAP ha introdotto il supporto per ENSA2, inclusa la replica, in SAP NetWeaver 7.52. A partire da ABAP Platform 1809, ENSA2 viene installato per impostazione predefinita. Per il supporto di ENSA2, vedere SAP Note 2630416.
sudo crm configure property maintenance-mode="true" # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true \ meta priority=1000 # If you're using NFSv4.1 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If you're using NFSv4.1 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true \ meta priority=1000 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 location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property maintenance-mode="false"
Se si esegue l'aggiornamento da una versione precedente e si passa a ENSA2, vedere SAP Note 2641019.
Assicurarsi che lo stato del cluster sia OK e che tutte le risorse vengano avviate. Non è importante in quale nodo le risorse sono in esecuzione.
sudo crm_mon -r
# 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_sap_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_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
Preparare il server applicazioni SAP
Alcuni database richiedono l'esecuzione dell'installazione del database in un server applicazioni. Preparare le macchine virtuali del server applicazioni per poter eseguire l'installazione del database.
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/hosts
in tutti i nodi. In questo esempio viene illustrato come usare il/etc/hosts
file .sudo vi /etc/hosts
Inserire le righe seguenti in
/etc/hosts
. Modificare l'indirizzo IP e il nome host in modo che corrispondano all'ambiente.10.27.0.6 sap-cl1 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 10.27.0.8 sapa01 10.27.0.12 sapa02
Configurare il file SWAP.
sudo vi /etc/waagent.conf # Set the ResourceDisk.EnableSwap property to y. # Create and use the SWAP file on the resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file by using the ResourceDisk.SwapSizeMB property. # The free space of the resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command. ResourceDisk.SwapSizeMB=2000
Riavviare l'agente per attivare la modifica.
sudo service waagent restart
Preparare le directory SAP
Se si usa NFS in File di Azure, usare le istruzioni seguenti per preparare le directory SAP nelle macchine virtuali del server applicazioni SAP:
Creare 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,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab # Mount the file systems. mount -a
Se si usa NFS in Azure NetApp Files, usare le istruzioni seguenti per preparare le directory SAP nelle macchine virtuali del server applicazioni SAP:
Creare 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.
# If you're using 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 # If you're using 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 # Mount the file systems. mount -a
Installare il database
In questo esempio, SAP NetWeaver è installato in SAP HANA. È possibile usare qualsiasi database supportato per questa installazione. Per altre informazioni su come installare SAP HANA in Azure, vedere Disponibilità elevata di SAP HANA nelle macchine virtuali di Azure. Per un elenco dei database supportati, vedere la nota SAP 1928533.
Installare l'istanza del database SAP NetWeaver come radice usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per il database. È possibile usare il SAPINST_REMOTE_ACCESS_USER
parametro per consentire a un utente non radice di connettersi a sapinst
.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Installare il server applicazioni SAP NetWeaver
Per installare un server applicazioni SAP, seguire questa procedura:
[A] Preparare il server applicazioni.
Seguire la procedura descritta in Preparazione del server applicazioni SAP NetWeaver.
[A] Installare un server applicazioni SAP NetWeaver primario o aggiuntivo.
È possibile usare il
SAPINST_REMOTE_ACCESS_USER
parametro per consentire a un utente non radice di connettersi asapinst
.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Aggiornare l'archivio sicuro SAP HANA in modo che punti al nome virtuale della configurazione della replica di sistema SAP HANA.
Eseguire il comando seguente per elencare le voci.
hdbuserstore List
Il comando dovrebbe elencare tutte le voci e dovrebbe essere simile a questo esempio.
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.27.0.4:30313 USER: SAPABAP1 DATABASE: NW1
In 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
30313
eNW1
nell'output di esempio.su - nw1adm hdbuserstore SET DEFAULT nw1db: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 alla disponibilità elevata per SAP NetWeaver in macchine virtuali di Azure in SLES per applicazioni SAP con più SID
- Configurazioni del carico di lavoro SAP con zone di disponibilità di Azure
- Pianificazione e implementazione di macchine virtuali di Azure per SAP
- Distribuzione di Macchine virtuali di Azure per SAP
- Distribuzione DBMS di macchine virtuali di Azure per SAP
- Disponibilità elevata di SAP HANA in macchine virtuali di Azure