Einrichten von Pacemaker unter Red Hat Enterprise Linux in Azure
In diesem Artikel wird beschrieben, wie Sie einen einfachen Pacemaker-Cluster auf Red Hat Enterprise Server (RHEL) konfigurieren. Die Anweisungen umfassen RHEL 7, RHEL 8 und RHEL 9.
Voraussetzungen
Lesen Sie zuerst die folgenden SAP-Hinweise und -Dokumente:
- SAP-Hinweis 1928533 mit folgenden Informationen:
- Eine Liste der Größe des virtuellen Azure-Computers (VM), die für die Bereitstellung von SAP-Software unterstützt werden.
- Wichtige Kapazitätsinformationen für Azure-VM-Größen
- Die unterstützten SAP-Software- und Betriebssystemkombinationen (OS) und Datenbankkombinationen.
- Erforderliche SAP-Kernelversion für Windows und Linux in Microsoft Azure
- In SAP-Hinweis 2015553 sind die Voraussetzungen für Bereitstellungen von SAP-Software in Azure aufgeführt, die von SAP unterstützt werden.
- SAP Note 2002167 empfiehlt Betriebssystemeinstellungen für Red Hat Enterprise Linux.
- SAP Note 3108316 empfiehlt Betriebssystemeinstellungen für Red Hat Enterprise Linux 9.x.
- SAP-Hinweis 2009879 enthält SAP HANA-Richtlinien für Red Hat Enterprise Linux.
- SAP Note 3108302 hat SAP HANA Guidelines for Red Hat Enterprise Linux 9.x.
- SAP-Hinweis 2178632 enthält ausführliche Informationen zu allen Überwachungsmetriken, die für SAP in Azure gemeldet werden.
- SAP-Hinweis 2191498 enthält die erforderliche SAP Host Agent-Version für Linux in Azure.
- SAP-Hinweis 2243692 enthält Informationen zur SAP-Lizenzierung unter Linux in Azure.
- SAP-Hinweis 1999351 enthält Informationen zur Problembehandlung für die Azure Enhanced Monitoring-Erweiterung für SAP.
- Das WIKI der SAP-Community enthält alle erforderlichen SAP-Hinweise für Linux.
- Azure Virtual Machines – Planung und Implementierung für SAP unter Linux
- Azure Virtual Machines – Bereitstellung für SAP unter Linux (dieser Artikel)
- Azure Virtual Machines – DBMS-Bereitstellung für SAP unter Linux
- SAP HANA-Systemreplikation im Pacemaker-Cluster
- Allgemeine RHEL-Dokumentation:
- Azure-spezifische RHEL-Dokumentation:
- Supportrichtlinien für RHEL-Cluster mit hoher Verfügbarkeit – Virtuelle Microsoft Azure-Computer als Clustermitglieder
- Installieren und Konfigurieren eines Red Hat Enterprise Linux 7.4-Hochverfügbarkeitclusters (und höher) in Microsoft Azure
- Überlegungen bei der Einführung von RHEL 8 – Hohe Verfügbarkeit und Cluster
- Configure SAP S/4HANA ASCS/ERS with Standalone Enqueue Server 2 (ENSA2) in Pacemaker on RHEL 7.6 (Konfigurieren von SAP S/4HANA ASCS/ERS mit eigenständigem Enqueue-Server 2 (ENSA2) in Pacemaker unter RHEL 7.6)
- RHEL for SAP-Angebote in Azure
Clusterinstallation
Hinweis
Red Hat unterstützt keinen software emulierten Watchdog. Red Hat unterstützt SBD nicht auf Cloudplattformen. Weitere Informationen finden Sie unter Supportrichtlinien für RHEL High-Availability Clusters – sbd und fence_sbd.
Der einzige unterstützte Fencing-Mechanismus für Pacemaker RHEL-Cluster in Azure ist ein Azure-Zaun-Agent.
Die folgenden Elemente haben eines der folgenden Präfixe:
- [A] : Gilt für alle Knoten
- [1]: Gilt nur für Knoten 1
- [2]: Gilt nur für Knoten 2
Unterschiede bei den Befehlen oder der Konfiguration zwischen RHEL 7 und RHEL 8/RHEL 9 werden im Dokument markiert.
[A] Registrieren Sie sich. Dieser Schritt ist optional. Wenn Sie RHEL SAP HA-fähige Images verwenden, ist dieser Schritt nicht erforderlich.
Wenn Sie beispielsweise auf RHEL 7 bereitstellen, registrieren Sie Ihre VM, und fügen Sie sie an einen Pool an, der Repositorys für RHEL 7 enthält.
sudo subscription-manager register # List the available pools sudo subscription-manager list --available --matches '*SAP*' sudo subscription-manager attach --pool=<pool id>
Wenn Sie einen Pool an ein Azure Marketplace-Pay-as-you-go RHEL-Image anfügen, werden Sie effektiv doppelt für Ihre RHEL-Nutzung in Rechnung gestellt. Sie werden einmal für das Pay-as-you-go-Image und einmal für die RHEL-Berechtigung im Pool in Rechnung gestellt, den Sie anfügen. Um diese Situation zu mindern, bietet Azure jetzt RHEL-Images für Ihr eigenes Abonnement an. Weitere Informationen finden Sie unter Bring-Your-Own-Subscription-Gold-Images für Red Hat Enterprise Linux in Azure.
[A] Aktivieren Sie RHEL für SAP-Repositorys. Dieser Schritt ist optional. Wenn Sie RHEL SAP HA-fähige Images verwenden, ist dieser Schritt nicht erforderlich.
Um die erforderlichen Pakete auf RHEL 7 zu installieren, aktivieren Sie die folgenden Repositorys:
sudo subscription-manager repos --disable "*" sudo subscription-manager repos --enable=rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-sap-for-rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-eus-rpms
[A] Installieren Sie das RHEL HA-Add-On.
sudo yum install -y pcs pacemaker fence-agents-azure-arm nmap-ncat
Wichtig
Es wird empfohlen, die folgenden Versionen des Azure-Zaun-Agents (oder höher) für Kunden von einer schnelleren Failoverzeit zu profitieren, wenn ein Ressourcenstopp fehlschlägt oder die Clusterknoten nicht mehr miteinander kommunizieren können:
RHEL 7.7 oder höher verwenden die neueste verfügbare Version des Zaun-Agents-Pakets.
RHEL 7.6: fence-agents-4.2.1-11.el7_6.8
RHEL 7.5: fence-agents-4.0.11-86.el7_5.8
RHEL 7.4: fence-agents-4.0.11-66.el7_4.12
Weitere Informationen finden Sie unter Azure VM, die als RHEL High-Availability-Clustermitglied ausgeführt wird, eine sehr lange Zeit, um eingezäunt zu werden, oder das Fencing schlägt/Timeout fehl, bevor der virtuelle Computer heruntergefahren wird.
Wichtig
Wir empfehlen die folgenden Versionen des Azure-Zaun-Agents (oder höher) für Kunden, die verwaltete Identitäten für Azure-Ressourcen anstelle von Dienstprinzipalnamen für den Zaun-Agent verwenden möchten:
RHEL 8.4: Zaunmittel-4.2.1-54.el8.
RHEL 8.2: fence-agents-4.2.1-41.el8_2.4
RHEL 8.1: fence-agents-4.2.1-30.el8_1.4
RHEL 7.9: fence-agents-4.2.1-41.el7_9.4.
Wichtig
Auf RHEL 9 empfehlen wir die folgenden Paketversionen (oder höher), um Probleme mit dem Azure-Zaun-Agent zu vermeiden:
Zaunagenten-4.10.0-20.el9_0.7
Zaunagenten-common-4.10.0-20.el9_0.6
ha-cloud-support-4.10.0-20.el9_0.6.x86_64.rpm
Überprüfen Sie die Version des Azure Fence-Agent. Aktualisieren Sie es bei Bedarf auf die mindestens erforderliche Version oder höher.
# Check the version of the Azure Fence Agent sudo yum info fence-agents-azure-arm
Wichtig
Wenn Sie den Azure-Zaun-Agent aktualisieren müssen und wenn Sie eine benutzerdefinierte Rolle verwenden, müssen Sie die benutzerdefinierte Rolle aktualisieren, um das Action PowerOff einzuschließen. Weitere Informationen finden Sie unter Erstellen einer benutzerdefinierten Rolle für den Zaun-Agent.
Wenn Sie auf RHEL 9 bereitstellen, installieren Sie auch die Ressourcen-Agents für die Cloudbereitstellung.
sudo yum install -y resource-agents-cloud
[A] Einrichten der Auflösung des Hostnamens.
Sie können entweder einen DNS-Server verwenden oder die Datei
/etc/hosts
auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der Datei/etc/hosts
gezeigt. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen.Wichtig
Wenn Sie Hostnamen in der Clusterkonfiguration verwenden, ist es wichtig, eine zuverlässige Hostnamenauflösung zu haben. Die Clusterkommunikation schlägt fehl, wenn die Namen nicht verfügbar sind, was zu Clusterfailoververzögerungen führen kann.
Der Vorteil der Verwendung
/etc/hosts
besteht darin, dass Ihr Cluster unabhängig von DNS wird, was auch ein einzelner Fehlerpunkt sein könnte.sudo vi /etc/hosts
Fügen Sie in
/etc/hosts
die folgenden Zeilen ein. Ändern Sie die IP-Adresse und den Hostnamen Ihrer Umgebung entsprechend.# IP address of the first cluster node 10.0.0.6 prod-cl1-0 # IP address of the second cluster node 10.0.0.7 prod-cl1-1
[A] Ändern Sie das
hacluster
Kennwort in dasselbe Kennwort.sudo passwd hacluster
[A] Fügen Sie Firewallregeln für Pacemaker hinzu.
Fügen Sie jeglicher Clusterkommunikation zwischen den Clusterknoten die folgenden Firewallregeln hinzu.
sudo firewall-cmd --add-service=high-availability --permanent sudo firewall-cmd --add-service=high-availability
[A] Aktivieren Sie grundlegende Clusterdienste.
Führen Sie die folgenden Befehle aus, um den Pacemaker-Dienst zu aktivieren und zu starten.
sudo systemctl start pcsd.service sudo systemctl enable pcsd.service
[1] Erstellen Sie einen Pacemaker-Cluster.
Führen Sie die folgenden Befehle aus, um die Knoten zu authentifizieren und den Cluster zu erstellen. Legen Sie das Token auf 30000 fest, um speichererhaltende Standard Zusicherung zu ermöglichen. Weitere Informationen finden Sie in diesem Artikel für Linux.
Wenn Sie einen Cluster auf RHEL 7.x erstellen, verwenden Sie die folgenden Befehle:
sudo pcs cluster auth prod-cl1-0 prod-cl1-1 -u hacluster sudo pcs cluster setup --name nw1-azr prod-cl1-0 prod-cl1-1 --token 30000 sudo pcs cluster start --all
Wenn Sie einen Cluster auf RHEL 8.x/RHEL 9.x erstellen, verwenden Sie die folgenden Befehle:
sudo pcs host auth prod-cl1-0 prod-cl1-1 -u hacluster sudo pcs cluster setup nw1-azr prod-cl1-0 prod-cl1-1 totem token=30000 sudo pcs cluster start --all
Überprüfen Sie den Clusterstatus, indem Sie den folgenden Befehl ausführen:
# Run the following command until the status of both nodes is online sudo pcs status # Cluster name: nw1-azr # WARNING: no stonith devices and stonith-enabled is not false # Stack: corosync # Current DC: prod-cl1-1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum # Last updated: Fri Aug 17 09:18:24 2018 # Last change: Fri Aug 17 09:17:46 2018 by hacluster via crmd on prod-cl1-1 # # 2 nodes configured # 0 resources configured # # Online: [ prod-cl1-0 prod-cl1-1 ] # # No resources # # Daemon Status: # corosync: active/disabled # pacemaker: active/disabled # pcsd: active/enabled
[A] Legen Sie die erwarteten Stimmen fest.
# Check the quorum votes pcs quorum status # If the quorum votes are not set to 2, execute the next command sudo pcs quorum expected-votes 2
Tipp
Wenn Sie einen Multinodecluster erstellen, d. h. ein Cluster mit mehr als zwei Knoten, legen Sie die Stimmen nicht auf 2 fest.
[1] Gleichzeitige Zaunaktionen zulassen.
sudo pcs property set concurrent-fencing=true
Erstellen eines Fencinggeräts
Das Fencing-Gerät verwendet entweder eine verwaltete Identität für Azure-Ressource oder einen Dienstprinzipal, um die Autorisierung für Azure auszuführen.
Zum Erstellen einer verwalteten Identität (MSI) erstellen Sie eine systemseitig zugewiesene verwaltete Identität für jeden virtuellen Computer im Cluster. Wenn bereits eine vom System zugewiesene verwaltete Identität vorhanden ist, wird sie verwendet. Verwenden Sie derzeit keine vom Benutzer zugewiesenen verwalteten Identitäten mit Pacemaker. Ein Zaungerät basierend auf verwalteter Identität wird auf RHEL 7.9 und RHEL 8.x/RHEL 9.x unterstützt.
[1] Erstellen einer benutzerdefinierten Rolle für den Fence Agent.
Sowohl die verwaltete Identität als auch der Dienstprinzipal verfügen nicht standardmäßig über Berechtigungen für den Zugriff auf Ihre Azure-Ressourcen. Sie müssen den verwalteten Identitäts- oder Dienstprinzipalberechtigungen erteilen, um alle virtuellen Computer des Clusters zu starten und zu beenden (auszuschalten). Wenn Sie die benutzerdefinierte Rolle noch nicht erstellt haben, können Sie sie mithilfe von PowerShell oder der Azure CLI erstellen.
Verwenden Sie folgenden Inhalt für die Eingabedatei. Sie müssen die Inhalte an Ihre Abonnements anpassen, d. h. ersetzen xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
und yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
durch die IDs Ihres Abonnements. Wenn Sie nur über ein Abonnement verfügen, entfernen Sie den zweiten Eintrag in AssignableScopes
.
{
"Name": "Linux Fence Agent Role",
"description": "Allows to power-off and start virtual machines",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"/subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
],
"actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
[A] Zuweisen der benutzerdefinierten Rolle
Verwenden Sie verwaltete Identität oder Dienstprinzipal.
Weisen Sie die benutzerdefinierte Rolle Linux Fence Agent Role
, die im letzten Abschnitt erstellt wurde, jeder verwalteten Identität der Cluster-VMs zu. Jeder systemseitig zugewiesenen verwalteten Identität muss die Rolle für jede Cluster-VM-Ressource zugewiesen werden. Weitere Informationen finden Sie unter Zuweisen des Zugriffs einer verwalteten Identität auf eine Ressource über das Azure-Portal. Stellen Sie sicher, dass die Rollenzuweisung der verwalteten Identität jedes virtuellen Computers alle Cluster-VMs enthält.
Wichtig
Beachten Sie, dass die Zuweisung und Entfernung der Autorisierung mit verwalteten Identitäten bis zum Wirksamen verzögert werden können.
[1] Erstellen der Fencinggeräte
Nachdem Sie die Berechtigungen für die virtuellen Computer bearbeitet haben, können Sie die Fencing-Geräte im Cluster konfigurieren.
sudo pcs property set stonith-timeout=900
Hinweis
Die Option pcmk_host_map
ist nur im Befehl erforderlich, wenn die RHEL-Hostnamen und die Azure-VM-Namen nicht identisch sind. Geben Sie die Zuordnung im Format hostname:vm-name an.
Beachten Sie den fett formatierten Bereich des Befehls. Weitere Informationen finden Sie unter Welches Format soll ich zum Angeben von Knotenzuordnungen zum Fencing von Geräten in pcmk_host_map verwenden?.
Verwenden Sie für RHEL 7.xden folgenden Befehl, um das Fencinggerät zu konfigurieren:
sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \
subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600
Verwenden Sie für RHEL 8.x/9.x den folgenden Befehl, um das Zaungerät zu konfigurieren:
# Run following command if you are setting up fence agent on (two-node cluster and pacemaker version greater than 2.0.4-6.el8) OR (HANA scale out)
sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \
subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 \
op monitor interval=3600
# Run following command if you are setting up fence agent on (two-node cluster and pacemaker version less than 2.0.4-6.el8)
sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \
subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600
Wenn Sie ein Fencing-Gerät basierend auf der Konfiguration des Dienstprinzipals verwenden, lesen Sie "Wechseln von SPN zu MSI für Pacemaker-Cluster mithilfe von Azure-Fencing " und erfahren Sie, wie Sie in die Konfiguration verwalteter Identitäten konvertieren.
Tipp
- Um Zaunrennen innerhalb eines Zweiknoten-Pacemaker-Clusters zu vermeiden, können Sie die
priority-fencing-delay
Clustereigenschaft konfigurieren. Diese Eigenschaft führt zu einer zusätzlichen Verzögerung beim Einfassen eines Knotens mit einer höheren Gesamtressourcenpriorität, wenn ein Split-Brain-Szenario auftritt. Weitere Informationen finden Sie unter Kann Pacemaker den Clusterknoten mit den wenigsten ausgeführten Ressourcen einfassen?. - Die Eigenschaft
priority-fencing-delay
gilt für Pacemaker Version 2.0.4-6.el8 oder höher und auf einem Zwei-Knoten-Cluster. Wenn Sie diepriority-fencing-delay
Clustereigenschaft konfigurieren, müssen Sie diepcmk_delay_max
Eigenschaft nicht festlegen. Wenn die Pacemaker-Version jedoch kleiner als 2.0.4-6.el8 ist, müssen Sie diepcmk_delay_max
Eigenschaft festlegen. - Anweisungen zum Festlegen der
priority-fencing-delay
Clustereigenschaft finden Sie in den entsprechenden SAP ASCS/ERS- und SAP HANA Scale-up HA-Dokumenten.
Die Überwachungs- und Fencingvorgänge sind deserialisiert. Wenn daher ein länger ausgeführter Überwachungsvorgang und ein gleichzeitiges Fencing-Ereignis vorhanden ist, gibt es keine Verzögerung für das Clusterfailover, da der Überwachungsvorgang bereits ausgeführt wird.
[1] Aktivieren der Verwendung eines Fencinggeräts
sudo pcs property set stonith-enabled=true
Tipp
Der Azure-Zaun-Agent erfordert ausgehende Konnektivität mit öffentlichen Endpunkten. Weitere Informationen sowie mögliche Lösungen finden Sie unter Public Endpoint Connectivity for VMs using standard ILB.
Konfigurieren Sie Pacemaker für geplante Azure-Ereignisse
Azure verfügt über geplante Ereignisse. Geplante Ereignisse werden über den Metadatendienst gesendet und ermöglichen es der Anwendung, sich auf solche Ereignisse vorzubereiten.
Der Pacemaker-Ressourcen-Agent azure-events-az
überwacht geplante Azure-Ereignisse. Wenn Ereignisse erkannt werden und der Ressourcen-Agent feststellt, dass ein anderer Clusterknoten verfügbar ist, wird ein Clusterintegritätsattribut festgelegt.
Wenn das Clusterintegritätsattribut für einen Knoten festgelegt wird, werden die Standorteinschränkungen ausgelöst und alle Ressourcen mit Namen, mit denen nicht begonnen health-
wird, vom Knoten mit dem geplanten Ereignis migriert. Nachdem der betroffene Clusterknoten frei von ausgeführten Clusterressourcen ist, wird das geplante Ereignis bestätigt und kann seine Aktion ausführen, z. B. einen Neustart.
[A] Stellen Sie sicher, dass das Paket für den
azure-events-az
Agent bereits installiert ist und auf dem neuesten Stand ist.RHEL 8.x: sudo dnf info resource-agents RHEL 9.x: sudo dnf info resource-agents-cloud
Mindestversionsanforderungen:
- RHEL 8.4:
resource-agents-4.1.1-90.13
- RHEL 8.6:
resource-agents-4.9.0-16.9
- RHEL 8.8:
resource-agents-4.9.0-40.1
- RHEL 9.0:
resource-agents-cloud-4.10.0-9.6
- RHEL 9.2 und höher:
resource-agents-cloud-4.10.0-34.1
- RHEL 8.4:
[1] Konfigurieren Sie die Ressourcen in Pacemaker.
#Place the cluster in maintenance mode sudo pcs property set maintenance-mode=true
[1] Legen Sie die Strategie und Einschränkung des Pacemaker-Cluster-Integritätsknotens fest.
sudo pcs property set node-health-strategy=custom sudo pcs constraint location 'regexp%!health-.*' \ rule score-attribute='#health-azure' \ defined '#uname'
Wichtig
Definieren Sie keine anderen Ressourcen im Cluster, beginnend mit
health-
den in den nächsten Schritten beschriebenen Ressourcen.[1] Legen Sie den Anfangswert der Clusterattribute fest. Führen Sie für jeden Clusterknoten und für Skalierungsumgebungen aus, einschließlich der VM des Mehrheitsherstellers.
sudo crm_attribute --node prod-cl1-0 --name '#health-azure' --update 0 sudo crm_attribute --node prod-cl1-1 --name '#health-azure' --update 0
[1] Konfigurieren Sie die Ressourcen in Pacemaker. Stellen Sie sicher, dass die Ressourcen mit
health-azure
.sudo pcs resource create health-azure-events \ ocf:heartbeat:azure-events-az \ op monitor interval=10s timeout=240s \ op start timeout=10s start-delay=90s sudo pcs resource clone health-azure-events allow-unhealthy-nodes=true failure-timeout=120s
Nehmen Sie den Pacemaker-Cluster aus dem Standard-Modus heraus.
sudo pcs property set maintenance-mode=false
Löschen Sie alle Fehler während der Aktivierung, und stellen Sie sicher, dass die
health-azure-events
Ressourcen erfolgreich auf allen Clusterknoten gestartet wurden.sudo pcs resource cleanup
Die Erstmalige Abfrageausführung für geplante Ereignisse kann bis zu zwei Minuten dauern. Pacemaker-Tests mit geplanten Ereignissen können Neustart- oder erneutes Bereitstellen von Aktionen für die Cluster-VMs verwenden. Weitere Informationen finden Sie unter Geplante Ereignisse.
Optionale Fencingkonfiguration
Tipp
Dieser Abschnitt gilt nur, wenn Sie das spezielle Fencing-Gerät fence_kdump
konfigurieren möchten.
Wenn Sie Diagnoseinformationen innerhalb der VM sammeln müssen, kann es hilfreich sein, ein anderes Fencing-Gerät basierend auf dem Zaun-Agent fence_kdump
zu konfigurieren. Der fence_kdump
Agent kann erkennen, dass ein Knoten in die Kdump-Absturzwiederherstellung eingegeben wurde und den Absturzwiederherstellungsdienst abschließen kann, bevor andere Fencing-Methoden aufgerufen werden.The agent can detect that a node entered kdump crash recovery and can allow the crash recovery service to complete before other fencing methods are invoked. Beachten Sie, dass fence_kdump
es sich nicht um einen Ersatz für herkömmliche Zaunmechanismen wie den Azure-Zaun-Agent handelt, wenn Sie Azure-VMs verwenden.
Wichtig
Beachten Sie, dass bei fence_kdump
der Konfiguration als Fencinggerät der ersten Ebene Verzögerungen bei den Fencingvorgängen bzw. Verzögerungen im Failover der Anwendungsressourcen auftreten.
Wenn ein Absturzabbild erfolgreich erkannt wird, wird das Fencing verzögert, bis der Absturzwiederherstellungsdienst abgeschlossen ist. Wenn der fehlgeschlagene Knoten nicht erreichbar ist oder nicht reagiert, wird das Fencing nach zeitbestimmter Zeit verzögert, die konfigurierte Anzahl der Iterationen und das fence_kdump
Timeout. Weitere Informationen finden Sie unter Gewusst wie Konfigurieren von fence_kdump in einem Red Hat Pacemaker-Cluster?.
Der vorgeschlagene fence_kdump
Timeout muss möglicherweise an die spezifische Umgebung angepasst werden.
Es wird empfohlen, das Fencing nur zu konfigurierenfence_kdump
, wenn dies erforderlich ist, um Diagnose innerhalb des virtuellen Computers zu sammeln und immer in Kombination mit herkömmlichen Zaunmethoden wie dem Azure-Zaun-Agent zu verwenden.
Die folgenden Red Hat KB-Artikel enthalten wichtige Informationen zum Konfigurieren von fence_kdump
Fencing:
- Lesen Sie Gewusst wie konfigurieren Sie fence_kdump in einem Red Hat Pacemaker-Cluster?.
- Erfahren Sie, wie Sie Fencing-Ebenen in einem RHEL-Cluster mit Pacemaker konfigurieren/verwalten.
- Siehe fence_kdump mit "Timeout nach X Sekunden" in einem RHEL 6- oder 7 HA-Cluster mit kexec-Tools fehlschlägt, die älter als 2.0.14 sind.
- Informationen zum Ändern des Standardtimeouts finden Sie unter Gewusst wie Konfigurieren von Kdump für die Verwendung mit dem RHEL 6, 7, 8 HA-Add-On?.
- Informationen zum Reduzieren der Failoververzögerung bei Verwendung
fence_kdump
finden Sie unter Kann ich die erwartete Verzögerung des Failovers beim Hinzufügen fence_kdump Konfiguration verringern.
Führen Sie die folgenden optionalen Schritte aus, um zusätzlich zur Konfiguration des Azure-Zaun-Agents als Konfiguration für das Fencing auf erster Ebene hinzuzufügen fence_kdump
.
[A] Überprüfen Sie, ob dies
kdump
aktiv ist und konfiguriert ist.systemctl is-active kdump # Expected result # active
[A] Installieren Sie den Fence-Agent
fence_kdump
.yum install fence-agents-kdump
[1] Erstellen Sie ein
fence_kdump
Fencing-Gerät im Cluster.pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" timeout=30
[1] Konfigurieren Sie Fencingebenen so, dass der
fence_kdump
Fencingmechanismus zuerst aktiviert wird.pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" pcs stonith level add 1 prod-cl1-0 rsc_st_kdump pcs stonith level add 1 prod-cl1-1 rsc_st_kdump pcs stonith level add 2 prod-cl1-0 rsc_st_azure pcs stonith level add 2 prod-cl1-1 rsc_st_azure # Check the fencing level configuration pcs stonith level # Example output # Target: prod-cl1-0 # Level 1 - rsc_st_kdump # Level 2 - rsc_st_azure # Target: prod-cl1-1 # Level 1 - rsc_st_kdump # Level 2 - rsc_st_azure
[A] Lassen Sie die erforderlichen Ports für
fence_kdump
die Firewall zu.firewall-cmd --add-port=7410/udp firewall-cmd --add-port=7410/udp --permanent
[A] Stellen Sie sicher, dass die
initramfs
Bilddatei diefence_kdump
dateien enthält.hosts
Weitere Informationen finden Sie unter Gewusst wie Konfigurieren von fence_kdump in einem Red Hat Pacemaker-Cluster?.lsinitrd /boot/initramfs-$(uname -r)kdump.img | egrep "fence|hosts" # Example output # -rw-r--r-- 1 root root 208 Jun 7 21:42 etc/hosts # -rwxr-xr-x 1 root root 15560 Jun 17 14:59 usr/libexec/fence_kdump_send
[A] Führen Sie die
fence_kdump_nodes
Konfiguration/etc/kdump.conf
aus, um zu vermeidenfence_kdump
, dass bei einigenkexec-tools
Versionen ein Timeout auftritt. Weitere Informationen finden Sie unter fence_kdump Timeout, wenn fence_kdump_nodes nicht mit kexec-tools Version 2.0.15 oder höher angegeben wird, und fence_kdump mit "Timeout nach X Sekunden" in einem RHEL 6- oder 7 High Availability-Cluster mit kexec-tools-Versionen fehlschlägt, die älter als 2.0.14 sind. Hier wird die Beispielkonfiguration für einen Cluster mit zwei Knoten dargestellt. Nachdem Sie eine Änderung/etc/kdump.conf
vorgenommen haben, muss das Kdump-Bild neu generiert werden. Um den Dienst neu zu generieren, starten Sie denkdump
Dienst neu.vi /etc/kdump.conf # On node prod-cl1-0 make sure the following line is added fence_kdump_nodes prod-cl1-1 # On node prod-cl1-1 make sure the following line is added fence_kdump_nodes prod-cl1-0 # Restart the service on each node systemctl restart kdump
Testen Sie die Konfiguration, indem Sie einen Knoten zum Absturz bringen. Weitere Informationen finden Sie unter Gewusst wie Konfigurieren von fence_kdump in einem Red Hat Pacemaker-Cluster?.
Wichtig
Wenn der Cluster bereits produktiv genutzt wird, planen Sie den Test entsprechend, da sich das Abstürzen eines Knotens auf die Anwendung auswirkt.
echo c > /proc/sysrq-trigger
Nächste Schritte
- Siehe Azure Virtual Machines – Planung und Implementierung für SAP.
- Siehe Bereitstellung von Azure Virtual Machines für SAP.
- Siehe Azure Virtual Machines – DBMS-Bereitstellung für SAP.
- Informationen zum Einrichten von HA und zum Planen der Notfallwiederherstellung von SAP HANA auf Azure-VMs finden Sie unter "Hohe Verfügbarkeit von SAP HANA auf virtuellen Azure-Computern".
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für