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

Cytat: sebekoo w Marzec 27, 2019, 09:59:00 AM
Zyxel nie zasypia do takiego stanu że trzeba go wybudzać WOL-em. Zyxel usypia dyski po określonym przezemnie czasie - mam ustawione 15 minut.

Dokładnie chodzi mi o to, czy komenda WoL wybudzi również dyski z uśpienia ?
Wyobraź sobie następujący scenariusz:
- z jakichś tam powodów (np. potrzebujesz skopiować kilka plików z kopii), "ręcznie" startujesz Zyxela...
- kopiujesz potrzebne pliki i nadal klieńci są w sieci, więc serwer "pracuje"...
- po pewnym czasie (Twoje 15 min) dyski Zyxela zasypiają...
- teraz wyłączasz wszystkich klientów, więc serwer po krótkim czasie rozpoczyna robienie automatycznego backupa....
I O TEN MOMENT CHODZI !
- czy naszą komendą WoL dyski automatycznie "wstaną" ?

Jeśli nie, to musimy użyć czegoś dodatkowego...


Cytat: sebekoo w Marzec 27, 2019, 09:59:00 AM
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ś.

Tak, docelowo wszystko ma tak przebiegać

sebekoo

#271
Cytat: TataPingu w Marzec 27, 2019, 10:40:04 AM

Dokładnie chodzi mi o to, czy komenda WoL wybudzi również dyski z uśpienia ?
Wyobraź sobie następujący scenariusz:
- z jakichś tam powodów (np. potrzebujesz skopiować kilka plików z kopii), "ręcznie" startujesz Zyxela...
- kopiujesz potrzebne pliki i nadal klieńci są w sieci, więc serwer "pracuje"...
- po pewnym czasie (Twoje 15 min) dyski Zyxela zasypiają...
- teraz wyłączasz wszystkich klientów, więc serwer po krótkim czasie rozpoczyna robienie automatycznego backupa....
I O TEN MOMENT CHODZI !
- czy naszą komendą WoL dyski automatycznie "wstaną" ?

Jeśli nie, to musimy użyć czegoś dodatkowego...

Na pewno każdy ruch (zapisu/odczytu/zalogowania się, wszystko co ma wspólnego aby dysk musiał pracować itp) rozpocznie pracę dysków. 
Czy rsync wybudzi - to też muszę sprawdzić.
Czy sam WoL rozpocznie pracę dysku- tego nie wiem i sprawdzę to.
Jedyna na ta chwile podpowiedz to ok 2-4 sekund potrzeba aby dyski się wybudziły.

sudo wakeonlan -i 192.168.1.12 -p 9 xx:xx:xx:xx:xx:xx sama komenda nie wzbudza dysków

sudo rsync --no-perms --no-owner --no-group -u -r -t -v --temp-dir=/Backup/RsyncTMP -- progress --delete --modify-windows=1 --exclude=/Backup/ --exclude=/proc/ --exclude=/sys/ / /Backup/BackupZYXEL
Wykonanie rsync wzbudza dyski

sebekoo

#272
Jak powinien zakończyć się proces rsync?
Czy normalnie powinno pojawić sie sebek@ubuntu_server:~$

Bo teraz czeka na katalogu /proc/kcore
Przerwałem ctrl+C
Dodatkowe info : zyxel całą noc pracował, rano sprawdzałem, po południu po pracy zyxel już miał dyski "uśpione"

rsync backup wykonał na  801GB - to prawie mniej więcej tyle całość zajmuje - moje dane + system

TataPingu

Dziwne, bo ten katalog "wyłączyłem" z kopiowania...
--exclude=/proc/

Dobra, jutro zobaczymy. Dzisiaj nie małem za bardzo czasu wieczorem, dopiero teraz usiadłem do PCta,
- właściwie to już mamy wszystkie istotne informacje, jutro zrobimy następne skrypty...

A co do kopii, to rsync prawdopodobnie zrobił wszystko...

sebekoo

#274
Też wczoraj nie miałem zbyt dużo czasu. Dziś sprawdzę jakie katalogi są w kopii.
Jeśli dobrze pamiętam to cztery katalogi zostały wyłączone z kopii.
Być może coś źle przepisałem. Aczkolwiek starałem się i sprawdziłem po przepisaniu komendy czy aby nie pomyliłem się.

EDIT
A jednak trzy katalogi są wyłączone z robienia kopii
/Backup, /proc, /sys



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

Miałeś z tym racje WOL przestał działać



TataPingu

Cytat: sebekoo w Marzec 28, 2019, 06:06:47 AM
Też wczoraj nie miałem zbyt dużo czasu. Dziś sprawdzę jakie katalogi są w kopii.


No kacze pieczone!
- dzisiaj również nie mogłem, chyba przesuniemy to na weekend, bo skrypty są, nie tyle co bardziej skomplikowane, ale bardziej "kompleksowe", trzeba się dobrze skupić, by wszystko zgrać...

Teraz, to możesz jedynie wrzucić nasz skrypt "startowy", bo trzeba go będzie trochę zmienić...

sebekoo

#276
Spokojnie, możemy na weekend przesunąć.

Ja ma tutaj zamieścić skrypt startowy zyxela??

No to proszę
#!/bin/bash
#-ZyxelNAS - podpiecie stacji
#-TataPingu forum linixiarze.pl
#--------
#
#------CONFIG
# - odpowiednio dopasowac
ZYXEL_MAC="xx:xx:xx:xx:xx:xx"
#
# - tutaj odpowiednio dopasowac IP i katalog NFS na Zyxelu
HOST_ZYXEL="192.168.1.12"
NAS_DIR="/i-data/44026ef7/nfs/BackupSERWER"
#NAS_DIR="/i-data/b96f5c10/nfs/ZYXEL/"
#
# - tutaj odpowiednio dopasowac
USER_NAS="login"
PASS_NAS="haslo"
#
# nie pamietam, ale chyba tak ustalalismy (jesli inaczej to dopasuj)
MOUNT_DIR="/Backup/BackupZYXEL"
#------CONFIG ENDE
#
#
#---DO NORMALNEGO DZIALANIA ZAMKNIETE
#if [ ! "$(ping -c1 ${HOST_ZYXEL)" ]; then
#   DISPLAY=:0.0 zenity --error
#   --title="Zyxel nie zostal znaleziony w sieci"
#   --text="i adres IP ${HOST_ZYXEL} nie reaguje na ping."
#   exit 1
#fi
#---DO NORMALNEGO DZIALANIA ZAMKNIETE
#
wakeonlan -i "${HOST_ZYXEL}" -p 9 "${ZYXEL_MAC}"
#
# - czas jest w sekundach i dopasowac go do czasu od wybudzenia
# - Zyxela do osiagniecia pelnej "gotowosci"
sleep 10
#
#
# - tutaj nastepuje "podpiecie" Zyxela do systemu
# - dla FTP
############curlftpfs -o no_verify_peer,allow_other,disable_eprt ftp://"${USER_NAS}":"${PASS_NAS}"@"${HOST_ZYXEL}"/"${NAS_DIR}" "${MOUNT_DIR}"
# - dla NFS
mount "${HOST_ZYXEL}":"${NAS_DIR}" "${MOUNT_DIR}"
# - tutaj nastepuje "podpiecie" Zyxela do systemu
#
#
# - w tym miejscu rozpoczynamy regularne "budzenie" Zyxela
# - czas w sek (sleep 240) dopasowac do czasu "zasypiania" Zyxela
# - np. Zyxel zasypia po 5min (300sek), to "wybudzamy" go o 1min wczesniej (240sek)
#
while true
do
wakeonlan -i "${HOST_ZYXEL}" -p 9 "${ZYXEL_MAC}"
sleep 240
done
#
# Koniec "wybudzania"

TataPingu

#277
Zmień skrypt na (teraz wystarczy chyba copy-paste):


#!/bin/bash
#-ZyxelNAS - podpiecie stacji
#-TataPingu forum linixiarze.pl
#--------
#
#------CONFIG
# - odpowiednio dopasowac
ZYXEL_MAC="xx:xx:xx:xx:xx:xx"
#
# - tutaj odpowiednio dopasowac IP i katalog NFS na Zyxelu
HOST_ZYXEL="192.168.1.12"
NAS_DIR="/i-data/44026ef7/nfs/BackupSERWER"
#NAS_DIR="/i-data/b96f5c10/nfs/ZYXEL/"
#
# - tutaj odpowiednio dopasowac
USER_NAS="login"
PASS_NAS="haslo"
#
# nie pamietam, ale chyba tak ustalalismy (jesli inaczej to dopasuj)
MOUNT_DIR="/Backup/BackupZYXEL"
#------CONFIG ENDE
#
#
#---DO NORMALNEGO DZIALANIA ZAMKNIETE
#if [ ! "$(ping -c1 ${HOST_ZYXEL)" ]; then
#   DISPLAY=:0.0 zenity --error
#   --title="Zyxel nie zostal znaleziony w sieci"
#   --text="i adres IP ${HOST_ZYXEL} nie reaguje na ping."
#   exit 1
#fi
#---DO NORMALNEGO DZIALANIA ZAMKNIETE
#
wakeonlan -i "${HOST_ZYXEL}" -p 9 "${ZYXEL_MAC}"
#
# - czas jest w sekundach i dopasowac go do czasu od wybudzenia
# - Zyxela do osiagniecia pelnej "gotowosci"
#-----------29.03.19-TUTAJ ZMIENILEM !!!
# sleep 10
sleep 180
#-----------29.03.19-TUTAJ ZMIENILEM !!!
#
#
# - tutaj nastepuje "podpiecie" Zyxela do systemu
# - dla FTP
############curlftpfs -o no_verify_peer,allow_other,disable_eprt ftp://"${USER_NAS}":"${PASS_NAS}"@"${HOST_ZYXEL}"/"${NAS_DIR}" "${MOUNT_DIR}"
# - dla NFS
mount "${HOST_ZYXEL}":"${NAS_DIR}" "${MOUNT_DIR}"
# - tutaj nastepuje "podpiecie" Zyxela do systemu
#
#
# - w tym miejscu rozpoczynamy regularne "budzenie" Zyxela
# - czas w sek (sleep 240) dopasowac do czasu "zasypiania" Zyxela
# - np. Zyxel zasypia po 5min (300sek), to "wybudzamy" go o 1min wczesniej (240sek)
#
# - Utrzymywanie HDD w "gotowosci"
#
while true
do
#-----------29.03.19-TUTAJ ZMIENILEM !!!
# wakeonlan -i "${HOST_ZYXEL}" -p 9 "${ZYXEL_MAC}"
ls "${MOUNT_DIR}"/
#-----------29.03.19-TUTAJ ZMIENILEM !!!
sleep 240
done
#
# - Utrzymywanie HDD w "gotowosci"
#
# Koniec "wybudzania"


Zmiany zostały zrobione ze względu, iż Zyxel nie zasypia "całkowicie"...
- wg Ciebie, zasypiają tylko HDD, więc wystarczy trzymać je w gotowości...

Teoretycznie, teraz po starcie naszego skryptu, Zyxel powinien się wybudzić i HDD nie powinny już "zasypiać"...

Resztę wieczorem

Dopisek
- oczywiście, pewne rzeczy (mac) musisz uzupełnić

sebekoo

Cytat: TataPingu w Marzec 29, 2019, 09:32:53 AM

Zmiany zostały zrobione ze względu, iż Zyxel nie zasypia "całkowicie"...
- wg Ciebie, zasypiają tylko HDD, więc wystarczy trzymać je w gotowości...

Dopisek
- oczywiście, pewne rzeczy (mac) musisz uzupełnić
Dokładnie Zyxel nie usypia tylko same HDD.

Już nie robię COPY-PASTE - wolę przepisać, więc nie muszę zmieniać MAC. A przepisywanie to też trening dla szybkości pisania na klawiaturze

Czas 10 sekund - ustawiłem dla testu aby długo nie czekać

TataPingu

#279
Cytat: sebekoo w Marzec 29, 2019, 06:06:56 PM
Czas 10 sekund - ustawiłem dla testu aby długo nie czekać

który czas, to, co zmieniłem z 10sek na 180sek ?

To zostaw, jest wszystko OK, specjalnie to zmieniłem...
- sam przecież mówiłeś, że Zyxel potrzebuje ok. 3 min do PEŁNEGO STARTU...

A to jest ten punkt...

sebekoo

Cytat: TataPingu w Marzec 29, 2019, 06:17:26 PM
Cytat: sebekoo w Marzec 29, 2019, 06:06:56 PM
Czas 10 sekund - ustawiłem dla testu aby długo nie czekać
Teraz po zmianach mam 180 sek

TataPingu

#281
OK, jeśli wszystko OK, to możemy rozpocząć tę "uciążliwą" część...
Przypomnij mi nazwę pliku, który "gasi" nasz serwer (ścieżka naniesiona jest w /etc/crontab)
i podaj dokładną nazwę naszego pliku "startowego" (ZyxelSTART ?)

sebekoo

#-----SERVER-WYLACZENIE----------
#---sprawdzenie co 3 minuty, czy w sieci sa aktywne sprzety
*/3 * * * * root /usr/local/bin/wylaczenie.sh
#---sprawdzenie co 6 minut, czy w sieci sa aktywne sprzety
#####*/6 * * * * root /usr/local/bin/wylaczenie.sh
#-----SERVER-WYLACZENIE----------


TataPingu

OK, więc zapisz ten plik dodatkowo jako:

/usr/local/bin/wylaczenie.sh.DZIENNE

Oczywiście nadaj mu te same prawa, jak pozostałym

Jeszcze nazwa "startowego"

sebekoo

#284
ZyxelSTART.sh



Cytat: TataPingu w Marzec 29, 2019, 08:10:05 PM
OK, więc zapisz ten plik dodatkowo jako:

/usr/local/bin/wylaczenie.sh.DZIENNE

Oczywiście nadaj mu te same prawa, jak pozostałym
Czyli ten spod /etc/crontab zmienić na /etc/wylaczenie.sh.DZIENNE i przenieść czy skopiować do /usr/local/bin/wylaczenie.sh.DZIENNE ?


Cały crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
#-----SERVER-WYLACZENIE----------
#---sprawdzenie co 3 minuty, czy w sieci sa aktywne sprzety
*/3 * * * * root /usr/local/bin/wylaczenie.sh
#---sprawdzenie co 6 minut, czy w sieci sa aktywne sprzety
#####*/6 * * * * root /usr/local/bin/wylaczenie.sh
#-----SERVER-WYLACZENIE----------

Zobacz najnowsze wiadomości na forum