Disponibilità elevata per SAP NetWeaver in macchine virtuali in RHEL con NFS in File di Azure
Questo articolo descrive come distribuire e configurare macchine virtuali (VM), installare il framework del cluster e installare un sistema SAP NetWeaver a disponibilità elevata usando NFS in File di Azure. Le configurazioni di esempio usano macchine virtuali eseguite in Red Hat Enterprise Linux (RHEL).
Prerequisiti
- Documentazione su File di Azure
- Nota SAP 1928533, contenente:
- Elenco delle dimensioni delle VM di Azure supportate per la distribuzione di software SAP.
- Informazioni importanti sulla capacità per le dimensioni delle macchine virtuali di Azure.
- Software SAP e combinazioni di sistemi operativi e database supportati.
- Versione del kernel SAP richiesta per Windows e Linux in Microsoft Azure.
- La nota SAP 2015553 elenca i prerequisiti per le distribuzioni di software SAP supportate da SAP in Azure.
- La nota SAP 2002167 indica le impostazioni del sistema operativo consigliate per Red Hat Enterprise Linux 7.x.
- La nota SAP 2772999 indica le impostazioni del sistema operativo consigliate per Red Hat Enterprise Linux 8.x.
- La nota SAP 2009879 contiene le linee guida di SAP HANA per Red Hat Enterprise Linux.
- La nota SAP 2178632 contiene informazioni dettagliate su tutte le metriche di monitoraggio segnalate per SAP in Azure.
- La nota SAP 2191498 contiene la versione dell'agente host SAP per Linux necessaria in Azure.
- La nota SAP 2243692 contiene informazioni sulle licenze SAP in Linux in Azure.
- La nota SAP 1999351 contiene altre informazioni sulla risoluzione dei problemi per l'estensione di monitoraggio avanzato di Azure per SAP.
- Community WIKI SAP contiene tutte le note su 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
- SAP Netweaver nel cluster Pacemaker
- Documentazione generale di RHEL:
- High Availability Add-On Overview (Panoramica dei componenti aggiuntivi a disponibilità elevata)
- High Availability Add-On Administration (Amministrazione dei componenti aggiuntivi a disponibilità elevata)
- High Availability Add-On Reference (Riferimento dei componenti aggiuntivi a disponibilità elevata)
- Configurazione di ASCS/ERS per SAP Netweaver con risorse autonome in RHEL 7.5
- Configurare SAP S/4HANA ASCS/ERS con il Server di accodamento autonomo 2 (ENSA2) in Pacemaker in RHEL
- Documentazione di RHEL specifica di Azure:
- Support Policies for RHEL High Availability Clusters - Microsoft Azure Virtual Machines as Cluster Members (Criteri di supporto per cluster RHEL a disponibilità elevata - Macchine virtuali di Microsoft Azure come membri del cluster)
- Installing and Configuring a Red Hat Enterprise Linux 7.4 (and later) High-Availability Cluster on Microsoft Azure (Installazione e configurazione di un cluster Red Hat Enterprise Linux 7.4 e versioni successive a disponibilità elevata in Microsoft Azure)
Panoramica
Per distribuire il livello dell'applicazione SAP NetWeaver, sono necessarie directory condivise come /sapmnt/SID
e /usr/sap/trans
nell'ambiente. Inoltre, quando si distribuisce un sistema SAP a disponibilità elevata, è necessario proteggere e rendere disponibili file system a disponibilità elevata come /sapmnt/SID
e /usr/sap/SID/ASCS
.
È ora possibile posizionare questi file system in NFS in File di Azure. NFS in File di Azure è una soluzione di archiviazione a disponibilità elevata. Questa soluzione offre l'archiviazione con ridondanza della zona sincrona ed è adatta alle istanze di SAP ASCS/ERS distribuite tra zone di disponibilità. È comunque necessario un cluster Pacemaker per proteggere singoli componenti di errore, ad esempio i servizi centrali SAP NetWeaver (ASCS/SCS).
Le configurazioni di esempio e i comandi di installazione usano i numeri di istanza seguenti:
Nome istanza | Numero istanza |
---|---|
ABAP SAP Central Services (ASCS) | 00 |
ERS | 01 |
ABAP SAP Central Services (ASCS) | 02 |
Server applicazioni aggiuntivo (AAS) | 03 |
Identificatore di sistema SAP | NW1 |
Questo diagramma illustra una tipica architettura a disponibilità elevata di SAP NetWeaver. I file system 'sapmnt' e 'saptrans' vengono distribuiti nelle condivisioni NFS in File di Azure. I servizi centrali SAP sono protetti da un cluster Pacemaker. Le macchine virtuali in cluster si trovano dietro un'istanza di Azure Load Balancer. Le condivisioni NFS vengono montate tramite endpoint privati.
Preparare l'infrastruttura
Azure Marketplace contiene immagini qualificate per SAP con il componente aggiuntivo a disponibilità elevata, che è possibile usare per distribuire nuove macchine virtuali usando diverse versioni di Red Hat.
Distribuire macchine virtuali Linux manualmente tramite il portale di Azure
Questo documento presuppone che sia già stata distribuita una rete virtuale di Azure, una subnet e un gruppo di risorse.
Distribuire macchine virtuali per SAP ASCS, ERS e server applicazioni. Scegliere un'immagine RHEL appropriata supportata per il sistema SAP. È possibile distribuire una macchina virtuale in una delle opzioni di disponibilità: 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<Istanza-n.> per ASCS, 621<Istanza-n.> per ERS]
- Intervallo: 5
- Soglia probe: 2
- Timeout di inattività (minuti): 30
- Selezionare "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. Non è attualmente possibile impostare questa proprietà usando il portale di Azure, quindi usare l’interfaccia della riga di comando di Azure o il comando di PowerShell.
Nota
Quando le macchine virtuali senza indirizzi IP pubblici vengono inserite nel pool back-end di un'istanza standard (nessun indirizzo IP pubblico) di Load Balancer, non esiste connettività Internet in uscita, a meno che non venga eseguita più configurazione 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 usando Load Balancer Standard di Azure negli scenari a disponibilità elevata SAP.
Importante
Non abilitare i timestamp TCP nelle macchine virtuali di Azure che si trovano dietro il bilanciamento del carico. Se si abilitano i timestamp TCP, i probe di integrità hanno esito negativo. Impostare il parametro net.ipv4.tcp_timestamps
su 0
. Per altre informazioni, vedere Probe di integrità di Load Balancer.
Distribuire l'account di archiviazione di File di Azure e le condivisioni NFS
NFS in File di Azure viene eseguito nell’archiviazione Premium di File di Azure. 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:
- Archiviazione con ridondanza locale, che offre la replica dei dati sincrona locale e in zona.
- Archiviazione con ridondanza della zona, che replica i dati in modo sincrono tra le tre zone di disponibilità nell'area.
Controllare se l'area di Azure selezionata offre NFS 4.1 in File di Azure con la ridondanza appropriata. Esaminare la disponibilità di File di Azure per area di Azure in Archiviazione file Premium. 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 di File di Azure denominato
sapafsnfs
. In questo esempio viene usata 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:
- In Nome account di archiviazione, immettere
sapafsnfs
. - In Prestazioni, selezionare Premium.
- Per Tipo di account Premium, selezionare FileStorage.
- Per Replica, selezionare ridondanza della zona (ZRS).
- In Nome account di archiviazione, immettere
Selezionare Avanti.
Nella scheda Avanzate deselezionare Richiedi trasferimento sicuro per le operazioni 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, per Metodo di connettivitàselezionare endpoint privato.
- In Endpoint privato selezionare Aggiungi endpoint privato.
Nel riquadro Crea endpoint privato selezionare Sottoscrizione, Gruppo di risorse e Percorso. Per Nome inserisci
sapafsnfs_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 Integrazione DNS privataaccettare 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 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 di Azure.
- Selezionare o cercare gli account di archiviazione.
- Nella pagina Account di archiviazione, selezionare sapafsnfs.
- Nel menu delle risorse per sapafsnfsnfs, in Archiviazione dati selezionare Condivisioni file.
- Nella pagina Condivisioni file selezionare condivisione file.
- Per Nome, immettere
sapnw1
,saptrans
. - Selezionare una dimensione di condivisione appropriata. Ad esempio, 128 GB. Prendere in considerazione le dimensioni dei dati archiviati nei requisiti di condivisione e operazioni di I/O al secondo e velocità effettiva. Per altre informazioni, vedere destinazioni di condivisione file di 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
Importante
La dimensione della condivisione precedente è solo un esempio. Assicurarsi di ridimensionare le condivisioni in modo appropriato. Le dimensioni non si basano solo sulle dimensioni dei dati archiviati nella condivisione, ma anche in base ai requisiti per operazioni di I/O al secondo e velocità effettiva. Per altre informazioni, vedere destinazioni di condivisione file di Azure.
I file system SAP che non devono essere montati tramite NFS possono anche essere distribuiti come 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 nelle condivisioni di File di Azure
Quando si pianifica la distribuzione con NFS in File di Azure, considerare 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 altre informazioni, 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 J2EE, non è supportato il posizionamento di
/usr/sap/<SID>/J<nr>
in NFS in File di Azure. - 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 altre informazioni, vedere Log del processo nel database. - Distribuire una condivisione
sapmnt
separata per ogni sistema SAP. - Non usare la condivisione
sapmnt
per altre attività, ad esempio interfacce osaptrans
. - Non usare la condivisione
saptrans
per altre attività, ad esempio interfacce osapmnt
. - Evitare di consolidare le condivisioni per troppi sistemi SAP in un singolo account di archiviazione. Sono disponibili anche obiettivi di scalabilità delle prestazioni dell'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
sapmnt
per sistemi SAP non di produzione e nello stesso account di archiviazione. - È consigliabile eseguire la distribuzione in RHEL 8.4 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.
Configurare (A)SCS
Successivamente, si prepareranno e si installeranno le istanze di SAP ASCS e ERS.
Creare un cluster Pacemaker
Seguire i passaggi della procedura di Configura Pacemaker in Red Hat Enterprise Linux in Azure per creare un cluster Pacemaker di base per questo server (A)SCS.
Prepararsi per l'installazione di SAP NetWeaver
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] Configurare la risoluzione dei nomi host.
È possibile usare un server DNS o modificare il file
/etc/hosts
in tutti i nodi. In questo esempio viene illustrato come usare il file/etc/hosts
. Sostituire l'indirizzo IP e il nome host nei comandi seguenti:sudo vi /etc/hosts
Inserire le righe seguenti prima di
/etc/hosts
. Modificare l'indirizzo IP e il nome host in base all'ambiente.# IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers
[A] Installare il client NFS e altri requisiti.
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[1] Creare le directory SAP nella condivisione NFS.
Montare temporaneamente la condivisione NFS sapnw1 in una delle macchine virtuali e creare le directory SAP che verranno usate come punti di montaggio annidati.# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.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 usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # 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/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A] Controllare la versione di
resource-agents-sap
.Assicurarsi che la versione del pacchetto
resource-agents-sap
installato sia almeno3.9.5-124.el7
.sudo yum info resource-agents-sap
[A] Aggiungere le voci di montaggio.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurare il file SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Riavviare l'agente per attivare la modifica.
sudo service waagent restart
[A] Configurare RHEL.
Configurare RHEL come descritto in nota SAP 2002167 per RHEL 7.x, nota SAP 2772999 per RHEL 8.x o nota SAP 3108316 per RHEL 9.x.
Installare SAP NetWeaver ASCS/ERS
[1] Configurare le proprietà predefinite del cluster.
# If using RHEL 7.x pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3 # If using RHEL 8.x or later pcs resource defaults update resource-stickiness=1 pcs resource defaults update migration-threshold=3
[1] Creare una risorsa IP virtuale e un probe di integrità per l'istanza di ASCS.
sudo pcs node standby sap-cl2 sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \ directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.90.90.10 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Il nodo in cui vengono eseguite le risorse non è importante.
sudo pcs status # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] Installare SAP NetWeaver ASCS.
Installare SAP NetWeaver ASCS come root nel primo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end di bilanciamento del carico per l'istanza ASCS, ad esempio sapascs e 10.90.90.10, e il numero di istanza usato per il probe del bilanciamento del carico, ad esempio 00.
È possibile usare il parametro
sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente nonroot di connettersi asapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se durante l'installazione non viene creata una sottocartella in /usr/sap/NW1/ASCS00, provare a impostare il proprietario e il gruppo della cartella ASCS00 e riprovare.
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] Creare una risorsa IP virtuale e un probe di integrità per l'istanza di ERS.
sudo pcs node unstandby sap-cl2 sudo pcs node standby sap-cl1 sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \ directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.90.90.9 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \ --group g-NW1_AERS
Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Il nodo in cui vengono eseguite le risorse non è importante.
sudo pcs status # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] Installare SAP NetWeaver ERS.
Installare SAP NetWeaver ERS come root nel secondo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end di bilanciamento del carico per ERS, ad esempio sapers e 10.90.90.9, e il numero di istanza usato per il probe del bilanciamento del carico, ad esempio 01.
È possibile usare il parametro
sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente nonroot di connettersi asapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se durante l'installazione non viene creata una sottocartella in /usr/sap/NW1/ERS01, provare a impostare il proprietario e il gruppo della cartella ERS01 e riprovare.
sudo chown qaadm /usr/sap/NW1/ERS01 sudo chgrp sapsys /usr/sap/NW1/ERS01
[1] Adattare i profili di istanza ASCS/SCS e ERS.
Profilo ASCS/SCS:
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 keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
Sia per ENSA1 che per ENSA2, assicurarsi che i parametri del sistema operativo
keepalive
siano impostati come descritto in SAP Note 1410736.Profilo 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) # remove Autostart from ERS profile # Autostart = 1
[A] Configurare Keep Alive.
Le comunicazioni tra il server applicazioni SAP NetWeaver e ASCS/SCS vengono instradate 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 azione, impostare un parametro nel profilo SAP NetWeaver ASCS/SCS, se si usa ENSA1. Modificare le impostazioni
keepalive
del sistema Linux in tutti i server SAP sia per ENSA1 che per ENSA2. Per altre informazioni, vedere la nota SAP 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Aggiornare il file
/usr/sap/sapservices
.Per impedire l'avvio delle istanze per lo script di avvio
sapinit
, tutte le istanze gestite da Pacemaker devono essere impostate come commento nel file/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
Importante
Con SAP Startup Framework basato su sistema, le istanze SAP possono ora essere gestite da systemd. La versione minima richiesta di Red Hat Enterprise Linux (RHEL) è RHEL 8 per SAP. Come descritto in SAP Note 3115048, una nuova installazione di un kernel SAP con il supporto di SAP Startup Framework basato su sistema integrato comporterà sempre un'istanza SAP controllata dal sistema. Dopo un aggiornamento del kernel SAP di un'installazione SAP esistente a un kernel con supporto di SAP Startup Framework basato sul sistema, tuttavia, è necessario eseguire alcuni passaggi manuali come documentato nella nota SAP 3115048 per convertire l'ambiente di avvio SAP esistente in uno controllato dal sistema.
Quando si usano i servizi Red Hat a disponibilità elevata per SAP (configurazione del cluster) per gestire istanze del server applicazioni SAP, ad esempio SAP ASCS e SAP ERS, saranno necessarie ulteriori modifiche per garantire la compatibilità tra l'agente di risorse SAPInstance e il nuovo framework di avvio SAP basato su sistema. Quindi, dopo l'installazione o il passaggio a un kernel SAP abilitato al sistema in base alla nota SAP 3115048, i passaggi indicati in Red Hat KBA 6884531 devono essere completati correttamente in tutti i nodi del cluster.
[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 la nota SAP 2630416 per il supporto del server di accodamento 2.
Se si usa l'architettura di accodamento server 2 (ENSA2), installare resource agent resource agent-agents-sap-4.1.1-12.el7.x86_64 o versione successiva e definire le risorse come illustrato di seguito:
sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \ InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby sap-cl1 sudo pcs property set maintenance-mode=false
Se si esegue l'aggiornamento da una versione precedente e si passa al server di accodamento 2, vedere la nota SAP 2641322.
Nota
I timeout nella configurazione precedente sono solo esempi e potrebbero essere necessari per adattarsi alla configurazione SAP specifica.
Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Il nodo in cui vengono eseguite le risorse non è importante.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
[1] Eseguire il passaggio seguente per configurare
priority-fencing-delay
(applicabile solo a partire da pacemaker-2.0.4-6.el8 o versione successiva).Nota
Se si dispone di un cluster a due nodi, è possibile configurare la proprietà del cluster
priority-fencing-delay
. Questa proprietà introduce un ulteriore ritardo nell'isolamento di un nodo con priorità totale più elevata quando si verifica uno scenario split-brain. Per altre informazioni, vedere È possibile che Pacemaker esegua l'isolamento del nodo del cluster con le risorse più in esecuzione?.La proprietà
priority-fencing-delay
è applicabile per pacemaker-2.0.4-6.el8 versione o successiva. Se si è configuratopriority-fencing-delay
in un cluster esistente, assicurarsi di cancellare l'impostazionepcmk_delay_max
nel dispositivo di isolamento.sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] Aggiungere regole del firewall per ASCS ed ERS in entrambi i nodi.
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
Preparazione del server applicazioni di SAP NetWeaver
Alcuni database richiedono che l'installazione dell'istanza di database venga eseguita in un server applicazioni. Preparare le macchine virtuali del server applicazioni da poter usare in questi casi.
I passaggi seguenti presuppongono che il server applicazioni sia installato in un server diverso dai server ASCS/SCS e HANA. In caso contrario, alcuni passaggi, ad esempio la configurazione della risoluzione dei nomi host, non sono necessari.
Gli elementi seguenti sono preceduti da:
- [A]: applicabile sia a PAS che ad AAS
- [P]: applicabile solo a PAS
- [S]: applicabile solo ad AAS
[A] Configurare la risoluzione dei nomi host. È possibile usare un server DNS o modificare il file
/etc/hosts
in tutti i nodi. In questo esempio viene illustrato come usare il file/etc/hosts
. Sostituire l'indirizzo IP e il nome host nei comandi seguenti:sudo vi /etc/hosts
Inserire le righe seguenti prima di
/etc/hosts
. Modificare l'indirizzo IP e il nome host in base all'ambiente.10.90.90.7 sap-cl1 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] Creare la directory
sapmnt
.sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] Installare il client NFS e altri requisiti.
sudo yum -y install nfs-utils uuidd
[A] Aggiungere le voci di montaggio.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurare il file SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Riavviare l'agente per attivare la modifica.
sudo service waagent restart
Installare il database
In questo esempio, SAP NetWeaver è installato in SAP HANA. Per questa installazione è possibile usare qualsiasi database supportato. Per altre informazioni su come installare SAP HANA in Azure, vedere Disponibilità elevata di SAP HANA in macchine virtuali di Azure su Red Hat Enterprise Linux. 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 parametro sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente nonroot di connettersi a sapinst
.
# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
sudo firewall-cmd --zone=public --add-port=4237/tcp
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Installazione del server applicazioni di SAP NetWeaver
Per installare il server applicazioni SAP, seguire questi passaggi.
[A] Preparare il server applicazioni.
Per preparare il server applicazioni, seguire la procedura descritta nella sezione precedente Preparazione del server applicazioni di SAP NetWeaver.
[A] Installare il server applicazioni SAP NetWeaver.
Installare un server applicazioni di SAP NetWeaver primario o aggiuntivo.
È possibile usare il parametro
sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente nonroot di connettersi asapinst
.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Aggiornare l'archivio sicuro di SAP HANA.
Aggiornare l'archivio sicuro di SAP HANA in modo che punti al nome virtuale della configurazione della replica di sistema di SAP HANA.
Eseguire il comando seguente per elencare le voci come
<sapsid>adm
.hdbuserstore List
Tutte le voci devono essere elencate e hanno un aspetto simile al seguente:
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5: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. Per altre informazioni, vedere Eseguire i test di failover tipici.
Passaggi successivi
- Per distribuire uno scenario di ottimizzazione dei costi in cui l'istanza PAS e AAS viene distribuita con il cluster SAP NetWeaver HA in RHEL, vedere Installare un'istanza della finestra di dialogo SAP con MACCHINE virtuali a disponibilità elevata SAP ASCS/SCS in RHEL.
- Vedere la Guida al multi-SID per la disponibilità elevata per SAP NW in macchine virtuali di Azure su RHEL per applicazioni SAP.
- Vedere la Guida alla pianificazione e all'implementazione di macchine virtuali di Azure per SAP.
- Vedere Distribuzione di macchine virtuali di Azure per SAP.
- Vedere la Distribuzione DBMS di Macchine virtuali di Azure per SAP.
- Per informazioni su come configurare la disponibilità elevata e pianificare il ripristino di emergenza di SAP HANA in Azure (istanze Large), vedere Disponibilità elevata e ripristino di emergenza di SAP HANA (istanze Large) in Azure.
- Per informazioni su come ottenere la disponibilità elevata e un piano di ripristino di emergenza di SAP HANA nelle macchine virtuali di Azure vedere Disponibilità elevata di SAP HANA nelle macchine virtuali di Azure (VM).