Skip to content

Failover

ZPO überwacht die Proxy-Knoten fortlaufend und entscheidet, welche Proxys im DNS eines Standorts stehen. Das Failover wird am Standort eingestellt.

Alle gesunden Proxys des Standorts stehen im DNS — bei mehreren Proxys gibt es mehrere A-/AAAA-Einträge unter demselben Namen (DNS Round-Robin). Fällt einer aus, nimmt ZPO ihn aus dem Satz; die übrigen tragen den Verkehr weiter.

Nur der erste gesunde Proxy steht im Satz. Fällt er länger als die Schwelle aus, schwenkt ZPO auf den Ersatz-Proxy. Kehrt der Primäre zurück, schwenkt ZPO nach der Karenzzeit automatisch zurück.

EinstellungVorgabeBedeutung
Failover-Modusactive_activeactive_active oder active_passive.
Schwelle (Sekunden)30So lange muss ein Proxy unerreichbar sein, bevor der DNS-Eintrag wegschwenkt.
Karenzzeit (Sekunden)300Nach der Rückkehr wartet ZPO so lange, bevor automatisch zurückgeschwenkt wird — Stabilisierungszeit gegen Flattern.
Notfall-StandortkeinerEin Standort, dessen Proxys einspringen, wenn hier keiner mehr kann (zonenübergreifender Fallback).

Die E8-Regel: nur schwenken, wenn der Standort erreichbar ist

Section titled “Die E8-Regel: nur schwenken, wenn der Standort erreichbar ist”

ZPO sitzt zentral. Ein Proxy kann für ZPO unerreichbar und für die Clients seines Standorts völlig gesund sein — etwa wenn die VPN-Strecke ausfällt. Schwenkt ZPO dann den DNS-Eintrag weg, verursacht es den Ausfall, den es verhindern soll.

Deshalb die Regel: geschwenkt wird nur, wenn ZPO den Standort noch erreicht. Antwortet der Resolver des Standorts, der Proxy aber nicht, ist der Proxy tot und der Schwenk berechtigt. Verschwindet ein ganzer Standort auf einmal, ist die eigene Leitung die wahrscheinlichste Erklärung — dann ändert ZPO nichts und alarmiert stattdessen (site_down).

Ein HAProxy-Paar mit gemeinsamer virtueller IP (keepalived/VRRP) regelt seine Ausfallsicherung selbst — der Umschwung dort dauert Sekundenbruchteile. Dafür gibt es am Proxy-Knoten den eingeklappten Abschnitt VRRP-Paar:

  • die zweiten internen Adressen (*_secondary): beide Adressen stehen statisch im lokalen DNS;
  • Failover deaktiviert: ZPO zieht den Knoten bei einem Ausfall nicht aus dem DNS, sondern meldet ihn nur.

Ehrlich gesagt: die DNS-Cache-Verzögerung

Section titled “Ehrlich gesagt: die DNS-Cache-Verzögerung”

Ein DNS-Schwenk wirkt erst, wenn die Caches der Clients ablaufen. Bei einer TTL von 30–60 Sekunden sind das in der Praxis trotzdem Minuten, weil Betriebssysteme und Browser eigenständig cachen. Ein Schwellenwert von 30 Sekunden bis zum Schwenk ist also die halbe Wahrheit — die Wirkung kommt später.

Gegenmittel, in dieser Reihenfolge:

  1. TTL so niedrig, wie der Dienst es zulässt. RouterOS nimmt 1 Sekunde je Eintrag; AdGuard Home antwortet mit der serverweiten blocked_response_ttl (Vorgabe: 10 Sekunden).
  2. Wo harte Sekunden gebraucht werden, ist VRRP das passendere Mittel — eine gemeinsame virtuelle IP am Standort, und ZPO bleibt aus dem Schwenk heraus (siehe oben).

Soll ein Proxy gewartet oder neu gestartet werden, versetzt der Wartungsmodus-Schalter den Knoten vorab in die Wartung: ZPO nimmt ihn sofort und ohne E8-Prüfung aus den DNS-Sätzen, bevor er heruntergefahren wird. Der saubere Weg statt des Ausfalls — unterbrechungsfrei für die Clients. Beim Ausschalten der Wartung steht der Knoten sofort wieder im DNS; die Karenzzeit gilt nur nach echten Ausfällen.

Weiter als die Wartung geht der Schalter Deaktivieren in der Knotenliste: ZPO nimmt den Proxy aus den DNS-Sätzen und spricht ihn gar nicht mehr an — keine Verbindungsprüfung, keine Aufträge, kein Vollabgleich. Der Zustand heißt dann „deaktiviert”. Gedacht für Proxys, die länger außer Betrieb sind oder umgebaut werden.

Änderungen an Diensten werden für den Knoten weiter vorgemerkt und nach dem Aktivieren nachgeholt; auf dem Gerät löscht das Deaktivieren nichts (dafür gibt es „Einträge entfernen”). Ein deaktivierter Proxy ist kein Ausfall und löst kein Failover aus. Sind alle Proxys eines Standorts deaktiviert, springt der Notfall-Standort ein. Nach dem Aktivieren steht der Knoten sofort wieder im DNS.

Der Failback-Knopf am Standort schwenkt alle ausgeschwenkten Proxys sofort zurück ins DNS und überspringt die Karenzzeit — für die Fälle, in denen der Rückweg schneller sein soll, als die Automatik wartet.

Jeder Schwenk, jeder Failback, jede Wartung und jeder stille Standort landet als Ereignis in der Oberfläche — und geht von dort an die Alarmkanäle (SMTP/Webhook, siehe Betrieb):

failover_outage, failover_switch, failover_failback, failover_maintenance, site_down, node_offline, drift.