welcome: please sign in
location: Änderungen von "ProxmoxHighAvailablility"
Unterschiede zwischen den Revisionen 1 und 2
Revision 1 vom 2019-05-02 13:02:41
Größe: 2818
Kommentar: HA
Revision 2 vom 2019-05-08 11:24:04
Größe: 3214
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 3: Zeile 3:
Um ein High-Availability-Cluster (HA-Cluster) zu bilden werden mindestens drei Knoten (Quorum) benötigt. Um ein [[https://pve.proxmox.com/wiki/High_Availability|High-Availability-Cluster (HA-Cluster)]] zu bilden werden mindestens drei Knoten (Quorum) in einem [[https://wiki.init.mpg.de/IT4Science/ProxmoxCluster|Cluster]] benötigt. Wie bei einem Cluster ohne HA-Fähigkeit findet hier die Kommunikation über [[https://corosync.github.io/corosync/|Corosync]] statt.
Zeile 6: Zeile 6:
 * Cluster aus mindestens drei Knoten  * [[https://wiki.init.mpg.de/IT4Science/ProxmoxCluster|Cluster]] aus mindestens drei Knoten
Zeile 10: Zeile 10:
 * optionale Fencinggeräte
Zeile 14: Zeile 13:
 * einzigartige ID vergeben, Auswahl der Knoten mit Prioritäten (Bei Ausfall werden die Knoten mit der höchsten Priorität ausgewählt und unter mehreren Knoten mit gleicher Priorität fällt die Wahl auf den Knoten mit weniger Workload.)
 * restricted: Gast läuft nur auf Knoten bestimmter Gruppen und befindet sich im stopped state falls keiner der in der Gruppe befindlichen Knoten online ist
 * nofailback: Gast wird normalerweise auf den Knoten mit höherer Priorität migriert falls dieser auftaucht - nofailback verhindert dies
 * einzigartige Gruppen-ID vergeben (einzigartig, da sie das Unterscheidungsmerkmal der bei mehreren Gruppen ist), Auswahl der Knoten mit Prioritäten (Bei Ausfall werden die Knoten mit der höchsten Priorität ausgewählt und unter mehreren Knoten mit gleicher Priorität fällt die Wahl auf den Knoten mit weniger Workload.)
 * optionale Checkboxen:
  * restricted:
Gast läuft nur auf Knoten bestimmter Gruppen und befindet sich im stopped state falls keiner der in der Gruppe befindlichen Knoten online ist
  * nofailback: Gast wird normalerweise auf den Knoten mit höherer Priorität migriert falls dieser auftaucht - nofailback verhindert dies

Um ein High-Availability-Cluster (HA-Cluster) zu bilden werden mindestens drei Knoten (Quorum) in einem Cluster benötigt. Wie bei einem Cluster ohne HA-Fähigkeit findet hier die Kommunikation über Corosync statt.

Vorraussetzung

  • Cluster aus mindestens drei Knoten

  • Shared Storage als ausfallsicherer gemeinsamer Speicher für die Gastsysteme
  • Hardwareredundanz
  • Watchdogs (Hardware oder Software)

Einrichten übers Web-Interface

  • Datacenter -> HA -> Groups -> Create

  • einzigartige Gruppen-ID vergeben (einzigartig, da sie das Unterscheidungsmerkmal der bei mehreren Gruppen ist), Auswahl der Knoten mit Prioritäten (Bei Ausfall werden die Knoten mit der höchsten Priorität ausgewählt und unter mehreren Knoten mit gleicher Priorität fällt die Wahl auf den Knoten mit weniger Workload.)
  • optionale Checkboxen:
    • restricted: Gast läuft nur auf Knoten bestimmter Gruppen und befindet sich im stopped state falls keiner der in der Gruppe befindlichen Knoten online ist
    • nofailback: Gast wird normalerweise auf den Knoten mit höherer Priorität migriert falls dieser auftaucht - nofailback verhindert dies
  • comment: Beschreibung der Gruppe
  • Datacenter -> HA -> Resources -> Add

  • Group: Auswahl einer vorher definierten HA-Gruppe
  • Request State: bevorzugter Status der VM (bei "startet" wird das Gastsystem gestartet, falls dieses offline sein sollte)
  • Max. Restart: Anzahl der Neustartversuche des Service auf aktuellen Knoten
  • Max. Relocate: Anzahl der Versuche den Service auf einem anderen Knoten zu starten (nachdem max. restart abgearbeitet ist)

Einrichten über das CLI

  • Gruppe erstellen (einzigartige ID): $ ha-manager groupadd GRUPPENNAME -nodes "KNOTEN:PRIORITÄT"

  • Gastsystem zum HA-Cluster hinzufügen: $ ha-manager add vm:501 --state started --max_relocate 2 --max_restart 2 --group GRUPPE --comment KOMMENTAR

  • Container zum HA-Cluster hinzufügen: $ ha-manager add ct:501

Ablauf bei Ausfall eines Knotens

  • Timer zählt intern herunter (Watchdog/Fencing)
  • Knoten mit höchster Priorität wird ausgewählt
  • bei gleicher Priorität wiegt Workload
  • Gastsystem wird auf anderem Knoten gestartet
    • System wird gebootet und somit geht die aktuelle Arbeit verloren, falls diese nicht gespeichert wurde

Ausfall eines Knotens UND Ausfall des Shared-Storage

  • wie Ablauf bei Ausfall eines Knotens

  • Gastsystem kann nicht gestartet werden
  • "Error: storage 'xyz' is disabled"
  • bei Reaktivieren des Knotens und Shared Storage bleibt das Gastsystem im State "error"
  • befindet sich ein Gastsystem im State "error" wird dieses nicht mehr durch den HA-Cluster verwaltet
    • Ursache des error State beseitigen
    • $ ha-manager set vm:100 --state disabled und Knoten hinzufügen

    • oder über GUI das Gastsystem entfernen und neu hinzufügen

ProxmoxHighAvailablility (zuletzt geändert am 2019-06-19 12:13:40 durch thunert@cbs.mpg.de)