Disponibilità elevata per SAP NetWeaver in macchine virtuali di Azure in SU edizione Standard Linux Enterprise Server con NFS in File di Azure

Questo articolo descrive come distribuire e configurare macchine virtuali, 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 su SU edizione Standard Linux Enterprise Server (SLES).

Per le nuove implementazioni in SLES for SAP Applications 15, è consigliabile distribuire la disponibilità elevata per SAP ASCS/ERS in una configurazione di montaggio semplice. La configurazione classica di Pacemaker, basata su file system controllati dal cluster per le directory dei servizi centrali SAP, descritta in questo articolo è ancora supportata.

Prerequisiti

  • File di Azure documentazione.
  • Nota SAP 1928533, che include:
    • 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 di Azure.
    • Software SAP supportato e combinazioni di sistemi operativi e database.
    • Versione del kernel SAP necessaria 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.
  • Nota SAP 2205917, che contiene le impostazioni consigliate del sistema operativo per SUSE Linux Enterprise Server for SAP Applications.
  • 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 1984787 contiene informazioni generali su SUSE Linux Enterprise Server 12.
  • Nota SAP 2578899 contiene informazioni generali su SU edizione Standard Linux Enterprise Server 15
  • La nota SAP 1999351 contiene informazioni aggiuntive 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 Azure Macchine virtuali per SAP in Linux.
  • Distribuzione di Azure Macchine virtuali per SAP in Linux.
  • Distribuzione DBMS Macchine virtuali di Azure per SAP in Linux.
  • SU edizione Standard guide alle procedure consigliate per la disponibilità elevata di SAP. Le guide contengono tutte le informazioni necessarie per configurare Netweaver HA e SAP HANA System Replication in locale. Usare le guide come indicazioni di base generali. Forniscono informazioni molto più dettagliate.
  • SU edizione Standard Note sulla versione dell'estensione a disponibilità elevata.

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 in 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 di istanza
ABAP SAP Central Services (ASCS) 00
ERS 01
Server applicazioni primario (PAS) 02
Server applicazioni aggiuntivo (AAS) 03
Identificatore di sistema SAP NW1

SAP NetWeaver High Availability with NFS on Azure Files

Questo diagramma mostra 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 servizio di bilanciamento del carico di Azure. Le condivisioni NFS vengono montate tramite un endpoint privato.

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.

  1. 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.
  2. Pool back-end: creare un pool back-end e aggiungere macchine virtuali ASCS e ERS.
  3. 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

Il numero della proprietà di configurazione del probe di integritàOfProbes, altrimenti noto come "Soglia non integra" nel portale, non viene rispettato. 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

L'indirizzo IP mobile non è supportato in una configurazione IP secondaria della scheda di interfaccia di rete negli scenari di bilanciamento del carico. Per informazioni dettagliate, vedere Limitazioni del servizio di bilanciamento del carico di Azure. Se è necessario un indirizzo IP aggiuntivo 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 del Load Balancer interno standard di Azure (nessun indirizzo IP pubblico), non vi sarà connettività Internet in uscita, a meno che non venga eseguita una configurazione aggiuntiva per consentire il routing a 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 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 su 0. 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 da 0 a 1, è necessario aggiornare la versione saptune alla versione 3.1.1 o successiva. Per altri dettagli, vedere saptune 3.1.1 – Do I Need to Update?.

Distribuire File di Azure account di archiviazione 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:

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 in base all'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 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.

  1. Distribuire un account Archiviazione file 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.
  2. Nella scheda Informazioni di base usare queste impostazioni:
    1. Per Archiviazione nome dell'account immettere sapafsnfs.
    2. In Prestazioni selezionare Premium.
    3. Per Tipo di account Premium selezionare File Archiviazione.
    4. Per Replica selezionare ridondanza della zona.For Replication, select zone redundancy (ZRS).
  3. Seleziona Avanti.
  4. 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.
  5. Seleziona Avanti.
  6. Nella sezione Rete configurare queste impostazioni:
    1. In Connettività di rete selezionare Endpoint privato per il metodo di Connessione ivity.
    2. In Endpoint privato selezionare Aggiungi endpoint privato.
  7. Nel riquadro Crea endpoint privato selezionare la sottoscrizione, il gruppo di risorse e la località. Per Nome inserisci sapafsnfs_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 DNS privato integrazione accettare l'opzione predefinita Sì per l'integrazione con la zona DNS privata. Assicurarsi di selezionare la zona DNS privato. Seleziona OK.
  8. Nella scheda Rete selezionare di nuovo Avanti.
  9. Nella scheda Protezione dati mantenere tutte le impostazioni predefinite.
  10. Selezionare Rivedi e crea per convalidare la configurazione.
  11. Attendere il completamento della convalida. Risolvere eventuali problemi prima di continuare.
  12. 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.

  1. Accedere al portale di Azure.

  2. Selezionare o cercare Archiviazione account.

  3. Nella pagina account Archiviazione selezionare sapafsnfs.

  4. Nel menu delle risorse per sapafsnfs selezionare Condivisioni file in Archiviazione dati.

  5. Nella pagina Condivisioni file selezionare Condivisione file.

    1. In Nome immettere sapnw1, saptrans.
    2. Selezionare una dimensione di condivisione appropriata. Ad esempio, 128 GB. Prendere in considerazione le dimensioni dei dati archiviati nella condivisione, gli I/O e i requisiti di velocità effettiva. Per altre informazioni, vedere Destinazioni di condivisione file di Azure.
    3. Selezionare NFS come protocollo.
    4. 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.

    Importante

    La dimensione della condivisione precedente è solo un esempio. Assicurarsi di ridimensionare le condivisioni in modo appropriato. Le dimensioni non solo in base alle dimensioni dei dati archiviati nella condivisione, ma anche in base ai requisiti per operazioni di I/O al secondo e velocità effettiva. Per informazioni dettagliate, vedere Destinazioni di condivisione file di Azure.

    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 è 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 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 in File di Azure, vedere Risolvere i problemi relativi alle prestazioni delle condivisioni file di Azure.
  • Per i sistemi SAP J2 edizione Enterprise non è supportato per l'uso /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 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 interfacce o saptrans.
  • Non usare la saptrans condivisione per altre attività, ad esempio interfacce o sapmnt.
  • Evitare di consolidare le condivisioni per troppi sistemi SAP in un singolo account di archiviazione. Sono disponibili anche Archiviazione obiettivi di scalabilità delle prestazioni dell'account. Prestare attenzione a non superare anche i limiti per l'account di archiviazione.
  • In generale, non consolidare le condivisioni per più di 5 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 di produzione 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 in zone di disponibilità, usare Archiviazione account 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.

Configurazione di (A)SCS

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 (A)SCS.

Installazione

Gli elementi seguenti sono preceduti dall'indicazione [A] - applicabile a tutti i nodi, [1] - applicabile solo al nodo 1 o [2] - applicabile solo al nodo 2.

  1. [A] Installare la versione più recente di SU edizione Standard Connessione or

    sudo zypper install sap-suse-cluster-connector
    

    Nota

    Il problema noto relativo all'uso di un trattino nei nomi host è stato risolto con la versione 3.1.1 del pacchetto sap-suse-cluster-connector. Verificare di usare almeno la versione 3.1.1 del pacchetto sap-suse-cluster-connector, se si usano nodi del cluster con un trattino nel nome host. In caso contrario, il cluster non funzionerà.

    Verificare di aver installato la nuova versione del connettore del cluster SAP SUSE. La versione precedente era denominata sap_suse_cluster_connector mentre la nuova è denominata sap-suse-cluster-connector.

  2. [A] Aggiornare gli agenti delle risorse SAP

    Per usare la nuova configurazione descritta in questo articolo, è necessaria una patch per il pacchetto resource-agents. È possibile verificare se la patch è già installata con il comando seguente

    sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
    

    L'output dovrebbe essere simile al seguente

    <parameter name="IS_ERS" unique="0" required="0">;
    

    Se il comando grep non trova il parametro IS_ERS, è necessario installare la patch indicata nella pagina di download di SUSE

  3. [A] Configurare la risoluzione dei nomi host

    È possibile usare un server DNS o modificare /etc/hosts in tutti i nodi. Questo esempio mostra 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 in /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
    
  4. [1] Creare le directory SAP nella condivisione NFS.
    Montare temporaneamente la condivisione NFS sapnw1 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
    

Prepararsi per l'installazione di SAP NetWeaver

  1. [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
    
  2. [A] Montare i file system che non saranno controllati dal cluster Pacemaker.

    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 
    
  3. [A] Configurare il file SWAP

    sudo vi /etc/waagent.conf
    
    # Check if property ResourceDisk.Format is already set to y and if not, set it
    ResourceDisk.Format=y
    
    # 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
    

Installazione di SAP NetWeaver ASCS/ERS

  1. [1] Creare una risorsa IP virtuale e un probe di integrità per l'istanza di ASCS

    Importante

    È consigliabile usare l'agente di risorse azure-lb, che fa parte di package resource-agents, con i requisiti di versione del pacchetto seguenti:

    • Per SLES 12 SP4/SP5 la versione deve essere almeno resource-agents-4.3.018.a7fb5035-3.30.1.
    • Per SLES 15 e versioni successive, la versione deve essere almeno resource-agents-4.3.0184.6ee15eb2-4.13.1.
    sudo crm node standby sap-cl2
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.90.90.10 \
      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 fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \
      meta resource-stickiness=3000
    

    Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse.

    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
    #  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
    
    
  2. [1] Installare SAP NetWeaver ASCS

    Installare SAP NetWeaver ASCS come radice nel primo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ASCS, ad esempio sapascs, 10.90.90.10 e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 00.

    È possibile usare il parametro sapinst SAPINST_REMOTE_ACCESS_USER per consentire a un utente non ROOT di connettersi a sapinst. È possibile usare il parametro SAPINST_USE_HOSTNAME per installare SAP, usando il nome host virtuale.

    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.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [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 fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ERS IPaddr2 \
      params ip=10.90.90.9 \
      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 fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

    Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse.

    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
    #      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_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2 
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ERS  (ocf::heartbeat:IPaddr2):     Started sap-cl2
    
  4. [2] Installare SAP NetWeaver ERS

    Installare SAP NetWeaver ERS come radice nel secondo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ERS, ad esempio sapers, 10.90.90.9 e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 01.

    È possibile usare il parametro sapinst SAPINST_REMOTE_ACCESS_USER per consentire a un utente non ROOT di connettersi a sapinst. È possibile usare il parametro SAPINST_USE_HOSTNAME per installare SAP, usando il 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 l'installazione avrà esito negativo.

    Se l'installazione non riesce a creare una sottocartella in /usr/sap/NW1/ERS 01, provare a impostare il proprietario e il gruppo della cartella ERS01 e riprovare.

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [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 following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # 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 keepalive sistema operativo siano impostati come descritto nella nota SAP 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)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [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 questo problema, è necessario impostare un parametro nel profilo SAP NetWeaver ASCS/SCS, se si usa ENSA1. Modificare le impostazioni di sistema keepalive Linux in tutti i server SAP sia per ENSA1/ENSA2. Per altre informazioni, leggere la nota SAP 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] Configurare gli utenti SAP dopo l'installazione

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Aggiungere i servizi SAP ASCS e ERS al file sapservice

    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
    
  9. [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"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
      operations \$id=rsc_sap_NW1_ASCS00-operations \
      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 \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
      operations \$id=rsc_sap_NW1_ERS01-operations \
      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 \
      meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    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 al server di accodamento 2, vedere la nota SAP 2641019.

Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse.

sudo crm_mon -r
# Full list of resources:
# 
# stonith-sbd     (stonith:external/sbd): Started sap-cl2
#  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
#      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
#  Resource Group: g-NW1_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started sap-cl2
#      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1

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.

La procedura seguente presuppone che si installi il server applicazioni in un server diverso dai server ASCS/SCS e HANA. Diversamente, alcuni dei passaggi seguenti non sono necessari, ad esempio la configurazione della risoluzione dei nomi host.

Gli elementi seguenti sono preceduti dall'indicazione [A], applicabile a PAS e AAS, [P], applicabile solo a PAS o [S], applicabile solo a AAS.

  1. [A] Configurare il sistema operativo

    Ridurre le dimensioni della cache dirty. Per altre informazioni, vedere Prestazioni di scrittura ridotte sui server SLES 11 12 con RAM di grandi dimensioni.

    sudo vi /etc/sysctl.conf
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. [A] Configurare la risoluzione dei nomi host

    È possibile usare un server DNS o modificare /etc/hosts in tutti i nodi. Questo esempio mostra 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 in /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
    
  3. [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
    
  4. [A] Montare i file system

    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 
    
  5. [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 (VM). 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 non ROOT di connettersi a sapinst.

sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin

Installazione del server applicazioni di SAP NetWeaver

Per installare il server applicazioni SAP, seguire questi passaggi.

  1. [A] Per preparare il server applicazioni. Seguire la procedura descritta nel capitolo Preparazione del server applicazioni di SAP NetWeaver sopra riportato.

  2. [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 non ROOT di connettersi a sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [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 ottenere un elenco delle voci

    hdbuserstore List
    

    Il comando dovrebbe elencare tutte le voci e dovrebbe essere simile a

    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, 30313 e NW1 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