Domowy NAS: UPS

UPS (ang. uninterruptible power supply) to urządzenie, którego głównym zadaniem jest podtrzymanie zasilania urządzeń w razie przerwy w dostawie prądu. Dzięki UPS, podłączony do niego serwer NAS, dostanie szansę na spokojne wyłączenie się – z zachowaniem wszelkich bezpiecznych procedur. Dzięki temu Wasze dane pozostaną bezpieczne.

Zależnie od modelu – UPS’y potrafią jeszcze więcej. Filtrują prąd, chronią podłączone do niego urządzenia przed przepięciami. Są naprawdę przydatne.

Oczywiście – nie ma nic za darmo. Same też pobierają prąd a czas życia zamontowanej w nich baterii jest ograniczony.

Kupując UPS powinniście zwrócić uwagę na kilka rzeczy:

  • Topologia:
    • off-line: urządzenia podłączone do UPS są zasilane bezpośrednio z sieci; UPS monitoruje stan sieci, w razie spadku napięcia lub przepięcia – odłącza zasilanie z sieci i sam zaczyna generować napięcie dla podłączonych do niego urządzeń pobierając prąd z baterii (używając falownika),
    • line-interactive – bez/z AVR: ulepszony off-line, monitorują nie tylko napięcie wejściowe, ale i kąt przesunięcia fazowego i częstotliwość – dzięki czemu mogą szybciej reagować na zmiany napięcia; AVR: wbudowany autotransformator może utrzymywać odpowiednie napięcie wyjściowe mimo wahań napięcia sieciowego (wejściowego) bez angażowania akumulatora; wydłuża to czas pracy akumulatora a podłączone do UPSa urządzenia otrzymują prąd o znacznie lepszych parametrach,
    • on-line: wejście i wyjście są całkowicie odseparowane, UPS prostuje napięcie z sieci i z powrotem generuje z niego przemienne,
  • Kształt sinusoidy: jaki sygnał jest generowany na wyjściu: kwadrat (nieprzydatne), aproksymowana sinusoida (może być), czysta sinusoida (najlepsza i najdroższa),
  • Czas przełączania: czas po jakim UPS zareaguje na zmianę napięcia wejściowego; im mniejszy tym lepszy – w praktyce milisekundy,
  • Maksymalna moc, jaką może dostarczyć UPS – od czego zależy czas podtrzymywania napięcia,
  • Zabezpieczenia: przeciwprzepięciowe, przeciążeniowe, zabezpieczenie przed rozładowaniem,
  • Gniazda wyjściowe, ilość i typ,
  • Port USB: prostsze modele nie są wyposażone w port USB. Brak tego portu uniemożliwia komunikację z komputerem i tym samym – nie ma możliwości automatycznego zamknięcia systemu w razie braku prądu. UPS zacznie „piszczeć” w razie braku prądu – jeżeli zdążycie dopędzić do serwera i go zamknąć – Wasze szczęście. Jeżeli nie – obecność UPS’a wiele nie zmieni…
  • Wentylator: UPS’y się grzeją. Większe z nich wyposażono w wentylatory – które hałasują.
  • Oczywiście rozmiary – tak, żeby urządzenie zmieściło się pod biurkiem,
  • Również: czas ładowania baterii,

Dla przykładu, mój PowerWalker 850 FR:

ParametrWartość dla PowerWalker VI 850 FR
TopologiaLine-interactive z AVR
Kształt sinusoidyAproksymowana
Czas przełączania2-6ms, max 10ms
Moc skuteczna480W, ok. 15 min przy 120W
Gniazda wyjściowe2x wtyczka 230 EU
Port USBTAK
Czas ładowania4h

Instalacja UPS

Sama instalacja UPS jest bardzo prosta:

  • Włączacie UPS do sieci,
  • Do gniazda w UPS podłączacie komputer (lub inne urządzenia),
  • Kablem USB łączycie UPS z komputerem (master, zobaczcie poniżej),
  • Włączacie UPS (przycisk na obudowie),
  • Włączacie komputer (lub urządzenia podłączone do UPS).

I tyle – Wasz komputer jest już bezpieczny.

Konfiguracja UPS dla Nas4Free

UPS zarządzany jest przez usługę NUT: Network UPS Tool.

Wybierzcie Services/UPS. Zaznaczcie „Enable”.

Znaczenie poszczególnych opcji:

OpcjaWartośćZnaczenie
ModeMaster
Slave
Master oznacza, że serwer jest bezpośrednio podłączony do UPS i UPS może wysłać sygnał do zamknięcia tego serwera.
Slave: w przypadku np. wielu komputerów podłączonych do jednego UPS; tylko jeden z nich może być podłączony do UPS przez USB (master) - pozostałe nie będą zamknięte na sygnał z UPS.
IdentifierCiąg znakówNazwa urządzenia UPS'a
DriverCiąg znakówNazwa sterownika UPS. Musicie wpisać nazwę sterownika. Dla mojego PowerWalker VI 850 LCD FR wybrałem 'blazer_usb'.
Pod polem znajduje się link do strony z listą sterowników.
PortCiąg znaków: auto lub np. /dev/urządzenieDla UPS podłączanych przez usb: auto
Dla innych: port do którego podłączony jest UPS
Additional parametersCiąg znakówDodatkowe parametry dla sterownika
DescriptionCiąg znakówDodatkowy opis UPS'a
UPS 2Zaznaczony/odznaczonyZaznaczcie, jeżeli do serwera podłączone są dodatkowe UPS
Shutdown modeUPS reaches low battery
UPS goes on battery
Określa, kiedy inicjalizowane jest zamykanie serwera: gdy bateria UPS jest prawie pusta lub gdy UPS przełącza się na baterię - czyli właśnie zabrakło prądu.
Shutdown timer30Po ilu sekundach od sygnału braku zasilania serwer powinien rozpocząć zamykanie się. Chromi to przed natychmiastową reakcją na chwilowy problem z zasilaniem - które zdarzają się stosunkowo często.
Remote monitoringZaznaczony/odznaczonyKonto do zdalnego monitorowania usługi
Username Ciąg znaków(ważne, gdy zaznaczone Remote monitoring)
PasswordCiąg znaków(ważne, gdy zaznaczone Remote monitoring)

Ustawienia zapisywane są w plikach „/var/etc/ups*”.

Ustawienie port=auto u mnie nie zadziałało! – więcej informacji poniżej.

Monitorowanie

Jeżeli prawidłowo skonfigurowaliście usługę, na stronie Status/System znajdziecie stan zasilania:

Kliknijcie link: „Show UPS configuration”:

Podobne informacje możecie uzyskać też z konsoli, wydając polecenie „upsc”:

Problemy

Wszystko wyglądało dobrze, dopóki UPS nie pochodził jakiś czas. Po kilkunastu minutach na konsoli pojawiał się napis:

System tracił komunikację z UPS’em i żadne powiadomienia o przejściu na zasilanie bateryjne już nie dochodziły. „Rozłączenie” zdarzało się w nieregularnych odstępach czasu – albo natychmiast po wyłączeniu zasilania sieciowego. W razie wyłączenia zasilania, serwer dalej działał na baterii UPS’a – a powinien rozpocząć zamykanie się.

Niestety nie znalazłem jakiegoś pojedynczego rozwiązania tego problemu – ale poniższe zmiany działają u mnie niezawodnie:

  1. W polu port nie używajcie „auto”.
    Zamiast tego sprawdziłem do jakiego urządzenia podpięty jest UPS. Wystarczy przefiltrować log:

    U mnie UPS przedstawiał się jako INNO TECH – a wpięty był w USB 4.2. Uwaga: u Was ten port może być inny; zmieni się również gdy wepniecie kabel USB z UPS do innego gniazda w serwerze.
    System stworzył urządzenie /dev/ugen4.2, które użyłem w polu „port” (zakładka Services/UPS). Dzięki temu czasami sterownik sam „wstawał” i ponownie łączył się z UPS’em.

  2. W „Additional parameters” ustawcie „pollinterval=1” – UPS będzie odpytywany o status co 1 minutę,
  3. Wyłączcie „Remote Control” na zakładce Services/UPS, trochę rzadziej traci połączenie,
  4. Wszystko powyższe pomaga – ale nie rozwiązuje całkowicie problemów z rozłączaniem się usługi. Niestety jedyne rozwiązanie jakie znalazłem to… restartowanie NUT co pewien czas. Trochę rzeźnicze – ale działa.
    Zacznijmy od skryptu (znalazłem go w dyskusji na forum NAS4Free):

    Zapiszcie skrypt w pliku, w jakimś znanym miejscu. Pamiętajcie o nadaniu praw do wykonania:

    Pozostaje uruchamiać skrypt np. co dwie minuty. Możecie do tego wykorzystać usługę cron. I tu mały problem: Nas4Free generuje pliki dla cron’a z ustawień zdefiniowanych przez użytkownika. Musicie więc użyć interfejsu graficznego. Z menu Nas4Free wybierzcie: System/Advanced/Cron. Teraz pozostaje dodać nową pracę, wybrać skrypt i zaznaczyć minuty:

    Możecie użyć klawisza „Run Now”, żeby sprawdzić działanie skryptu. Teraz pojawi się nowe zadanie dla crona:

W ten sposób:

  • UPS będzie odpytywany o status co 1 minutę, zgodnie z ustawienie „pollinterval”,
  • Co 2 minuty usługa NUT będzie restartowana,

Sekwencja wygląda teraz tak (wariant pesymistyczny):

  • Brak zasilania, UPS przechodzi na zasilanie awaryjne, wysyła sygnał do NAS’a,
  • NAS traci połączenie, NUT nie odbiera sygnału,
  • Po minucie NAS sprawdza status UPS – dostaje błąd komunikacji (np. Data Stall),
  • Po 2 minutach NAS restartuje usługę NUT, wraca połączenie z UPS,
  • Jeżeli NAS miał szczęście, to najpierw zrestartował NUT a potem odpytał UPS – jeżeli nie – czeka następną minutę,
  • NAS odpytuje UPS, dostaje wiadomość że jest już na baterii (minęło maksymalnie 3 minuty) – rozpoczyna procedurę 30s oczekiwania do zamknięcia,
  • Może się zdarzyć, że zasilanie wróci a NUT się nie rozłączy – wtedy zamykanie zostanie wstrzymane,
  • Zamknięcie serwera nastąpi maksymalnie po 3.5 minutach – dla mnie nie jest to problem, mój UPS może podtrzymać serwer nawet 20 minut.

Zdarzenie braku zasilania możecie wymusić:

To ile prądu?!

Za pomocą watomierza zmierzyłem jeszcze pobór mocy przez zestaw komputer – UPS (pomiary w stanie ustalonym, po kilkunastu minutach od włączenia, średnia, UPS naładowany):

  • Komputer bez UPS, działający: 51W,
  • Komputer bez UPS wyłączony (działa WakeOnLAN): 2.5W,
  • UPS podłączony do zasilania, wyjście na komputer wyłączone: 10.5W,
  • UPS podłączony do zasilania, wyjście na komputer włączone: 13.4W
  • Komputer włączony z UPS: 66W

Widać stąd, że przy zestawie UPS-komputer zużycie mocy wzrosło o ponad 15W. Zakładając, że kilowatogodzina kosztuje 50gr, oznacza to dodatkowy wydatek roczny rzędu 360*24*0,015*0.5 = 64.8 – czyli 64 złote (oczywiście zakładając, że UPS działa cały czas – co przecież jest jego ideą). Można się spodziewać, że im większe będzie obciążenie UPS, tym więcej będzie on zużywał prądu na potrzeby swojej pracy.

Podsumowanie

UPS to świetne urządzenie. Jak jednak widzicie, konfiguracja z Nas4Free nie była taka trywialna – a przedstawione rozwiązanie nie jest zbyt eleganckie. Mam nadzieję, że zostanie to poprawione w kolejnych wersjach NUT.

Źródła

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *