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

Budowanie NAS

Zaczęty przez sebekoo, Luty 03, 2019, 02:02:52 PM

Poprzedni wątek - Następny wątek

TataPingu

#255
Cytat: sebekoo w Marzec 24, 2019, 09:49:47 PM
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-openhab
Ale, 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...

sebekoo

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".

TataPingu

Cytat: sebekoo w Marzec 25, 2019, 12:33:49 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ć ?

sebekoo

#258
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

TataPingu

Cytat: sebekoo w 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

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...

Cytat: sebekoo w Marzec 25, 2019, 10:54:53 PM
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...

Cytat: sebekoo w Marzec 25, 2019, 10:54:53 PM
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...

Cytat: sebekoo w Marzec 25, 2019, 10:54:53 PM
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...

Cytat: sebekoo w Marzec 25, 2019, 10:54:53 PM
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...

sebekoo

Cytat: TataPingu w Marzec 26, 2019, 09:26:19 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?

Cytat: TataPingu w Marzec 26, 2019, 09:26:19 AM
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.

TataPingu

Cytat: sebekoo w Marzec 26, 2019, 09:55:43 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...

Cytat: sebekoo w Marzec 26, 2019, 09:55:43 AM
Ewentualnie jak sprawdzić czas uruchomienia systemu?

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


sebekoo

#262
Cytat: TataPingu w Marzec 26, 2019, 10:44:00 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

Cytat: TataPingu w Marzec 26, 2019, 10:44:00 AM
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

TataPingu

Cytat: sebekoo w Marzec 26, 2019, 10:57:26 AM
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ą"....

TataPingu

Cytat: sebekoo w Marzec 25, 2019, 10:54:53 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...

sebekoo

#265
Cytat: TataPingu w Marzec 26, 2019, 12:27:55 PM
Nie ma sensu niepotrzebnie rozbudowywać "systemu kontroli", przecież tutaj chodzi o 2 minuty "w jedną, czy drugą"....
Też tak myślę.

Cytat: TataPingu w Marzec 26, 2019, 12:42:08 PM
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
Cytat: TataPingu w Luty 28, 2019, 09:33:41 AM

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

TataPingu

Cytat: sebekoo w Marzec 26, 2019, 04:44:58 PM
...
A to wszystko robiliśmy już w lutym
/bin/sleep 15 && /usr/bin/wakeonlan 50:e5:49:bd:32:e0
Trzeba 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ć...

sebekoo

#267
Cytat: TataPingu w Marzec 26, 2019, 07:29:14 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  :(

Cytat: TataPingu w Marzec 26, 2019, 07:29:14 PM
- 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 g
Natomiast
exit 0
Zostawiłem bez zmian

Cytat: TataPingu w Marzec 26, 2019, 07:29:14 PM
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

TataPingu

Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
Tylko ta linie wstawić # ?
Tak, tylko w lini w której jest komenda, którą chcemy "wyłączyć"... (w tym przypadku WoL)

Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
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

Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
Natomiast
exit 0
Zostawiłem bez zmian
OK, to tylko informacja dla bash, że w tym miejscu "skrypt się skończył"


Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
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...

Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
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...

sebekoo

Cytat: TataPingu w Marzec 27, 2019, 08:58:00 AM

Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
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ą

Cytat: TataPingu w Marzec 27, 2019, 08:58:00 AM
Cytat: sebekoo w Marzec 26, 2019, 09:49:27 PM
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...


Cytat: TataPingu w Marzec 27, 2019, 08:58:00 AM
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ś.

Zobacz najnowsze wiadomości na forum