Jak skonfigurować UPS, aby ponownie uruchamiał serwery w odpowiedniej kolejności?

12

Tutaj mamy kilka serwerów i prawie każdy z nich ma dedykowany UPS. Między nimi istnieją zależności, dlatego należy je włączać we właściwej kolejności. Ostatecznie mamy poważne problemy z zasilaniem, więc serwery są zamykane, a następnie ponownie uruchamiane w losowej kolejności po przywróceniu zasilania. Nie ma problemu, jeśli serwery zostały wyłączone podczas awarii zasilania, ważne jest, aby działały poprawnie bez interwencji człowieka po przywróceniu zasilania.

Nasze UPS są dość tanie, a jedynym parametrem konfiguracyjnym przydatnym dla mojego celu jest power the load xx seconds after power is restored. Teoretycznie umieszczając odpowiednie opóźnienia na każdym UPS, mogę ustalić kolejność restartu serwera, ale nie wierzę, że UPS będzie zachowywał się zgodnie z oczekiwaniami.

Czy to właściwa droga?
Czy zasilacze UPS wysokiego poziomu dają inne opcje naprawy sekwencji restartu?
Ostatnia uwaga: moje Ups są w zakresie 1000 - 2200 VA

Filippo
źródło
1
Jest to jedna z miłych rzeczy oferowanych przez systemd- możliwość zdefiniowania właściwych zależności w procesie uruchamiania. Poczekaj, aż usługa X będzie dostępna, zanim spróbujesz uruchomić usługę Y.
MSalters
1
@MSalters AFAIK systemowe zarządzanie zależnościami działa tylko wtedy, gdy jednostki są obsługiwane przez tę samą systemdinstancję, a nie dla usług działających na zupełnie innych serwerach ...
HBruijn
1
@HBruijn: W pewnym sensie podłączenia sieciowe działają na przykład na serwerach. To znaczy, jeśli serwer 1 zamontuje system plików obsługiwany przez serwer 2, to usługi serv1 zależne od montowania zostaną wstrzymane, dopóki serwer 2 nie uruchomi tych usług. I IIRC możesz także kazać serwerom czekać na DHCP (nie pytaj mnie, dlaczego serwer używa DHCP, ale zostało to wspomniane w odpowiedzi)
MSalters

Odpowiedzi:

25

Standardowa odpowiedź brzmi „wcale”. Napraw oprogramowanie do obsługi restartów w losowej kolejności. Jeśli naprawdę potrzebujesz NIEKTÓRYCH serwerów do uruchomienia (np. Active Directory), umieść je na USV, które prawdopodobnie przetrwają DUŻO dłużej. Serwer o niskiej mocy atomowej jest wystarczający jako kontroler Active Directory i przetrwa dzień na małym USV.

Czy zasilacze UPS wysokiego poziomu dają inne opcje naprawy sekwencji restartu?

Nie. Powiedziałbym, że ogólnie zakłada się, że programiści są wystarczająco kompetentni, aby właściwie obejść ten problem.

MOŻESZ zrobić:

  • Niech serwery uruchamiają się „losowo”. Z wyjątkiem DHCP / Active Directory nie ma tak naprawdę niczego, co wymagałoby zamówienia, którego nie można naprawić.
  • Mieć serwer sterujący po pewnym czasie (5 minut) uruchom usługi na różnych komputerach we właściwej kolejności.

Powiedziałbym, że ten typ konfiguracji jest znacznie bardziej powszechny. Nazwałbym każde oprogramowanie, które WYMAGA serwera uruchamiane w określonej kolejności (poza czystą infrastrukturą), jako zepsute i nieodpowiednie dla biznesu.

Tak jak należy pamiętać: nasza własna konfiguracja to tani USV o wartości 20 kva (niski koszt, ponieważ mamy jeden używany) dla serwerów, z podrzędnym USV 2000VA dla maszyny służącej jako „root” sieci (i maszyna kopii zapasowej). Slaved oznacza, że ​​USV stoi za dużym - więc przełącza się na baterię tylko wtedy, gdy duży (który trwa od pół godziny do 8 godzin, w zależności od tego, ile naszej sieci komputerowej jest online) przechodzi do zamknięcia terminala.

TomTom
źródło
2
Myślę, że czasem łatwiej to powiedzieć niż zrobić (AD, jak pan mówi, jest oczywistym przykładem), ale zgadzam się. Prawidłowym rozwiązaniem jest praca nad eliminacją zależności, takich jak początkowa kolejność serwerów lub usług. Jeśli nic więcej, na przykład w aplikacji internetowej powinno być możliwe napisanie kodu z napisem „Jeśli nie mogę się połączyć z moim zapleczem,„ śpij ”i spróbuj ponownie później, a nie strasznie się zawiesi.
Rob Moir
Problem z AD nie jest nawet AD - jest to głównie DHCP IPv4, który nie jest przygotowany na komputery znajdujące się w trybie online przed serwerem dhcp. IPv6 sobie z tym radzi;)
TomTom,
To prawda. IPv4 jest uciążliwy ... i wciąż tu ludzie pytają mnie, dlaczego musimy zawracać sobie głowę „nowymi śmieciami IPv6”.
Rob Moir
1
„Ogólnie zakłada się, że programiści są wystarczająco kompetentni, aby obejść ten problem” - nie wolno dużo programować! Nie, z całą powagą, istnieje wiele powodów, dla których może być konieczne uruchomienie systemu w określonej kolejności. Tak, oprogramowanie powinno „z wdziękiem zawieść” i ponowić próbę zerwania połączeń, ale nie zawsze jest to możliwe. Z tego co pamiętam, niektóre ładne PDU mają zdolność uruchamiania / zatrzymywania poszczególnych portów, więc być może coś można tam zrobić.
SnakeDoc,
1
Musiałem wyszukać „USV” i znalazłem „Bezzałogowy pojazd powierzchniowy”. Wiem, że to źle, ale chcę, żeby było dobrze.
Braiam
14

Zarządzane jednostki dystrybucji zasilania (a nie UPS) często obsługują niestandardowe opóźnienia w włączaniu poszczególnych gniazd po wznowieniu zasilania.

Zazwyczaj ma to na celu zapobieganie wyzwalaniu wyłączników automatycznych, gdy szafka pełna systemów włącza się w tym samym czasie natychmiast po przywróceniu zasilania, ale może to również służyć do zachowania kolejności rozruchu zależności systemowych.

HBruijn
źródło
Tak, zgadza się. Jest to zaawansowana funkcjonalność i nie zakłada się, że USV jest faktycznie podłączony do serwerów - ale zasila szafy, które następnie wykorzystują PDU do obsługi szczegółów.
TomTom
6

Miałem dokładnie ten problem. Jedyna różnica polega na tym, że zainwestowaliśmy w mocne zasilacze APC montowane w stelażu (na przykład APC SmartUPS 3000 ). Dzięki oprogramowaniu do wyłączania sieci APC PowerChute (oprogramowanie PowerChute Network Shutdown) mogę wyłączać i uruchamiać serwery w określonej kolejności. Inną przydatną funkcją oprogramowania było ustawianie wyłączania serwerów w ostatniej chwili, tj. Obliczanie ilości energii akumulatorów, jaką pozostały jednostki APC, i wyłączanie serwerów z wystarczającą ilością czasu, aby właściwie się zamknęły zamiast po prostu wyłączyć.

Oprogramowanie ... nie jest przyjazne dla użytkownika, ale nie jest trudne, jeśli poświęcisz trochę czasu, aby go zrozumieć. Jeśli chcesz zainwestować więcej w infrastrukturę, jest to zdecydowanie droga do przejścia.

Winski Tech
źródło
1
Mamy też Apc Smart Ups, niektóre z nich są stosunkowo stare i być może mają słabe baterie. Trudno jest wykonać na nich testy, ponieważ są w produkcji. Poza tym brakuje nam dziwacznego obciążenia, mam na myśli obciążenie, które może znieść nagłe wyłączenie bez problemów. To powiedziawszy za każdym razem, gdy symulowałem zanik zasilania, UPS zachowywał się inaczej niż oczekiwano, może to być spowodowane błędną konfiguracją, ale mam wrażenie, że te UPS nie są bardzo niezawodne.
Filippo,
@Filippo z pewnością YMMV, ale mam mieszankę SmartUPS 3000 i 3000XLM w wielu lokalizacjach korzystających z oprogramowania PowerChute przez 3 lata i po opracowaniu oprogramowania, z pewnością istnieje krzywa uczenia się i potrzebne są pewne testy, było dość solidne.
Winski Tech,
2

Wygląda na to, że zasilacze UPS są tanie i nie można ich skonfigurować pod kątem określonego czasu oczekiwania na wyjście po przywróceniu zasilania (niektóre urządzenia z wyższej półki są). Aby uzyskać tę samą funkcjonalność, musisz wybrać konkretnego hosta, aby zawsze włączał się od razu (być może którykolwiek system może się uruchomić w dowolnym momencie) i pozostawić wszystkie pozostałe serwery w stanie wyłączonym (skonfigurowanym w BIOS, aby powrócić do zasilania wyłączony po zastosowaniu prądu przemiennego oraz w celu uhonorowania magicznego pakietu Wake On Lan, aby włączyć się, gdy otrzyma taką polecenie). Następnie na głównym hoście, który się uruchamia, uruchom skrypt / narzędzie do pomiaru czasu transmisji magicznego pakietu WOL do każdego hosta.

Jeff Meden
źródło