Tak, ale tylko wtedy, gdy graf zależności jest jawny. Serwer może włączyć się automatycznie po przywróceniu zasilania przez UPS, podczas gdy aplikacje nadal będą się uruchamiać nieprawidłowo, ponieważ pamięć masowa, DNS, bazy danych lub sieci nie są jeszcze gotowe.
Kolejność uruchamiania procesów nie jest tym samym co gotowość usług. Używaj zależności systemd dla zasobów na poziomie hosta oraz kontroli stanu dla kontenerów i aplikacji. To rozróżnienie decyduje o bezpiecznej konfiguracji, metodzie walidacji i punkcie wycofania zmian.
Utwórz graf zależności przed jego zautomatyzowaniem
Wypisz łańcuch obejmujący zasilanie i sieć, zaszyfrowane dyski, montowania NAS, środowisko uruchomieniowe kontenerów, bazy danych, usługi aplikacji i odwrotny serwer proxy. Zaznacz, które zależności są lokalne, a które znajdują się na innym serwerze.
Przypisz każdej zależności stanowej sygnał gotowości: zamontowaną ścieżkę, zapytanie do bazy danych, wyszukiwanie DNS lub punkt końcowy sprawdzania stanu aplikacji. Unikaj stałych opóźnień, ponieważ czas odzyskiwania zmienia się po nieprawidłowym wyłączeniu.
Zdefiniuj ograniczony stan awarii, aby brak NAS nie powodował zapisu aplikacji do pustego lokalnego katalogu.
Skoordynuj każdą warstwę sterowania
Używaj zależności `After=` i `RequiresMountsFor=` systemd dla usług hosta i zdalnych montowań. Spraw, aby jednostka stosu kontenerów zależała od Dockera i wymaganych jednostek montowania.
W Compose dodaj rzeczywiste kontrole stanu i używaj `depends_on` z `condition: service_healthy`, jeśli jest obsługiwane. Aplikacje nadal powinny ponawiać próby połączenia z bazą danych, ponieważ zależności mogą ulec awarii po uruchomieniu.
Użyj poniższej tabeli, aby przypisać każdą zależność do warstwy, która może ją faktycznie obserwować.
| Obserwowany stan | Werdykt | Następne działanie |
|---|---|---|
| Montowania dysków i NAS | Zależności montowania systemd | Blokuj usługi stanowe |
| Baza danych gotowa do obsługi zapytań | Kontrola stanu kontenera | Blokuj aplikacje |
| Zewnętrzna aplikacja dostępna | Ponawianie prób przez aplikację oraz monitoring | Nie używaj stałego opóźnienia |
Zaprojektuj odzyskiwanie na dwóch serwerach
Najpierw uruchom serwer pamięci masowej lub infrastruktury, a następnie zaczekaj, aż udziały eksportowane i bazy danych osiągną stan gotowości, zanim uruchomisz usługi aplikacji na drugim hoście. Oprogramowanie UPS nie powinno jedynie włączać obu hostów jednocześnie.
Artykuł ZimaSpace na temat sygnałów UPS i maszyn wirtualnych pokazuje, dlaczego łańcuch sterowania przebiega przez wiele warstw.
Niezależny przewodnik po systemd i Compose wyjaśnia wyścigi związane z kolejnością uruchamiania i wyłączania.
Zachowaj ręczną instrukcję zimnego uruchamiania na wypadek, gdy automatyzacja zatrzyma się na nieudanej kontroli stanu. Powinna ona określać kontrolę, oczekiwany limit czasu, bezpieczne ponowienie próby oraz osobę odpowiedzialną za każdą usługę.
Przetestuj pełny stan odzyskiwania po awarii zasilania UPS
Przeprowadź kontrolowane wyłączenie podczas pracy na baterii, przywróć zasilanie sieciowe i zarejestruj znaczniki czasu uruchomienia hosta, gotowości montowań, stanu bazy danych, stanu aplikacji oraz dostępności proxy.
Powtórz test z opóźnionym NAS oraz z odzyskiwaniem bazy danych trwającym dłużej niż zwykle. Usługi powinny czekać lub wyraźnie sygnalizować awarię, zamiast uruchamiać się bez dostępnego stanu.
Kontynuuj, gdy zarówno normalne, jak i opóźnione odzyskiwanie zachowuje kolejność oraz ścieżki danych. Przerwij, jeśli zasady ponownego uruchamiania omijają gotowość, aplikacje zapisują dane w katalogach zastępczych lub zależność nie ma mierzalnego sygnału stanu.
Wsparcie i wskazówki
Więcej do przeczytania

Czy można wymienić hałaśliwy wentylator w mini-PC bez zmiany kontroli temperatury?
Tak - o ile zamiennik jest zgodny z interfejsem elektrycznym, przepływem powietrza i sygnałami sprzężenia zwrotnego; samo dopasowanie złącza nie zapewnia zachowania kontroli termicznej.

Czy można używać funkcji Wake-on-LAN po całkowitym odcięciu zasilania?
Czasami funkcja WOL wymaga zasilania w trybie czuwania oraz odpowiedniego stanu oprogramowania układowego/karty sieciowej, aby odzyskać działanie po przywróceniu zasilania sieciowego; nie może wybudzić...

Czy mini-PC może działać bez wyświetlacza po zresetowaniu BIOS-u?
Zwykle tak, ale reset BIOS-u może przywrócić ustawienia wyświetlania, uruchamiania, zatrzymywania i zasilania, które uniemożliwiają niezawodne uruchamianie bez monitora.

