Wenn Home Assistant startet, aber eine Abhängigkeit ausfällt, lassen Sie den Hauptdienst lange genug weiterlaufen, um die erste nicht verfügbare Abhängigkeit zu ermitteln, anstatt die Installation neu aufzusetzen.
Ein gesunder Prozess kann dennoch ein unvollständiges System bereitstellen: MQTT-Entitäten sind möglicherweise nicht verfügbar, eine externe Datenbank kann den Verlauf blockieren, ein fehlender Mount kann Backups beeinträchtigen oder DNS kann verhindern, dass Cloud- und lokale Endpunkte aufgelöst werden. Erfassen Sie den frühesten Fehler, testen Sie den genannten Endpunkt aus der Home-Assistant-Laufzeitumgebung und stellen Sie die Dienste von der Abhängigkeit ausgehend wieder her.
Den ersten Ausfall einer Abhängigkeit ermitteln
Zeichnen Sie den ersten Fehler nach dem Start für die betroffene Integration oder den betroffenen Dienst auf, einschließlich des Namens der Abhängigkeit, des Endpunkts, der Ausnahme-Klasse, des Wiederholungsintervalls und des Zeitstempels. Spätere Warnungen beschreiben häufig die Folge – nicht verfügbare Entitäten oder eine fehlgeschlagene Einrichtung – und nicht den ursprünglichen Fehler bei Verbindung, Authentifizierung, Mount oder Schema.
Ein einfacher MQTT-Fall zeigt den Unterschied zwischen der Konfiguration einer Integration und der tatsächlichen Verfügbarkeit eines Brokers. Die geklärte Unterscheidung der Broker-Verfügbarkeit ist hilfreich, weil sie wiederholte Änderungen am Client verhindert, wenn der erforderliche Dienst nicht existiert oder nicht läuft.
Wenn ein Abhängigkeitsname vor allen sekundären Fehlern erscheint, machen Sie ihn zum Ziel der Wiederherstellung. Wenn mehrere unabhängige Abhängigkeiten gleichzeitig ausfallen, prüfen Sie zunächst gemeinsames DNS, Netzwerk, Speicher oder Zugangsdaten, statt jede Integration unabhängig zu reparieren.
Erreichbarkeit, Authentifizierung und Bereitschaft in dieser Reihenfolge testen
Lösen Sie aus demselben Container, derselben VM oder demselben Host-Namespace, den Home Assistant verwendet, den Hostnamen der Abhängigkeit auf, öffnen Sie den erforderlichen Port, authentifizieren Sie sich mit der konfigurierten Identität und führen Sie die kleinstmögliche verfügbare schreibgeschützte Bereitschaftsprüfung aus. Die Erreichbarkeit vom Host allein beweist nicht, dass der Anwendungs-Namespace oder die Zugangsdaten funktionieren.
Die Startreihenfolge von Containern entspricht nicht der Bereitschaft einer Anwendung; eine durch einen Healthcheck gesteuerte Abhängigkeit kann verhindern, dass Clients gegen eine noch nicht bereite Datenbank oder einen noch nicht bereiten Broker gestartet werden. Die Unterscheidung in Startreihenfolge und Bereitschaft unterstützt das Hinzufügen eines echten Healthchecks erst, nachdem die ausgefallene Bedingung verstanden wurde.
Wenn die Auflösung fehlschlägt, reparieren Sie DNS oder den Dienstnamen. Wenn der Port nicht erreichbar ist, stellen Sie den Abhängigkeitsprozess oder die Netzwerkroute wieder her. Wenn die Authentifizierung fehlschlägt, vergleichen Sie die konfigurierte Quelle der Zugangsdaten, ohne deren Wert auszugeben. Wenn die Bereitschaft nach erfolgreicher Verbindung fehlschlägt, prüfen Sie die eigenen Protokolle und den Speicherstatus der Abhängigkeit.
Die Abhängigkeit mit der am wenigsten invasiven Änderung wiederherstellen
Beheben Sie nur den bestätigten Fehler: Stellen Sie den fehlenden Mount wieder her, starten Sie den Broker, reparieren Sie den Datenbankdienst, erneuern Sie die Referenz auf die Zugangsdaten oder korrigieren Sie den Netzwerk-Alias. Starten Sie zuerst die Abhängigkeit neu und warten Sie, bis die Bereitschaftsprüfung erfolgreich ist; starten Sie Home Assistant nur einmal neu, wenn sich dessen Client nicht automatisch wieder verbindet.
Wenn Worker oder Integrationen nach dem Start des Kerns weiterhin offline bleiben, verwenden Sie den Leitfaden zur Fehlerbehebung bei der Worker-Bereitschaft, um einen verzögerten Start von einer dauerhaft bestehenden Abhängigkeitsgrenze zu unterscheiden.
Führen Sie ein Rollback durch, wenn die Abhängigkeit ihren vorherigen gesunden Zustand nicht erreichen kann oder die Reparatur das Löschen eines Schemas, die Neuerstellung einer Datenbank oder die Offenlegung von Zugangsdaten erfordert. Stellen Sie die letzte bekannte Konfiguration wieder her und bewahren Sie die Protokolle beider Seiten auf, bevor Sie eine invasivere Wiederherstellung versuchen.
Die ursprüngliche Funktion reproduzieren und den Abbruchpunkt festlegen
Testen Sie die exakt ausgefallene Funktion erneut: Veröffentlichen und empfangen Sie einen einzelnen verworfenen MQTT-Wert, laden Sie einen aktuellen Verlaufsbereich, erstellen Sie ein Test-Backup am vorgesehenen Ziel oder führen Sie eine betroffene Automatisierung einmal aus. Wiederholen Sie den Test nach einem kontrollierten Neustart der Abhängigkeit, um die Wiederverbindung zu bestätigen, nicht nur die sofortige Verfügbarkeit.
Der Test gilt als bestanden, wenn der Healthcheck der Abhängigkeit, der Integrationsstatus von Home Assistant und die für den Benutzer sichtbare Funktion übereinstimmen. Ein laufender Container mit nicht verfügbaren Entitäten ist keine Wiederherstellung; ein grünes Dashboard, während Schreibvorgänge fehlschlagen, ebenfalls nicht.
Beenden Sie den Vorgang, wenn die ursprüngliche Funktion zweimal erfolgreich war und keine neuen Abhängigkeitsfehler auftreten. Eskalieren Sie den Fall mit der ersten Ausnahme, der Endpunktklasse, dem Bereitschaftsergebnis, der Abhängigkeitsversion und den Wiederherstellungsschritten, wenn der Dienst erreichbar ist, die Protokoll- oder Schema-Aushandlung jedoch weiterhin fehlschlägt.
Den wiederhergestellten Startvertrag dokumentieren
Dokumentieren Sie, welche Komponente für die Abhängigkeit zuständig ist, ihr Bereitschaftssignal, das Wiederholungsverhalten, die Quelle der Zugangsdaten, den Netzwerknamen, den Speicherpfad und die Wiederherstellungsreihenfolge. Der nächste Betreiber sollte den Prozessstart von einem nutzbaren Dienst unterscheiden können, ohne den Vorfall erneut untersuchen zu müssen.
Führen Sie während eines Wartungsfensters einen geplanten Neustart der Abhängigkeit durch und bestätigen Sie, dass Home Assistant innerhalb des dokumentierten Zeitrahmens die Verbindung wiederherstellt. Wenn weiterhin ein manueller Eingriff erforderlich ist, kennzeichnen Sie diese Einschränkung, anstatt die Abhängigkeit als vollständig ausfallsicher zu markieren.
Schließen Sie den Vorfall erst, wenn die Überwachung sowohl den Ausfall der Abhängigkeit als auch die Wiederherstellung der Funktion erkennen kann. Wenn die Überwachung lediglich feststellt, dass der Hauptprozess läuft, bleibt derselbe blinde Fleck bestehen, der den unvollständigen Startzustand verursacht hat.
Support & Tipps
Mehr zum Lesen

So optimieren Sie Immich-Datenbankverbindungen für gleichzeitig ausgeführte Container
Erhöhen Sie max_connections nicht als Erstes. Messen Sie die Immich-Sitzungen, summieren Sie den Bedarf aller Container, halten Sie Kapazitäten für die Administration frei und...

So verhindern Sie doppelte Jobs oder Importe in Immich
Trennen Sie wiederholte Aufträge von doppelten Assets. Verwenden Sie einen einzigen kanonischen Aufnahmeweg, kontrollieren Sie Wiederholungsversuche und Pfadänderungen und testen Sie anschließend den erneuten...

So reparieren Sie Immich, nachdem das Datenbank-Volume vollgelaufen ist
Löschen Sie niemals PostgreSQL-WAL-Dateien, um Speicherplatz freizugeben. Stoppen Sie Schreibvorgänge von Immich, bewahren Sie den Datenbankstatus, schaffen Sie sicheren zusätzlichen Speicherplatz, stellen Sie PostgreSQL...

