GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare un cluster Pacemaker per Linux ad alta disponibilità

In qualità di amministratore di sistema, è fondamentale facilitare la disponibilità elevata a tutti i livelli possibili nell'architettura e nella progettazione di un sistema e l'ambiente SAP non è diverso. In questo articolo, discuterò come sfruttare Red Hat Enterprise Linux (RHEL) Pacemaker for High Availability (HA) di SAP NetWeaver Advanced Business Application Programming (ABAP) SAP Central Service (ASCS)/Enqueue Replication Server (ERS).

[ Potrebbe piacerti anche: Guida introduttiva ad Ansible per gli amministratori di sistema Linux ]

SAP ha un'architettura a tre livelli:

  • Livello presentazione —Presenta una GUI per l'interazione con l'applicazione SAP
  • Livello applicazione —Contiene uno o più server delle applicazioni e un server dei messaggi 
  • Livello database —Contiene il database con tutti i dati relativi a SAP (ad esempio Oracle)

In questo articolo, l'obiettivo principale è il livello dell'applicazione. Le istanze del server delle applicazioni forniscono le effettive funzioni di elaborazione dei dati di un sistema SAP. In base ai requisiti di sistema, vengono creati più server delle applicazioni per gestire il carico sul sistema SAP. Un altro componente principale nel livello dell'applicazione è l'ABAP SAP Central Service (ASCS). I servizi centrali comprendono due componenti principali:Message Server (MS) e Enqueue Server (ES). Il server dei messaggi funge da canale di comunicazione tra tutti i server delle applicazioni e gestisce la distribuzione del carico. Enqueue Server controlla il meccanismo di blocco.

Elevata disponibilità a livello di applicazioni e database

È possibile implementare la disponibilità elevata per i server delle applicazioni utilizzando un servizio di bilanciamento del carico e facendo in modo che più server delle applicazioni gestiscano le richieste degli utenti. Se un server delle applicazioni si arresta in modo anomalo, solo gli utenti connessi a quel server sono interessati. Isola l'arresto anomalo rimuovendo il server delle applicazioni dal sistema di bilanciamento del carico. Per un'elevata disponibilità di ASCS, usa Enqueue Replication Server (ERS) per replicare le voci della tabella di blocco. A livello di database, puoi impostare la replica nativa del database tra i database primari e secondari per garantire un'elevata disponibilità.

Introduzione a RHEL High Availability con Pacemaker

RHEL High Availability consente ai servizi di eseguire il failover da un nodo all'altro senza interruzioni all'interno di un cluster senza causare alcuna interruzione nel servizio. ASCS ed ERS possono essere integrati in un cluster RHEL Pacemaker. In caso di errore del nodo ASCS, i pacchetti del cluster passano a un nodo ERS in cui le istanze MS ed ES continueranno a essere eseguite senza arrestare il sistema. In caso di guasto di un nodo ERS, il sistema non subisce alcun impatto poiché MS ed ES continueranno a essere eseguiti sul nodo ASCS. In questo caso, l'istanza ERS non verrà eseguita sul nodo ASCS poiché le istanze ES ed ERS non devono essere eseguite sullo stesso nodo.

Configurazione pacemaker RHEL

Esistono due modi per configurare i nodi ASCS ed ERS nel cluster RHEL Pacemaker:Primario/Secondario e Autonomo . Il primario/secondario è supportato in tutte le versioni secondarie di RHEL 7. L'approccio autonomo è supportato in RHEL 7.5 e versioni successive. RHEL consiglia l'utilizzo dell'approccio autonomo per tutte le nuove distribuzioni.

Configurazione cluster

I passaggi generali per la configurazione del cluster includono:

  1. Installa i pacchetti Pacemaker su entrambi i nodi del cluster.
    # yum -y install pcs pacemaker
  2. Crea l'HACLUSTER ID utente con.
    # passwd hacluster
    Per utilizzare pcs per configurare il cluster e comunicare tra i nodi, è necessario impostare una password su ciascun nodo per l'ID utente hacluster , che è il pcs conto di amministrazione. Si consiglia di inserire la password per l'utente hacluster essere lo stesso su ogni nodo.
  3. Abilita e avvia i pcs Servizi.
    # systemctl enable pcsd.service; systemctl start pcsd.service
  4. Autentica pcs con cluster utente
    Autenticare i pcs utente hacluster per ogni nodo del cluster. Il comando seguente autentica l'utente hacluster su nodo1 per entrambi i nodi in un cluster a due nodi (node1.example.com e node2.example.com).
    # pcs cluster auth node1.example.com node2.example.com
    Username: hacluster
    Password:
    node1.example.com: Authorized
    node2.example.com: Authorized
  5. Crea il cluster.
    Cluster nwha viene creato utilizzando node1 e node2:
    # pcs cluster setup --name nwha node1 node2
  6. Avvia il cluster.
    # pcs cluster start --all
  7. Abilita l'avvio automatico del cluster dopo il riavvio.
    # pcs cluster enable --all

Creazione di risorse per istanze ASCS ed ERS

Ora che il cluster è configurato, devi aggiungere le risorse per i nodi ASCS ed ERS. I passaggi generali includono:

  1. Installa resource-agents-sap su tutti i nodi del cluster.
    # yum install resource-agents-sap
  2. Configura il filesystem condiviso come risorse gestite dal cluster.
    Il filesystem condiviso, come /sapmnt , /usr/sap/trans , /usr/sap/SYS vengono aggiunti come risorse montate automaticamente sul cluster utilizzando il comando: 
    # pcs resource create <resource-name> Filesystem device=’<path-of-filesystem>’ directory=’<directory-name>’ fstype=’<type-of-fs>’

    Esempio:
    # pcs resource create sid_fs_sapmnt Filesystem device='nfs_server:/export/sapmnt' directory='/sapmnt' fstype='nfs'
  3. Configura gruppo di risorse per ASCS.
    Per il nodo ASCS, i tre gruppi di risorse richiesti sono i seguenti (supponendo che l'ID istanza di ASCS sia 00):
    • Indirizzo IP virtuale per l'ASCS
    • Filesystem ASCS (ad esempio, /usr/sap/<SID>/ASCS00 )
    • Istanza del profilo ASCS (ad esempio, /sapmnt/<SID>/profile/<SID>_ASCS00_<hostname> )
  4. Configura il gruppo di risorse per ERS.
    Per il nodo ERS, i tre gruppi di risorse richiesti sono i seguenti (assumendo l'ID istanza di ERS in 30):
    • Indirizzo IP virtuale per l'ERS
    • Filesystem ERS (ad esempio, /usr/sap/<SID>/ERS30 )
    • Istanza del profilo ERS (ad esempio, /sapmnt/<SID>/profile/<SID>_ERS30_<hostname> )
  5. Crea i vincoli.
    Imposta i vincoli del gruppo di risorse ASCS e ERS per quanto segue:
    • Limita l'esecuzione di entrambi i gruppi di risorse sullo stesso nodo
    • Fai eseguire ASCS sul nodo in cui era in esecuzione ERS in caso di failover
    • Mantieni la sequenza di avvio/arresto dell'ordine
    • Assicurati che il cluster sia avviato solo dopo che i filesystem richiesti sono stati montati

Test di failover del cluster

Supponendo che ASCS venga eseguito su node1 ed ERS viene eseguito su node2 inizialmente. Se nodo1 scende, ASCS ed ERS passano entrambi a node2 . A causa del vincolo definito, ERS non verrà eseguito su node2 .

Quando nodo1 ritorna, ERS passerà a node1 mentre ASCS rimane su node2 . Usa il comando #pcs status per verificare lo stato del cluster.

[ Un corso gratuito per te:Panoramica tecnica su virtualizzazione e migrazione dell'infrastruttura. ] 

Concludi

RHEL Pacemaker è un'ottima utilità per ottenere un cluster ad alta disponibilità per SAP. Puoi anche eseguire il fencing configurando STONITH per garantire l'integrità dei dati ed evitare l'utilizzo delle risorse da parte di un nodo difettoso nel cluster.

Per tutti gli appassionati di automazione, puoi utilizzare Ansible per controllare il tuo cluster Pacemaker utilizzando il modulo Ansible pacemaker_cluster. Per quanto proteggi i tuoi sistemi, prenditi cura di te stesso e stai al sicuro.


Linux
  1. Come installare l'applicazione Spotify su Linux

  2. Come trovare l'applicazione per un tipo Mime su Linux?

  3. Come configurare il cluster ad alta disponibilità Nginx utilizzando Pacemaker su CentOS 7

  4. Come compilare una libreria dinamica per un'applicazione JNI su Linux?

  5. Come impostare l'ID processo in Linux per un programma specifico

Come configurare tlog su host Linux per la registrazione del terminale

Come impostare uno sfondo diverso per ogni monitor in Linux

Come impostare la disponibilità elevata per Namenode – Parte 5

Come impostare la disponibilità elevata per Resource Manager – Parte 6

Come configurare un Killswitch Linux per VPN

Come configurare il cluster RabbitMQ su Ubuntu/Debian Linux