Homelab #9: zasilanie awaryjne (UPS)

— 3 min read

PL
Table of Contents

W tym artykule chciałbym opisać moje dotychczasowe doświadczenia z UPS-ami. W moim przypadku zasilacz awaryjny służy głównie w sytuacjach, gdy występują skoki napięcia albo krótkotrwały brak prądu. W takich przypadkach warto zabezpieczyć niektóre urządzenia przed ewentualnym spaleniem zasilacza lub utratą danych podczas nagłego wyłączenia.

UPS

Pierwsze kroki

W momencie zakupu pierwszego „droższego” komputera – Mac Studio – postanowiłem kupić do niego UPS. Trochę się bałem, że przy jakimś skoku napięcia lub nagłym braku zasilania coś może się z nim stać. Miałem wtedy dość ograniczony budżet, więc kupiłem najtańszy UPS, który potrafił podtrzymać zasilanie przez choćby 10 minut – wystarczająco, aby wyłączyć wszystko ręcznie. Padło na MICROPOWER 1000VA.

Micropower-1000

Niestety, po około dwóch latach pracy pojawił się niepokojący zapach – winowajcą okazał się UPS. Na szczęście został naprawiony po gwarancji i działał jeszcze przez kilka kolejnych lat.

Kolejny zasilacz

Kiedy zacząłem budować homelab (wtedy oparty tylko na Raspberry Pi), postanowiłem kupić drugi, mniejszy UPS: CYBERPOWER BU650E-FR 650VA. Był wystarczający do podtrzymania zasilania kilku urządzeń przez kilka minut.

CyberPower-650

Pierwsze problemy

Na początku traktowałem UPS jako “powerbank” do komputera, który pozwala mi bezpiecznie wyłączyć urządzenia. W przypadku komputerowego UPS to działało, ale w homelabie było gorzej, bo trzeba było logować się do kilku urządzeń i wszystko wyłączać ręcznie.

Odkryłem wtedy upsmon – aplikację monitorującą UPS, która może wyłączyć system przy braku prądu lub niskim stanie baterii. Niestety, tylko MICROPOWER miał USB do komunikacji z upsmon. CYBERPOWER już nie. UPS musi być cały czas monitorowany, więc upsmon działa dobrze na Raspberry Pi, ale niekoniecznie na zwykłym komputerze.

Jednorazowe UPS

UPS-y z niższej półki, które kupowałem, miały niewymienne akumulatory i krótki czas życia – zwykle do 2 lat. W ciągu 4 lat wymieniłem 4 urządzenia. Po kolejnym padzie postanowiłem zainwestować w coś lepszego.

Nowy zasilacz

APC-back-850

Zdecydowałem się na APC Back BE850G2-GR 850VA, ponieważ:

  • posiada wymienny akumulator
  • obsługuje USB i działa z upsmon
  • APC ma dobre opinie w sieci

Zasilacz ten (520W) powędrował do homelab. Podpięty został do Raspberry Pi Zero z upsmon, który automatycznie wyłącza NAS, gdy poziom baterii spadnie poniżej 90%. NAS (TrueNAS) ma wbudowanego klienta upsmon, ale z UDM trzeba by coś napisać samodzielnie. Nawet bez tego, odcięcie tylko NAS-u znacząco wydłuża działanie UDM, Wi-Fi, kamery i Pi.

Nowa wartość UPS

UPS okazał się przydatny nie tylko do bezpiecznego wyłączenia NAS, ale również do utrzymania sieci domowej. Po pozbyciu się routera od Orange, jedynym wymogiem dla działającej sieci było podtrzymanie UDM (Wi-Fi i kamery zasilane przez PoE).

Dodatkowo UDM obsługuje monitoring, więc przy działającym połączeniu internetowym mogę mieć podgląd mieszkania nawet przy braku prądu. Dlatego wszystkie krytyczne urządzenia zasilam przez PoE: Raspberry Pi (Pi-hole + upsmon), kontroler Zigbee, Wi-Fi i kamery.

Kolejny padł

Przy przeprowadzce okazało się, że komputerowy UPS nadal działa, ale po odcięciu prądu natychmiast się wyłącza – czyli nie spełnia swojej funkcji.

Postanowiłem wtedy przenieść APC do Maca, a dla homelab kupić nowy UPS, najlepiej do montażu rack.

UPS do racka

eaton-1600

Na rynku jest mało sensownych UPS-ow do szaf rackowych: albo są bardzo drogie, albo zbyt duże. Po długich poszukiwaniach wybór padł na EATON Ellipse ECO 1600:

  • 1000W
  • gniazda z podtrzymaniem i bez
  • współpraca z upsmon
  • wymienne akumulatory
  • kompaktowy rozmiar

Nie jest przystosowany do montażu rack od razu, ale EATON oferuje dedykowane mocowanie (niestety sprzedawane osobno). Tymczasowo ustawiłem UPS na zwykłej półce rackowej.

Aktualna konfiguracja UPS:

  • EATON: NAS + USW + UDM (w tym Wi-Fi, Raspberry Pi, Zigbee)
  • APC: Mac Studio + monitor

Podsumowanie

Po latach testów udało mi się sensownie zorganizować zasilanie awaryjne zarówno dla homelab, jak i komputera. Do monitorowania UPSów używam NUTShell.

NutShell

Jeszcze muszę rozwiązać automatyczne uruchamianie sprzętu po powrocie zasilania. Wake-on-LAN mi nie działa poprawnie, ale mam smart gniazdka i zamierzam je wykorzystać. Obecnie osiągnąłem:

  • Automatyczne wyłączanie NAS przy zaniku prądu
  • 2–3 godziny pracy sieci domowej (Wi-Fi, kamery, smart home) przy braku zasilania
  • Automatyczne wyłączanie Maca przez serwer z upsmon