Skocz do zawartości

Netgear Ready NAS RN102 jako serwer NUT


Bodzio

Dzisiejsze domowe sieci komputerowe w niczym nie przypominaja tych budowanych jeszcze kilka lat temu. Podlaczamy do nich coraz wiecej urzadzen a transfery w domowych sieciach WIFI sa coraz wieksze dzieki upowszechnieniu standardu AC. Jednymi z popularniejszych w ostatnim czasie staly sie serwery NAS. Wynika to po czesci z tego ze gromadzimy coraz wiecej danych a po czesci z tego ze coraz popularniejsze staja sie dyski twarde SSD. Maja one mniejsza pojemnosc niz standardowe dyski twarde stosowane do tej pory a cena tych wiekszych jest jeszcze dosc spora. Jest to tylko jeden z powodów dla którego decydujemy sie na zakup serwera NAS. Pozwalaja one tez na udostepnianie naszych zdjec, dostep do zasobów z telefonu komórkowego oraz wiele innych funkcji. Ja postanowilem opisac jak wykorzystac taki serwer do ochrony pozostalych urzadzen w sieci przy pomocy UPS-a podlaczonego do RN102 oraz oprogramowania Network UPS Tools. Jest to o tyle ciekawe ze dostepne manuale do severa Netgear RN102 tego tematu nie poruszaja. 

Konfiguracja serwera Netgear ReadyNAS RN102

Serwer Netgear ReadyNAS RN102 jest urządzeniem do użytku domowego z procesorem Marvell Armada 370 1.2GHz I 512 MB pamięci RAM. Posiada dwie zatoki na dyski twarde, port USB 2.0, port USB 3.0, port e-SATA oraz 1Gb/s port Ethernet. Konfiguracja takiego serwera jako serwera NUT nie jest skomplikowana i ustawień możemy dokonać poprzez interfejs GUI w który został wyposażony przez producenta. Aby to zrobic nalezny zalogowac sie do GIU nastepnie w sekcji System przechodzimy do podsekcji Power I dalej do UPS. Zostalo to zilustrowane na ponizej.

Zaczynamy od wylaczenia naszego urzadzenia, nastepnie podlaczamy posiadany UPS do portu USB 2.0, wlaczamy UPS a nastepnie ReadyNAS RN102. Jezeli UPS jest kompatybilny z NUT-em w GUI ready nas powinnismy go widziec.
Lista wspieranych urzadzen dostepna jest na stronie projektu: http://networkupstools.org/stable-hcl.html

Konfiguracja RN102 jako serwer za pomoca GUI
1. System
2. Power
3. Ustawienia UPS
4. Aktywacja serwera NUT

Na końcu należy zatwierdzić ustawienia

1.jpg

To wszystko. Nasz RN102 dziala od tej pory jako serwer NUT. Konfiguracja z GUI nie pozwala na ustawienie nazwy uzytkownika I hasla dla serwera NUT. Mozemy to jednak zrobic w lini polecen logujac sie do serwera NAS za pomoca SSH. Niestety bedzie to dzialalo tylko do pierwszego restartu NAS-a.
Korzystanie z domyslnego hasla nie jest dobra praktyka ale w warunkach domowych nie stanowi tez jakiegos duzego problemu. Nie jest jednak dobra praktyka. Ja haslo zmieniam. Jednak w dalszej czesci poslugiwal sie bede ustawieniami domyslnymi.
Aby zmienic haslo nalezy zalogowac sie do RN102 poprzez SSH I wyedytowac plik:

[monuser]
password = pass (tutaj zamiast pass wpisujemy swoje haslo)
upsmon master 

Aby ustawienia zadziałały należy zrestartować serwer NUT. Robimy to poleceniem:

service nut-server restart

2.jpg
Od tej pory naszym hasłem będzie hasło zapisane w pliku :

/etc/nut/upsd.users

Serwer Netgear ReadyNAS RN102 pracuje tez w trybie klienta. Oznacza to ze jezeli posiadamy UPS podlaczony do innego uprzedzenia pracujacego jako serwer NUT to RN102 moze byc klientem I bedzie bezpiecznie wylaczony w przypadku utraty zasilania I pracy na zasilaniu awaryjnym. Pamietajmy jednak aby zarówno NAS jak I switch/router oraz urzadzenie bedace serwerem NUT byly podlaczone do UPS. Inaczej komunikacja sieciowa nie bedzie zapewniona.

Konfiguracja RN102 jako klienta NUT-SERVER za pomoca GUI.

1. System
2. Power
3. Dodajemy UPS
4. Wybieramy tryb Remote UPS (zdalny UPS)
5. Podajemy adres Ipv4 zdalnego serwera NUT 
6. Podajemy nazwe uzytkownika na zdalnym serwerze NUT 
7. Podajemy haslo do zdalnego serwera NUT 
8. Zatwierdzamy

3.jpg

Konfiguracja routera z oprogramowaniem Tomato by Shibby jako klienta NUT 

    Jezeli mamy serwer RN102, UPS-a I domowa siec to dlaczego pozostale urzadzenia w naszej sieci domowej nie mialy by byc bezpiecznie wylaczane ?
Tutaj pojawia sie jednak problem. Tomato na chwile obecna w zadnej kompilacji nie posiada pakietu Network UPS Tools. Jak ten problem ominac ?
Z pomoca przychodzi nam Optware które mozne byc w prosty sposób zainstalowane na routerze z Tomato by Shibby.
Ja za przyklad uzyje swojego routera z procesorem ARM I zainstalowanym Tomato.
Aby zainstalowac Optware na routerze z Tomato musimy do podpiac jakas pamiec USB.
Wylaczamy router podlaczamy pamiec do portu USB 2.0 I uruchamiamy router.
Nastepnie logujemy sie na nasz router za pomoca SSH I wydajemy polecenie 

df -h

4.jpg
W wyniku niego widzimy wyswietlana liste zamontowanych partycji. W tym (I w wiekszosci) przypadku nasza pamiec jest rozpoznawana jako /dev/sda1 I zamontowana jako /tmp/mnt/sda1

Wiekszosc nowych pamieci posiada system plików FAT-32. Jednak optware sie na FAT-32 nie zainstaluje. Musimy sformatowac nasza partycje systemem plików ext2 lub ext3. System plików ext4 nie jest polecany do pamieci flash. Ja korzystam z ext2.

Aby to zrobic najpierw nalezny odmontowac pamiec.
Robimy to poleceniem:

umount /tmp/mnt/sda1

Jezeli mamy zamontowana pamiec USB jak w tym przypadku. 

Nastepnie nalezny taka pamiec sformatowac systemem plików ext2 lubext3. Ja uzywam ext2 I tak tez zrobie na przykladzie. Wydajemy polecenie : 

mkfs.ext2 /dev/sda1

W wyniku powyższego polecenia powinniśmy zobaczyć coś takiego : 

5.jpg
Dysk USB jest sformatowany systemem plików ext2. 
Aby jednak optware moglo byc zainstalowane potrzebujemy zamontowac dysk USB do /opt
Robimy to poleceniem

mount /dev/sda1 /opt

6.jpg

Teraz możemy przystąpić do instalacji optware.

Chcac zainstalowac optware wydajemy po kolei polecenia: 
Dla routerów z procesorem ARM

cd /tmp
wget http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armeabi-ng-bootstrap.sh
chmod +x buildroot-armeabi-ng-bootstrap.sh
./buildroot-armeabi-ng-bootstrap.sh

Dla routerów z procesorem MIPSEL

cd /tmp
wget http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-mipsel-ng-bootstrap.sh
chmod +x buildroot-mipsel-ng-bootstrap.sh
./buildroot-mipsel-ng-bootstrap.sh

W wyniku powyzszych polecen powinnismy zobaczyc cos takiego:

7.jpg
Dalsza czesc jest identyczna dla procesorów ARM I MIPSEL

Uaktualniamy repozytoria za pomoca polecenia:

ipkg update

8.jpg

Mamy zainstalowane optware a wlasciwie optware-ng.
Teraz mozemy przystapic do instalacji pakietu NUT dzieki któremu bedziemy mogli skonfigurowac nas router do wspólpracy z serwerem NUT dzialajacym na Netgear ReadyNAS RN102.

Instalujemy Nut poleceniem:

ipkg install nut 

Po chwili powinnismy miec zainstalowany nut na naszym routerze. Na niektórych routerach zdarza sie ze pod koniec instalacji otrzymujemy blad biblioteki snmp. Jednak niema to zadnego wplywu na dzialanie NUT-a.

Nut zainstalowany wiec mozemy przystapic do jego konfiguracji.
Aby bylo nam latwiej tego dokonac instalujemy edytor nano nastepujacym poleceniem

ipkg install nano

Po chwili powinnismy zobaczyc cos takiego :

9.jpg

Aby skonfigurowac NUT do pracy w trybie klienta musimy wyedytowac dwa pliki które znajduja sie w katalogu /opt/etc
Sa
/opt/etc/nut.conf
oraz
/opt/etc/upsmon.conf

Wydajemy polecenia:

cd /opt/etc
nano nut.conf

W wyniku tego polecenia otworzy nam sie pusty plik w edytorze nano.
Wpisujemy w nim: 

MODE = netclient

W edytorze wciskamy CTRL+X nastepnie y I naciskamy klawisz Enter

10.jpg
Nastepnie edytujemy plik /opt/etc/upsmon.conf
W tym celu wydajemy polecenia:

cd /opt/etc
nano upsmon.conf


Wpisujemy zawartość: 
RUN_AS_USER root

MONITOR  ups@adres IPv4 serwera RN102 1 monuser pass slave

MINSUPPLIES 1

SHUTDOWNCMD "/sbin/halt -pi"

POLLFREQ 5

POLLFREQALERT 2

HOSTSYNC 5

DEADTIME 25

Pozycja MONITOR mozne wygladac np. Tak
MONITOR ups@192.168.10.5 1 monuser pass slave

Wciskamy w edytorze CTRL+X nastepnie y I klawisz Enter

11.jpg
Teraz mozemy wystartowac upsmon poleceniem:

upsmon

12.jpg

Od tej pory nasz router jest klientem a RN102 serwerem.
W przypadku zaniku zasilania nasz serwer wylaczy najpierw wszystkie stacje klienckie a nastepnie RN102.

Aby sprawdzic czy wszystko dziala jak nalezy logujemy sie na Netgear ReadyNAS RN102 przez SSH I wydajemy polecenie:

upsmon -c fsd

Sluzy ono do sprawdzenie konfiguracji. Nie ma potrzeby odcinac zasilania od UPS.
Oczywiscie dziala to po sieci wiec switch/router musi byc podpiety pod UPS zeby zapewnic komunikacje sieciowa w momencie utraty zasilania. Po wydaniu tego polecenia, najpierw router a pózniej Netgear ReadyNAS RN102 powinny sie wylaczyc. I wlasnie sie wylaczyly.
Powinnismy zobaczyc cos takiego:

13.jpg
A nasz router powinien zostac wylaczony. Niestety nie uruchomi sie sam ponownie I trzeba go wlaczyc recznie.

Stan ups mozna sprawdzic z poziomu routera (slave) logujac sie przez ssh i wydajac ponizsze polecenie.
Oczywiscie ups@192.168.0.5 nalezy zamienic na swoje. Ups to to co mamy zdefiniowane w pliku ups.confconf na hoscie master a za @ adres IP hosta master.  

[root@RT-AC68U bin]$ upsc ups@192.168.0.5 battery.charge: 100 battery.charge.low: 20 battery.charge.warning: 50 battery.date: 2013/07/07 battery.mfr.date: 2013/07/07 battery.runtime: 1717 battery.runtime.low: 120 battery.temperature: 29.2 battery.type: PbAc battery.voltage: 13.6 battery.voltage.nominal: 12.0 device.mfr: American Power Conversion device.model: Back-UPS CS 650 device.serial: xxxxxxxxxxxx  device.type: ups driver.flag.ignorelb: enabled driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.productid: 0002 driver.parameter.serial: xxxxxxxxxxxx driver.parameter.vendorid: 051d driver.version: 2.7.2 driver.version.data: APC HID 0.95 driver.version.internal: 0.38 input.sensitivity: high input.transfer.high: 256 input.transfer.low: 196 input.voltage: 238.0 input.voltage.nominal: 230 output.frequency: 50.0 output.voltage: 230.0 output.voltage.nominal: 230.0 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.firmware: 817.v9.I
ups.firmware.aux: v9
ups.load: 14.0
ups.mfr: American Power Conversion
ups.mfr.date: 2013/07/07
ups.model: Back-UPS CS 650
ups.productid: 0002
ups.realpower.nominal: 400
ups.serial: xxxxxxxxxxxx 
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: 0
ups.timer.shutdown: -1
ups.timer.start: 0
ups.vendorid: 051d 

Teraz musimy skonfigurowac Tomato aby w momencie startu systemu dysku USB byl montowany do /opt I aby upsmon uruchamial sie automatycznie. 

Mozna to zrobic na dwa sposoby. Obydwa sprawdzalem I dzialaja.
Pierwszy przedstawia ponizsza ilustracja: 
Logujemy sie do GUI tomato a nastepnie:
1. USB and NAS
2. USB Support
3. Wlaczamy automatyczne montowanie wszystkich partycji do podkatalogu /mnt
4. W polu Run after mounting wpisujemy: 

mount /dev/sda1 /opt
upsmon 

Następnie zapisujemy ustawienia.

14.jpg

Teraz możemy zresetować router żeby zobaczyć czy wszystko działa jak należy. Kiedy router się uruchomi ponownie logujemy się do niego przez ssh i wydajemy polecenie:

top

15.jpg

Jak widzimy upsmon jest uruchomiony. Czyli wszystko działa.

Drugim sposobem który ja stosuje jest dopisanie polecenia montującego partycje /opt oraz uruchamiającego upsmon do skryptu firewall w tomato. 
Aby to zrobic logujemy sie do GUI Tomato a nastepnie wchodzimy do sekcji Administration nastepnie Scripts I na gorze ekranu wybieramy firewall. W polu ponizej wpisujemy kolejno:

mount /dev/sda1 /opt
upsmon

Zapisujemy ustawienia I resetujemy router. Dalej postępujemy tak jak w poprzednim przypadku. Przy tym rozwiązaniu należy tez wyłączyć automontowanie partycji do /mnt.  W tym celu w GUI Tomato wchodzimy do  USB and NAS > USB Support I odznaczamy pozycje Automuont po czym zapisujemy ustawienia. Obydwa rozwiązania działają. Starałem sie tak wszystko opisać żeby było zrozumiale dla osób które nie używają na co dzień linuxa i jego linii poleceń. Mam nadzieje ze mi się udało. 

Wiecej Informacji na temat serwera Netgear ReadyNAS RN102 na stronie producenta
http://netgear.com
Natomiast o Network UPS Tools mozna poczytac na stronie projektu
http://networkupstools.org/

Edytowane przez house



Opinie użytkowników

Rekomendowane komentarze



Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się


Openitforum

Forum poświęcone przesyłaniu i przechowywaniu danych w małej sieci. Prezentujemy testy urządzeń oraz pomagamy w ich obsłudze i konfiguracji.
×

Powiadomienie o plikach cookie

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Więcej informacji zawiera nasza Polityka prywatności