Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum zapoznaj się z kilkoma zasadami savoir-vivre'u w wątku Administracja-> Przywitaj się. Wątki z problemami zamieszczone w dziale "Przywitaj się" będą usuwane.

Autor Wątek: Budowanie NAS  (Przeczytany 22630 razy)

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #255 dnia: Marzec 25, 2019, 08:15:21 am »
Zyxel nie ma przełączników

To w takim razie, jego ustawienia...
- zapewne dojdziesz do nich przez web...


Dopisek
Z ciekawości przeglądnąłem sobie króciutko internet pod "kątem" Twojego Zyxela, faktycznie, z informacji wynika, że nie ma tam możliwości automatycznego "usypiania" sprzętu. Jeśli rzeczywiście tak jest, to będziemy musieli przebudować trochę nasz "startowy" skrypt. Może się okazać, że, jeśli Zyxel sam startuje w momencie startu dowolnego klienta (i serwera), to wystarczy tylko wbudować opcję podpięcia NFSa bezpośrednio przed automatycznym backupem, a skryptu w ogóle nie używać.
Co do automatycznego "uśpienia", to ew. można spróbować to zrobić bezpośrednio po prawidłowo wykonanym backupie poprzez ssh.
Spójrz np. na to:
https://homeforum.zyxel.com/discussion/630/how-can-i-shut-down-nsa-325v2-from-a-raspberry-openhabAle, co właściwie jest możliwe, to sam musisz przetestować, od tego zależą następne "kroki"

I jeszcze coś takiego, znalazłem to przypadkiem, to może być również przydatne:
https://blog.securityevaluators.com/commanding-the-zyxel-nsa325-702d4f4d1e5
Ps
- ale tak szczerze, to z dodatkowym HDD w serwerze, już dawno mielibyśmy wszystko gotowe...
« Ostatnia zmiana: Marzec 25, 2019, 11:12:04 am wysłana przez TataPingu »

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #256 dnia: Marzec 25, 2019, 12:33:49 pm »
Tak na szybko ( bo w pracy jestem)w kwestii wyłączenia.
Samo wyłączenie można zrobić w skrypcie. Zyxel można wyłączyć przez SSH wydając polecenie "poweroff".

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #257 dnia: Marzec 25, 2019, 03:08:19 pm »
Samo wyłączenie można zrobić w skrypcie. Zyxel można wyłączyć przez SSH wydając polecenie "poweroff".

To właściwie, jeśli przetestowałeś "montowanie", istotne jest "budzenie" NASa, bo sam teraz nie wiem, czy budzi się razem z serwerem (którymś z klientów), czy trzeba go ekstra wybudzać ?

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #258 dnia: Marzec 25, 2019, 10:54:53 pm »
rsync - to jeszcze muszę poczytać i dowiedzieć się więcej na ten temat - ale to ma dużo opcji
https://www.computerhope.com/unix/rsync.htm
Montowanie manualne NFS - wiem już o co chodzi.

Wprowadziłem do skryptów nowo przyjęte nazwy - ZYXEL i SERWER

Zobacz jakie opcje wybrałem - są trochę inne niż ty podałeś
Na Zyxel w ./export teraz mam:
/i-data/44026ef7/nfs/BackupSERWER 192.168.1.13(rw,sync,no_subtree_check,wdelay,no_root_squash)
natomiast  na serwerze montuje w 'fstab'
192.168.1.12:/i-data/44026ef7/nfs/BackupSERWER  /Backup/BackupZYXEL nfs rw,rsize=8192,wsize=8192,hard,intr,async,nodev,nosuid 0 0
To oczywiście dla testu i działa.

Teraz co do uruchamiania Zyxel-a
Po przywróceniu ustawień fabrycznych nadal Zyxel sie uruchamia. Myślę że zostawny "to uruchamianie" w spokoju. Jestem na 99% przekonany że to serwer wzbudza Zyxel-a. Sprawdzę to podpinając pod inny ruter.

Zróbmy tak jaki był zamiar i jak mówiliśmy - serwer wzbudza Zyxel-a.
Znalazłem w zyxelu katalog do którego możemy wrzucić własny skrypt. Może się na coś dać wykorzystać.
You can add your own scripts. They will be executed in alphabetical order with argument 'start' on startup, and in reverse alphabetical order with argument 'stop' at shudown
« Ostatnia zmiana: Marzec 25, 2019, 11:26:39 pm wysłana przez sebekoo »

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #259 dnia: Marzec 26, 2019, 09:26:19 am »
rsync - to jeszcze muszę poczytać i dowiedzieć się więcej na ten temat - ale to ma dużo opcji

To, co podałem, "powinno" funkcjonować "bez zakłóceń"
- jak widzisz, na przykładzie montowania NFSów, jest bardzo wiele "niewiadomych" i za każdym razem trzeba "dopasować się" do danego przypadku.
Stąd moja wcześniejsza "reakcja", bo to co ja podaję nie zawsze musi funkcjonować na innym sprzęcie. To bardziej "przykład", czy "model", który trzeba "dopasować" do  własnej konstelacji.
A bez podstawowej wiedzy o danej funkcji to raczej niemożliwe...

Montowanie manualne NFS - wiem już o co chodzi.

Dokładnie chodzi o to!
- chętnie pomogę, czy podpowiem, ale rozumiem to w ten sposób, że np. gdy poradzę "teraz montujesz Zyxela pod serwer", nie muszę sprawdzać, czy zrobiłeś to prawidłowo i czy przy Twojej konstelacji sprzętowej to działa,  bo nie mam na to ani ochoty, ani czasu...

Na Zyxel w ./export teraz mam:
/i-data/44026ef7/nfs/BackupSERWER 192.168.1.13(rw,sync,no_subtree_check,wdelay,no_root_squash)
natomiast  na serwerze montuje w 'fstab'
192.168.1.12:/i-data/44026ef7/nfs/BackupSERWER  /Backup/BackupZYXEL nfs rw,rsize=8192,wsize=8192,hard,intr,async,nodev,nosuid 0 0
To oczywiście dla testu i działa.

I OK, wiele zależy od tego, jak zmanipulowany jest OS zyxela, jeśli będzie jeszcze działać bezbłędnie rsync, to wieczorem możemy się zająć zautomatyzowaniem całego procesu backupa...

Teraz co do uruchamiania Zyxel-a
Po przywróceniu ustawień fabrycznych nadal Zyxel sie uruchamia. Myślę że zostawny "to uruchamianie" w spokoju. Jestem na 99% przekonany że to serwer wzbudza Zyxel-a. Sprawdzę to podpinając pod inny ruter.

To raczej Zyxel jest tak zmanipulowany, że "reaguje" na jakiegokolwiek klienta w lokalnej sieci, ale sprawdzić można...

Zróbmy tak jaki był zamiar i jak mówiliśmy - serwer wzbudza Zyxel-a.
Znalazłem w zyxelu katalog do którego możemy wrzucić własny skrypt. Może się na coś dać wykorzystać

By zautomatyzować i prawidłowo przeprowadzić proces robienia backupa z serwera na Zyxela spełnione muszą być następujące warunki:
- Zyxel musi być zupełnie "wybudzony" i katalog z exports musi być gotowy do "podpięcia"...
- katalog musi być prawidłowo "podpięty" do serwera...
- podczas przeprowadzania procesu backupu Zyxel nie może "zasnąć" i przerwać połączenia NFS...

I to tylko tyle i, jak widzisz aż tyle...
- do dyspozycji mamy kilka "narzędzi" (WoL, mount, rsync) i ew. własne skrypty w bashu, resztę musimy dopasować...

Myślę, że po tych wszystkich Twoich "nieudanych" próbach, "zakapowałeś" o co właściwie chodzi i nie powinniśmy mieć już problemów ze stworzeniem "ostatniej części" prawidłowo działającego serwera...

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #260 dnia: Marzec 26, 2019, 09:55:43 am »
By zautomatyzować i prawidłowo przeprowadzić proces robienia backupa z serwera na Zyxela spełnione muszą być następujące warunki:
- Zyxel musi być zupełnie "wybudzony" i katalog z exports musi być gotowy do "podpięcia"...
- katalog musi być prawidłowo "podpięty" do serwera...
- podczas przeprowadzania procesu backupu Zyxel nie może "zasnąć" i przerwać połączenia NFS...
Czy znasz jakieś narzędzia, aby można było sprawdzić że dana usługa ( w naszym konkretnym przypadku "serwer NFS") na ZYXEl-u jest uruchomiona. Słyszałem o "htop" , "top", "ps"  - czy to dobry kierunek? Może są jakieś inne sposoby?
Ewentualnie jak sprawdzić czas uruchomienia systemu?

Myślę, że po tych wszystkich Twoich "nieudanych" próbach, "zakapowałeś" o co właściwie chodzi i nie powinniśmy mieć już problemów ze stworzeniem "ostatniej części" prawidłowo działającego serwera...
Jestem zdeterminowany i pełen nadziei. A finał już bliżej niż dalej.

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #261 dnia: Marzec 26, 2019, 10:44:00 am »
Czy znasz jakieś narzędzia, aby można było sprawdzić że dana usługa ( w naszym konkretnym przypadku "serwer NFS") na ZYXEl-u jest uruchomiona. Słyszałem o "htop" , "top", "ps"  - czy to dobry kierunek? Może są jakieś inne sposoby?
Nie rozumiem dokładnie Twojej intencji, chcesz sprawdzać, czy w ogóle Zyxel uruchomił tę usługę, czy tylko to, czy katalog z exports został prawidłowo podłączony ?
- jeśli to drugie, to łatwiej Ci będzie stworzyć zwykły tekstowy plik "testowy" pod udostępnionym katalogiem na Zyxelu, np. "Zyxel_polaczono_OK" i jeśli po podłączeniu Zyxela do serwera widzisz ten plik (z serwera!) pod /Backup/BackupZYXEL/Zyxel_polaczono_OK, to wszystko jest OK z połączeniem...

Ewentualnie jak sprawdzić czas uruchomienia systemu?

Tego też dokładnie nie rozumiem, którego systemu, Zyxela ?


Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #262 dnia: Marzec 26, 2019, 10:57:26 am »
Nie rozumiem dokładnie Twojej intencji, chcesz sprawdzać, czy w ogóle Zyxel uruchomił tę usługę, czy tylko to, czy katalog z exports został prawidłowo podłączony ?
- jeśli to drugie, to łatwiej Ci będzie stworzyć zwykły tekstowy plik "testowy" pod udostępnionym katalogiem na Zyxelu, np. "Zyxel_polaczono_OK" i jeśli po podłączeniu Zyxela do serwera widzisz ten plik (z serwera!) pod /Backup/BackupZYXEL/Zyxel_polaczono_OK, to wszystko jest OK z połączeniem...
Myślę że podany twój drugi sposób rozwiąże moje oczekiwania.
Aczkolwiek bardziej chodzi o pierwsze moje rozmyślania

Tego też dokładnie nie rozumiem, którego systemu, Zyxela ?
Tak ZYXELA. Tam tez jest linux więc być może jakieś "komendy", skrypty z ubuntu, debiana czy jakiegokolwiek linuxa zadziałają jeśli takie są. Jeśli nie zadziałają to trudno.

To wszystko co powyżej jest jakby potrzebne do obliczenia czasu po jakim serwer może montować udostępniony przez Zyxel katalog.
Jak wiesz w skrypcie uruchomieniowym Zyxel-a mam 180 sekund i nie wiem czy to wystarczająco. Z drugiej strony może nie ma co za bardzo brnąć w takie szczegóły tylko ustawić  np 300 sekund i po sprawie
« Ostatnia zmiana: Marzec 26, 2019, 11:01:22 am wysłana przez sebekoo »

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #263 dnia: Marzec 26, 2019, 12:27:55 pm »
Jak wiesz w skrypcie uruchomieniowym Zyxel-a mam 180 sekund i nie wiem czy to wystarczająco. Z drugiej strony może nie ma co za bardzo brnąć w takie szczegóły tylko ustawić  np 300 sekund i po sprawie

Dokładnie tak!
- i to miałem na myśli, pisząc krótkie wyjaśnienie w skrypcie "startowym"...

Nie ma sensu niepotrzebnie rozbudowywać "systemu kontroli", przecież tutaj chodzi o 2 minuty "w jedną, czy drugą"....

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #264 dnia: Marzec 26, 2019, 12:42:08 pm »
natomiast  na serwerze montuje w 'fstab'

Jeszcze w odniesieniu do powyższego...
- takie rozwiązanie jest OK, gdy planujesz, że Zyxel zawsze będzie tak długo aktywny, jak serwer, gdybyś chciał go "usypiać" po starcie serwera (po co niepotrzebnie marnować energię), to musimy montować go skryptem...

"Usypianie" odnosi się tylko do przypadku, gdy inni klieńci nie "obudzą" znowuż Zyxela, bo jeśli każdy wystartowany sprzęt spowoduje jego ponowne wybudzenie, to nie ma sensu próbować ciągle go "usypiać". Musisz się pogodzić z dodatkowym zużyciem energii...

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #265 dnia: Marzec 26, 2019, 04:44:58 pm »
Nie ma sensu niepotrzebnie rozbudowywać "systemu kontroli", przecież tutaj chodzi o 2 minuty "w jedną, czy drugą"....
Też tak myślę.

Jeszcze w odniesieniu do powyższego...
- takie rozwiązanie jest OK, gdy planujesz, że Zyxel zawsze będzie tak długo aktywny, jak serwer, gdybyś chciał go "usypiać" po starcie serwera (po co niepotrzebnie marnować energię), to musimy montować go skryptem...

"Usypianie" odnosi się tylko do przypadku, gdy inni klieńci nie "obudzą" znowuż Zyxela, bo jeśli każdy wystartowany sprzęt spowoduje jego ponowne wybudzenie, to nie ma sensu próbować ciągle go "usypiać". Musisz się pogodzić z dodatkowym zużyciem energii...
Idźmy ścieżką obrana na początku. Serwer budzi Zyxela aby wykonać kopię i usypia go po wykonaniu kopii

Już wiem co wzbudza Zyxela
Podłączyłem monitor podczas uruchamiania systemu i jest tak:
Started /etc/rc.local Compatibility
rc.local[1051]: Sending magic packet to 255.255.255.0:9 with xx.xx.xx.xx.xx.xx
A started job is running for /Backup/BackupZyxel

A rc.local tak wygląda
#!/bin/sh
#---Beim Ladefehler abschalten "-e" (löschen)
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#
#
#----------START ACPI - WakeOnLAN----
ethtool -s enp2s0 wol g
#----------START ACPI - WakeOnLAN----

#---------Dopisany WOL ZYXEL --------
/bin/sleep 15 && /usr/bin/wakeonlan 5C:F4:AB:F4:70:81
#--------Wybudzenie ZYXEL------------

#--UWAGA --- EXIT ZAWSZE NA KOŃCU ---
exit 0

A to wszystko robiliśmy już w lutym

Po instalacji do naszego pliku /etc/rc.local dopisujemy:

/bin/sleep 15 && /usr/bin/wakeonlan 50:e5:49:bd:32:e0
Ważne!
- /etc/rc.local na samym końcu pliku musi być:

exit 0

Trzeba chyba to usunąć skoro mamy skrytp uruchamiający
« Ostatnia zmiana: Marzec 26, 2019, 06:22:50 pm wysłana przez sebekoo »

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #266 dnia: Marzec 26, 2019, 07:29:14 pm »
...
A to wszystko robiliśmy już w lutym
/bin/sleep 15 && /usr/bin/wakeonlan 50:e5:49:bd:32:e0Trzeba chyba to usunąć skoro mamy skrytp uruchamiający

OK, to Ty powinieneś pamiętać, gdzie i co robiliśmy...
- przecież to "nie mój serwer" :)

Prawdopodobnie, chciałem przetestować WoLa..
- OK, jeśli już coś kiedyś zrobiłeś, to nie likwiduj tego, po prostu "zamknij" wstawiając #:

# /bin/sleep 15 && /usr/bin/wakeonlan 50:e5:49:bd:32:e0
Może Ci się jeszcze kiedyś "przydać".
To samo zrób w fstab (mount) i spróbuj wszystko "ręcznie", i wystartować Zyxela i podmontować pod BackupZYXEL...
- będziemy to potrzebować do następnego skryptu...

Acha, jak podmontujesz "ręcznie", to sprawdź także ręcznie rsync (czy już dobrze kopiuje)
- daj potem znać...

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #267 dnia: Marzec 26, 2019, 09:49:27 pm »
OK, to Ty powinieneś pamiętać, gdzie i co robiliśmy...
- przecież to "nie mój serwer" :)
Z pamięcią to mam zawsze problem  :(

- OK, jeśli już coś kiedyś zrobiłeś, to nie likwiduj tego, po prostu "zamknij" wstawiając #:

# /bin/sleep 15 && /usr/bin/wakeonlan 50:e5:49:bd:32:e0
Tylko ta linie wstawić # ?
Do informacji - # wstawiłem jeszcze w ta linię
ethtool -s enp2s0 wol gNatomiast
exit 0Zostawiłem bez zmian

Acha, jak podmontujesz "ręcznie", to sprawdź także ręcznie rsync (czy już dobrze kopiuje)
- daj potem znać...
Zaczynam zaraz dam znać
Ręcznie pod montowałem
rsync - działa prawidłowo

Uwzględniając powyższe zmiany serwer uruchamia się.
Zyxel uruchamia sie poprzez skrypt StartZYXEL.sh
rsync tez działa prawidłowo

Czyli wszystko na tą chwile jest poprawnie i działa prawidłowo tak jak powinno  :)
Aktualnie rsync wykonuje kopie
« Ostatnia zmiana: Marzec 26, 2019, 10:36:23 pm wysłana przez sebekoo »

Offline TataPingu

  • Hero Member
  • *****
  • Wiadomości: 1319
Odp: Budowanie NAS
« Odpowiedź #268 dnia: Marzec 27, 2019, 08:58:00 am »
Tylko ta linie wstawić # ?
Tak, tylko w lini w której jest komenda, którą chcemy "wyłączyć"... (w tym przypadku WoL)

Do informacji - # wstawiłem jeszcze w ta linię
ethtool -s enp2s0 wol g

BŁąD !
Wróć do punktu w którym omawialiśmy tę komendę...
- ta komenda służy do czegoś innego, mianowicie do "inicjacji" (nie znam polskiego terminu) karty sieciowej, by w ogóle reagowała po wyłączeniu serwera (poweroff) na WoL

Natomiast
exit 0Zostawiłem bez zmian
OK, to tylko informacja dla bash, że w tym miejscu "skrypt się skończył"


Zyxel uruchamia sie poprzez skrypt StartZYXEL.sh

Mówiłem "ręcznie", tzn CAŁA KOMENDA W TERMINALU (nie używać skryptu)...
- OK, skrypt działa, ale mnie chodzi o test "zasypiania" Zyxela...

Czyli wszystko na tą chwile jest poprawnie i działa prawidłowo tak jak powinno  :)
Aktualnie rsync wykonuje kopie

Dobra, przypuszczam, że potrwa to trochę, więc zrobimy to dzisiaj wieczorem...

Po zrobieniu backupa przetestuj ręcznie to "zasypianie" Zyxela" (nie rób w trakcie żadnych kopii, a chodzi o to, czy w ogóle "zaśnie" po jakimś czasie")...
- od tego zależy konstrukcja naszego startowego skryptu...

Offline sebekoo

  • Full Member
  • ***
  • Wiadomości: 214
Odp: Budowanie NAS
« Odpowiedź #269 dnia: Marzec 27, 2019, 09:59:00 am »

Do informacji - # wstawiłem jeszcze w ta linię
ethtool -s enp2s0 wol g

BŁąD !
Wróć do punktu w którym omawialiśmy tę komendę...
- ta komenda służy do czegoś innego, mianowicie do "inicjacji" (nie znam polskiego terminu) karty sieciowej, by w ogóle reagowała po wyłączeniu serwera (poweroff) na WoL
OK wrócę do poprzedniego ustawienia z ta linią

Zyxel uruchamia sie poprzez skrypt StartZYXEL.sh

Mówiłem "ręcznie", tzn CAŁA KOMENDA W TERMINALU (nie używać skryptu)...
- OK, skrypt działa, ale mnie chodzi o test "zasypiania" Zyxela...


Po zrobieniu backupa przetestuj ręcznie to "zasypianie" Zyxela" (nie rób w trakcie żadnych kopii, a chodzi o to, czy w ogóle "zaśnie" po jakimś czasie")...
- od tego zależy konstrukcja naszego startowego skryptu...

Komentarz i wyjaśnienie do tych dwóch cytatów.
Chyba pisałem już to wcześniej, a jeśli nie to teraz piszę
Zyxel nie zasypia do takiego stanu że trzeba go wybudzać WOL-em. Zyxel usypia dyski po określonym przezemnie czasie - mam ustawione 15 minut.
Mogę go wyłączyć z GUI (jest guzik wyłącz ZYXEL), poprzez wydanie komendy "poweroff" lub poprzez ustawienie w harmonogramie. Z tym że harmonogram ma określone (przezemnie) godziny wyłączenia, a to nas nie interesuje bo byśmy musieli serwer dopasowywać do tych godzin.
Więc ta kwestię musimy dopasować w skrypcie startowym o którym wspominasz.

Ja to widzę w ten sposób:
Skrypt na serwerze uruchamia Zyxel-a, po określonym czasie od wybudzenia Zyxel-a (ok180 sek) , następuje  "montowanie" NFS, jeśli "montowanie" jest OK, to serwer zaczyna wykonywać backup. Po skończonym backup-ie następuje wyłączenie Zyxela (np poprzez ssh - poweroff). I teraz serwer czeka określony czas w inny skrypcie (wyłączenie.sh - tu mamy już wszystko ustawione) i jeśli nie widzi innych hostów to sam się wyłącza.

Myślę że też o takim przebiegu sprawy myślałeś.