Die Startreihenfolge ist eine Verzögerung, keine Abhängigkeit

Alle stellen die Startreihenfolge in der Erwartung ein, die zweite Maschine warte, bis die erste bereit ist. Sie wartet nicht. Sie wartet eine feste Anzahl Sekunden und startet dann trotzdem, weshalb die im Test funktionierende Reihenfolge am Morgen eines echten Stromausfalls scheitert.

AtlasPVE ·

Dieser Eintrag beantwortet

  • proxmox startreihenfolge
  • proxmox boot order funktioniert nicht
  • proxmox vm startverzögerung
  • proxmox herunterfahren reihenfolge
  • proxmox start order

Der Host kommt nach einem Stromausfall zurück, und die Hälfte dessen, was laufen sollte, läuft nicht. Die Datenbankmaschine ist oben, aber die Anwendung davor hat aufgegeben, oder ein Container konnte einen Speicher nicht einbinden, den ein anderer Container gerade erst hochfuhr. Nichts ist kaputt, und nichts hat einen lesenswerten Fehler protokolliert. Die Teile kamen einfach in der falschen Reihenfolge hoch.

Genau hier hört die Form Ihrer Umgebung, welcher Gast von welchem abhängt, auf, ein Bild in Ihrem Kopf zu sein, und wird zu etwas, das die Maschine tatsächlich ausführt. Es lohnt sich, genau zu wissen, was dieser Mechanismus tut, denn er ist schmaler, als die meisten annehmen.

Der Satz, der die meisten Überraschungen erklärt

Die Startverzögerung ist ein Intervall, keine Bedingung.

Wenn Sie einem Gast eine Verzögerung geben, startet Proxmox VE diesen Gast, wartet die angegebene Anzahl Sekunden und geht dann zum nächsten über. Es prüft nicht, ob im Gast der Startvorgang abgeschlossen ist. Es prüft nicht, ob ein Dienst antwortet. Es wartet und fährt fort.

Die Anordnung in Ihrem Kopf, "die Anwendung wartet auf die Datenbank", wird also nie konfiguriert. Konfiguriert wird: "die Anwendung startet neunzig Sekunden, nachdem der Datenbank gesagt wurde, sie solle starten". Bei einem ruhigen Testneustart sind diese beiden nicht unterscheidbar. Nach einem echten Stromausfall, wenn Platten langsamer sind, eine Dateisystemprüfung läuft oder ein Gast in die Rettungsumgebung bootet, sehr wohl.

Vier Regeln, die man kennen sollte, bevor man Zahlen setzt

Kleiner startet zuerst und fährt zuletzt herunter. Die Herunterfahrreihenfolge ist die Umkehrung der Startreihenfolge; es gibt keine eigene Einstellung. Ein Gast mit Reihenfolge 1 ist der erste oben und der letzte unten, und genau das will man in der Regel für das, wovon alles andere abhängt.

Gleiche Zahlen sind nicht zufällig. Gäste mit derselben Reihenfolge werden zusätzlich nach Kennung aufsteigend sortiert. Gleichstände sind also stabil und vorhersagbar, und Sie müssen nicht jedem Gast eine eigene Zahl geben, um wiederholbares Verhalten zu bekommen.

Gäste ohne Reihenfolge starten immer nach denen mit Reihenfolge. Das ist nützlicher, als es klingt. Sie müssen nicht alles nummerieren. Nummerieren Sie die drei oder vier Dinge, die wirklich früh sein müssen, und lassen Sie den Rest in Ruhe.

Die Reihenfolge gilt für einen Host, nicht für den Cluster. Sie kann nicht ausdrücken, dass ein Gast auf Knoten A vor einem Gast auf Knoten B hochkommen muss. Sobald Ihre Abhängigkeit eine Knotengrenze überschreitet, hat dieser Mechanismus dazu nichts zu sagen.

Die Falle, die später auftaucht

Gäste, die vom Hochverfügbarkeitsstapel verwaltet werden, ignorieren sowohl die Einstellung Start beim Booten als auch die Startreihenfolge. Die Start- und Stopproutine überspringt sie vollständig, denn der HA-Manager entscheidet, wann sie laufen.

Das beißt spät. Ein einzelner Host mit sorgfältig abgestimmter Reihenfolge funktioniert ein Jahr lang. Dann kommt ein zweiter Knoten, einige Gäste wandern unter HA, und ihre Reihenfolge gilt stillschweigend nicht mehr. Nichts warnt Sie, denn nichts ist falsch; die Zuständigkeit hat lediglich gewechselt.

Die Verzögerung, die Sie eigentlich wollen, ist oft eine andere

Ein häufiger Grund, zu Gastverzögerungen zu greifen, ist eine externe Ressource: Netzwerkspeicher, der erreichbar sein muss, bevor etwas ihn einbindet, oder ein Switch, der einen Moment braucht. Diese Zeit über einzelne Gäste zu erkaufen, ist ein unbeholfener Weg, denn es dehnt die ganze Abfolge.

Dafür gibt es eine eigene Einstellung pro Knoten: eine Verzögerung zwischen dem Ende des Hostbootvorgangs und dem ersten automatisch startenden Gast. Eine Zahl, einmal angewendet, und zwar an der Stelle, an die das Warten wirklich gehört.

Die Zahl, die niemand setzt, bis es wehtut

Die Zeitüberschreitung beim Herunterfahren beträgt standardmäßig 180 Sekunden pro Gast. Proxmox VE fordert den Gast zum Herunterfahren auf, wartet, und wenn der Gast beim Ablauf noch läuft, wird er zwangsweise gestoppt. Ein Sammelstop aller Gäste hat eine eigene Gesamtgrenze von drei Minuten, bevor dasselbe passiert.

Für eine Maschine, die beim Herunterfahren auf die Platte schreibt, lohnt es sich, diese Obergrenze absichtlich zu prüfen, statt sie während eines Ausfalls zu entdecken. Der Standard ist für die meisten Gäste großzügig und für einige zu kurz, und diese wenigen sind genau die, bei denen ein erzwungener Stopp etwas kostet.

Was wir in der Praxis tatsächlich sehen

Auf dem Host, mit dem das hier beschriebene Verhalten geprüft wurde, waren neun Gäste konfiguriert, und drei waren auf Start beim Booten gesetzt. Kein einziger hatte eine Startreihenfolge.

Das ist der Normalzustand, und oft ist er in Ordnung. Maschinen, die nicht voneinander abhängen, brauchen keine Reihenfolge. Der Zweck dieses Textes ist enger: Wenn Sie je laut gesagt haben, dass ein Gast einen anderen zuerst oben braucht, dann lebt dieser Satz derzeit nur in Ihrem Gedächtnis, und ein Stromausfall liest Ihr Gedächtnis nicht.

Was Atlas tut

Atlas sortiert nichts für Sie um und erfindet kein Abhängigkeitssystem oben auf dem, das Proxmox VE hat. Was es tut, ist die Beziehungen in einem Bild sichtbar zu machen statt Gast für Gast, damit die Frage "was hängt hier eigentlich wovon ab" gestellt werden kann, während die Maschine ruhig ist, und nicht während sie zurückkommt.

Die Form zu sehen konfiguriert sie nicht. Aber niemand setzt eine vernünftige Reihenfolge für eine Anordnung, die er nie gezeichnet gesehen hat.

Quellen

Die eigene Dokumentation von Proxmox. Auf Englisch, und sie hat in dieser Sache das letzte Wort.

Verwandte Einträge

Wie sieht das in Atlas aus?

Zur Produktseite