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

#345
Cytat: sebekoo w Kwiecień 06, 2019, 06:50:18 PM
Walczę z DMZ ale nie daje rady chyba sprzęt. Więc muszę zrezygnować z DMZ
Bez DMZ musimy robic dalej

Skoncentruj się na jednym, tj. doprowadzić serwej do funkcjonującej postaci...
- potem będziesz mógł robić, co Ci się rzewnie podoba


Cytat: sebekoo w Kwiecień 06, 2019, 06:50:18 PM
Tego nie da rady zrobić
Ip zmieniłem
Pod konsolą sprawdzałem i brakuje hasła do zyxela aby ssh komenda zadziałała

Czego mianowicie "nie da się zrobić" ?
- właśnie z tego względu, że nie trzymiesz się ściśle kolejności, tylko "skaczesz" z jednej funkcji na drugą (teraz zacząłeś z DMZ, przeciesz mieliśmy dokończyć "automatykę" backupa i wyłączenia się serwera!) zaczynasz mieć totalny haos na serwerze...
- Kolego, jeszcze raz podkreślam: LINUX TO NIE WINDOWS i jeśli już raz coś dobrze chodziło, to tak zostanie i nie trzeba tam wracać i znowóż coś "grzebać" !

Fakt, napisałeś, że sprawdziłeś, tylko...
sebek@ubuntu_server:~$ ssh root@192.168.1.20 poweroff

- przecież zrobiłeś to nie z roota, a poziomu usera !
Sprawdź, jak zareaguje z roota, jeśli się również nie da (to znowu sprawa "spreparowania OSa Zyxela"), to poszukaj w sieci. Popatrz, w googlach poszukałem "linux remote shutdown with ssh"
i spójrz ile znalazłem rozwiązań, np. poniższe:

https://askubuntu.com/questions/251148/shutdown-over-ssh

Przywróć serwer do postaci Twojego "raportu" (dnia: Kwiecień 02, 2019, 07:29:29 am), to mamy tutaj tylko 2 (DWA) punkty, które trzeba ew. "dograć", jeden, "wyrzucić" IP Zyxela poza "zakres" i ew. dopracować komendę "poweroff" poprzez ssh

sebekoo

"nie da się zrobić"
Ciągle myślałem o DMZ - roztrzepany jestem pisząc to wszystko.

Jak napisałeś żeby wyrzucić Zyxela poza strefe IP - to ja pomyślałem o strefie DMZ i dlatego z nią walczyłem. :)
Zostawiam to w spokoju - ten DMZ.
Zyxel jest poza zakresem IP ustawionym w serwerze.

Co do komendy
sebek@ubuntu_server:~$ ssh root@192.168.1.20 poweroff
to jest wymagane hasło dla root-a zyxel-a

sebek@ubuntu_server:~$ sudo ssh root@192.168.1.20 poweroff
root@192.168.1.20's password:
sebek@ubuntu_server:~$

Widziałem że już coś podesłałeś w związku z ssh więc muszę to przestudiować.


TataPingu

Cytat: sebekoo w Kwiecień 06, 2019, 09:30:30 PM
to jest wymagane hasło dla root-a zyxel-a

Wiem, ale robisz to z serwera, jako SEBEK...
- zamelduj sie, jako root (NA SERWERZE) i dopiero potem to sprawdź !

sebekoo

#348
sebek@ubuntu_server:~$ sudo su
root@ubuntu_server:/home/sebek# ssh root@192.168.1.20 poweroff
root@192.168.1.20's password:
root@ubuntu_server:/home/sebek#


Również hasło wymaga
Musze wykonać to co podałeś lub znalazłem jeszcze taki opis
https://askubuntu.com/questions/191257/how-could-i-shutdown-a-remote-host-in-my-network-thru-ssh-with-a-local-host
Zrobiłem wg tego jak powyżej i komenda ssh root@192.168.1.20 poweroff działa bez hasła

TataPingu

#349
Cytat: sebekoo w Kwiecień 06, 2019, 09:46:30 PM
działa bez hasła

Więc wróć do mojego posta (poprzednia strona - Odpowiedź #333 dnia: Kwiecień 01, 2019, 04:48:14 pm) i zobacz co dokładnie piszę o skrypcie wylaczenie.sh.PO_BACKUPIE...
- gdybyś tylko dokładnie to (i tylko to!) zrobił, co tam zalecałem, to byłoby wszystko OK

Dokładnie chodzi o tę zmianę:

f [ $NUMCLIENTS -le $MINCLIENTS ]; then
    if [ ! -f "$STATUSFILE" ]; then
        echo "COUNT=$RETRIES" > $STATUSFILE
    fi
    . $STATUSFILE
    if [ $COUNT -le $MINCLIENTS ]; then
#
cp /usr/local/bin/wylaczenie.sh.DZIENNE /usr/local/bin/wylaczenie.sh
sleep 1s
                umount -f -l /Backup/BackupZYXEL
sleep 1s
                ssh root@192.168.1.12 poweroff
sleep 1s
echo "Spadamy...."
shutdown -h now;
#
    else
        let COUNT=$COUNT-1
        echo "COUNT=$COUNT" > $STATUSFILE
    fi;
else
    if [ -f "$STATUSFILE" ]; then
        rm $STATUSFILE
    fi



Jedynie, to miałeś dopasować IP Zyxela w powyższym...

sebekoo

#350
#!/bin/bash
#
# ok. 2013 Bogdan (TataPingu z https://linuxiarze.pl)
#/usr/local/bin/wylaczenie.sh.PO_BACKUPIE
# Po wykonaniu backupa dziennego zainicjowanie poweroff serwera

###
# CONFIG
###

# Filename of the statusfile
STATUSFILE="/tmp/wylaczenie-status"

# which ip range should be checked?
# this example looks in "192.168.5.10 to 192.168.5.30"
# and "192.168.178.20 to 192.168.178.30"
#RANGE="192.168.1.178.10-30"
#MOJE - np u mnie wszystkie IP pomiedzy 192.168.2.1 i 192.168.2.9
RANGE="192.168.1.21-50"
#RANGE="192.168.2.1" # - pojedynczy
# Tylko jeden zakres można wybrać; jedno RANGE

# how many clients are always on (other servers, routers, etc)
MINCLIENTS=0

# shutdown after how many retries?
RETRIES=2

###
# END CONFIG
###

NUMCLIENTS=`nmap -sP $RANGE -oG - | grep "^Host" | wc -l`

if [ $NUMCLIENTS -le $MINCLIENTS ]; then
    if [ ! -f "$STATUSFILE" ]; then
        echo "COUNT=$RETRIES" > $STATUSFILE
    fi
    . $STATUSFILE
    if [ $COUNT -le $MINCLIENTS ]; then
#
cp /usr/local/bin/wylaczenie.sh.DZIENNE /usr/local/bin/wylaczenie.sh
sleep 1s
                umount -f -l /Backup/BackupZYXEL
sleep 1s
                ssh root@192.168.1.20 poweroff
sleep 1s
echo "Spadamy...."
shutdown -h now;
#
    else
        let COUNT=$COUNT-1
        echo "COUNT=$COUNT" > $STATUSFILE
    fi;
else
    if [ -f "$STATUSFILE" ]; then
        rm $STATUSFILE
    fi

Aktualny stan pliku
IP mam zmienione na prawidłowe.
Jedynie komenda "shutdown -h now" jest nie zmieniona - "poweroff" wyłącza zyxel - ale czy to ma być zmienione to ja tego nie wiem

TataPingu

Cytat: sebekoo w Kwiecień 06, 2019, 10:39:49 PM
Aktualny stan pliku
IP mam zmienione na prawidłowe.
Jedynie komenda "shutdown -h now" jest nie zmieniona - "poweroff" wyłącza zyxel - ale czy to ma być zmienione to ja tego nie wiem

Może zostać shutdown, to to samo..
Wychodzę z założenia, że zmieniłeś tylko to, co było potrzebne...
- pozostałość jest taka, jaką kiedyś podawałem (już nie mam ochoty po raz któryś tego sprawdzać)...
Możemy teraz zrobić test, jak podaję w  "Odpowiedź #340 dnia: Kwiecień 02, 2019, 08:37:31 am"
- stworzenie pliku na serwerze, wyłączenie klientów, odczekanie do końca "procesu" itd

Acha, a którą w końcu wybrałeś komendę dla rsync ?

sebekoo

#352
Cytat: TataPingu w Kwiecień 06, 2019, 11:02:52 PM

Wychodzę z założenia, że zmieniłeś tylko to, co było potrzebne...
- pozostałość jest taka, jaką kiedyś podawałem (już nie mam ochoty po raz któryś tego sprawdzać)...
Możemy teraz zrobić test, jak podaję w  "Odpowiedź #340 dnia: Kwiecień 02, 2019, 08:37:31 am"
- stworzenie pliku na serwerze, wyłączenie klientów, odczekanie do końca "procesu" itd

Nie zmieniam
Chyba możemy.

Cytat: TataPingu w Kwiecień 06, 2019, 11:02:52 PM
Acha, a którą w końcu wybrałeś komendę dla rsync ?
Oczywiście tą twoją.
sudo rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H --exclude=/Backup/ --exclude=/proc/ --exclude=/sys/ / /Backup/BackupZYXEL


Wykonałem testowy backup i nie poszło tak jak powinno.
Co poszło nie tak:
Montowanie zyxela odbywa się  po rozpoczęciu działania rsync-a. W efekcie czego backup wykonywany jest na zyxelu.
Inaczej mówiąc najpierw rozpoczyna pracę rsync a po kilkudziesięciu sekundach następuje montowanie zyxela.

Nie wiem czemu tak się dzieje wg skryptu najpierw powinno być montowanie następnie rsync

TataPingu

Cytat: sebekoo w Kwiecień 07, 2019, 12:56:21 PM
Co poszło nie tak:
Montowanie zyxela odbywa się  po rozpoczęciu działania rsync-a. W efekcie czego backup wykonywany jest na zyxelu.
Inaczej mówiąc najpierw rozpoczyna pracę rsync a po kilkudziesięciu sekundach następuje montowanie zyxela.

OK, w takim razie w skrypcie /usr/local/bin/rsync_backup_server_DZIENNY zmień:

######---ZyxelNAS STARTEN i MOUNTEN
/usr/local/bin/./ZyxelSTART.sh &
######---ZyxelNAS STARTEN i MOUNTEN


na


######---ZyxelNAS STARTEN i MOUNTEN
/usr/local/bin/./ZyxelSTART.sh &
sleep 200s
######---ZyxelNAS STARTEN i MOUNTEN


Ten czas (200s) odnosi się do naszego startowego skryptu (/usr/local/bin/./ZyxelSTART.sh), o ile dobrze pamiętam, naniosłeś tam 180s i zależnie od naniesionego w nim czasu inicjacji Zyxela, tutaj musimy poczekać, aż nastąpi "pełne podpięcie"....
- w tym przypadku "czekamy" te 180 sek i dla pewności dodajemy 20 sek...
Powiem, że nie pomyślałem o tym....

Po zmianie, najlepiej wystartuj serwer i przetestuj jeszcze raz...

sebekoo

#354
Raport z przeprowadzonego rsync-a
Pozmieniałem na podane wartości 200s, uruchomiłem ponownie, dodatkowo włączyłem stoper dla mierzenia czasu.
Zaraz po uruchomieniu serwera, w putty sprawdziłem
nmap -sP 192.168.1.20-21 -oG - | grep "^Host" | wc -l
wynik 0
Od tego momentu mierzyłem czas
(czasy jakie podaje są orientacyjne z dokładnością kilku sekund)
Serwer był włączony przez 14 minut i 10sek. po tym czasie włączył się Zyxel.
W 17 minucie 20 sek pod-montował się Zyxel
Po chwili słyszałem prace dysku serwera wiec świadczyło to o rozpoczęciu pracy rsync-a.
Sprawdziłem /var/log

W dniu nie, 7 kwi 2019, 20:24:23 CEST pod systemem Ubuntu 18.04.2 LTS dzienny backup serwera rozpoczety
W dniu nie, 7 kwi 2019, 20:27:17 CEST pod systemem Ubuntu 18.04.2 LTS dzienny backup serwera pomyslnie zakonczony

Niestety Zyxel nadal pozostaje podmontowany i cały czas włączony (nawet teraz jak pisze post a to juz prawie pół godziny od zakończenia działania rsync-a).

TataPingu

Cytat: sebekoo w Kwiecień 07, 2019, 08:50:07 PM
Niestety Zyxel nadal pozostaje podmontowany i cały czas włączony (nawet teraz jak pisze post a to juz prawie pół godziny od zakończenia działania rsync-a).

Więc mamy już prawie całość...
- pozostał nam punkt wyłączenia Zyxela.
To skrypt "wylaczenie.sh.PO_BACKUPIE..." (poprzednie posty powyżej), a dokładnie:

#
cp /usr/local/bin/wylaczenie.sh.DZIENNE /usr/local/bin/wylaczenie.sh
sleep 1s
                umount -f -l /Backup/BackupZYXEL
sleep 1s
                ssh root@192.168.1.20 poweroff
sleep 1s
echo "Spadamy...."
shutdown -h now;
#


Chodzi dokładnie o "umount -f -l /Backup/BackupZYXEL" i "ssh root@192.168.1.20 poweroff"
- umont nie jest teraz taki istotny, bo, gdy wyłączymy Zyxela, to i tak zostanie "wymontowany.

Spróbujemy dać mu więcej czasu, zmień czas np na:

#
cp /usr/local/bin/wylaczenie.sh.DZIENNE /usr/local/bin/wylaczenie.sh
sleep 1s
                umount -f -l /Backup/BackupZYXEL
sleep 15s
                ssh root@192.168.1.20 poweroff
sleep 15s
echo "Spadamy...."
shutdown -h now;
#


By to sprawdzić, musisz jeszcze raz przeprowadzić test od początku (po zmianie nie zapomnij zresetować serwera).
A przy okazji, sprawdzimy dokładnie jeszcze naszego rsynca. Powiel (skopiuj) jakiś bardziej pojemny katalog (np. z muzyką, fotkami) pod inny, dowolny katalog na serwerze. Po teście powinien pojawić się również na Zyxelu...

sebekoo

#356
Zmieniłem podane czasy i czekam.
Niestety już 45 minut na włączenie Zyxela.
nmap cały czas pokazuje '0'
Dodatkowo nie ma pliku /tmp/wylaczenie-status. To wygląda jakby serwer nie rozpoczął procesu wyłączania.
A przecież w crontab ma co 3 minuty sprawdzać

*/3 * * * * root /usr/local/bin/wylaczenie.sh


Teraz tak wygląda /usr/local/bin/wylaczenie.sh
#!/bin/bash
#
# ok. 2013 Bogdan (TataPingu z https://linuxiarze.pl)
# /usr/local/bin/wylaczenie.sh
# Wylaczenie.sh

###
# CONFIG
###

# Filename of the statusfile
STATUSFILE="/tmp/wylaczenie-status"

# which ip range should be checked?
# this example looks in "192.168.5.10 to 192.168.5.30"
# and "192.168.178.20 to 192.168.178.30"
#RANGE="192.168.1.178.10-30"
#MOJE - np u mnie wszystkie IP pomiedzy 192.168.2.1 i 192.168.2.9
RANGE="192.168.1.21-50"
#RANGE="192.168.2.1" # - pojedynczy
# Tylko jeden zakres można wybrać; jedno RANGE

# how many clients are always on (other servers, routers, etc)
MINCLIENTS=0

# shutdown after how many retries?
RETRIES=2

###
# END CONFIG
###

NUMCLIENTS=`nmap -sP $RANGE -oG - | grep "^Host" | wc -l`

if [ $NUMCLIENTS -le $MINCLIENTS ]; then
    if [ ! -f "$STATUSFILE" ]; then
        echo "COUNT=$RETRIES" > $STATUSFILE
    fi
    . $STATUSFILE
    if [ $COUNT -le $MINCLIENTS ]; then
#----- w tym miejscu dojdzie RSYNC_BACKUP_SERVER
/usr/local/bin/./rsync_backup_server_DZIENNY
exit 0
#----- w tym miejscu dojdzie RSYNC_BACKUP_SERVER
#
#----- gdy dojdzie RSYNC_BACKUP_SERVER -> DO ZAMKNIECIA
        ############echo "Shutdown, kolego (my dear)..."
        ############shutdown -h now;
        #----- gdy dojdzie RSYNC_BACKUP_SERVER -> DO ZAMKNIECIA
    else
        let COUNT=$COUNT-1
        echo "COUNT=$COUNT" > $STATUSFILE
    fi;
else
    if [ -f "$STATUSFILE" ]; then
        rm $STATUSFILE
    fi
fi


Czy jest prawidłowy ? (wydaje mi się że zawartość ma prawidłową, aczkolwiek zastanawia mnie /usr/local/bin/(.) kropka ona tam ma być ? )
Chodzi mi o to że: Plik "wylaczenie.sh" zmienia zawartość w zależności co jest wykonywane. Jak powinien wyglądać podczas "normalnej" pracy.

TataPingu

#357
Cytat: sebekoo w Kwiecień 07, 2019, 10:42:09 PM
Zmieniłem podane czasy i czekam.
Niestety już 45 minut na włączenie Zyxela.
nmap cały czas pokazuje '0'
itd...

Ty znów swoje...
Nie szukaj przyczyny gdzie indziej i nie "skacz" od funkcji do funkcji (tym bardziej niczego nie zmieniaj, lub poprawiaj) !
- przecież wyraźnie napisałem, że to tylko te dwa punkty (umount i poweroff), wszystko inne jest OK !

Teraz mi powiedz:
-  czy skopiowałeś jakiś pojemniejszy folder na serwerze ?
- czy podczas przeprowadzenia testu został skopiowany (wraz z zawartością) na Zyxela?
- czy serwer po zrobieniu backupa się wyłącza i jedynie Zyxel nie ?
- jeśli tak, to, czy Twoja pomyślna próba wyłączenia Zyxela (ssh root@192.168.1.20 poweroff) zrobiona była z SERWERA (bezpośrednio w terminalu na serwerze) ?

sebekoo

#358
Cytat: TataPingu w Kwiecień 08, 2019, 08:36:35 AM
Nie szukaj przyczyny gdzie indziej i nie "skacz" od funkcji do funkcji (tym bardziej niczego nie zmieniaj, lub poprawiaj) !
- przecież wyraźnie napisałem, że to tylko te dwa punkty (umount i poweroff), wszystko inne jest OK !

Teraz mi powiedz:
-  czy skopiowałeś jakiś pojemniejszy folder na serwerze ?
- czy podczas przeprowadzenia testu został skopiowany (wraz z zawartością) na Zyxela?
- czy serwer po zrobieniu backupa się wyłącza i jedynie Zyxel nie ?
- jeśli tak, to, czy Twoja pomyślna próba wyłączenia Zyxela (ssh root@192.168.1.20 poweroff) zrobiona była z SERWERA (bezpośrednio w terminalu na serwerze) ?
Tak jak napisałem niczego innego nie zmieniam oprócz tego co podajesz lub wskazujesz żeby zmienić. Jak pewnie zauważyłeś to czasami za mało zmieniam.:)

- skopiowałem (powieliłem) 480Mb do innego katalogu.
- testu nie wykonałem (bo Zyxel po zmianach nie uruchomił się)
- serwer po zrobieniu backupa nie wyłącza się i Zyxel tez się nie wyłącza
- próba wyłączenia odbywała się pośrednio z serwera poprzez VNC. Spróbuje jeszcze wykonać to bezpośrednio z serwera.

TataPingu

Cytat: sebekoo w Kwiecień 08, 2019, 08:56:11 AM
- serwer po zrobieniu backupa nie wyłącza się i Zyxel tez się nie wyłącza

Zrestartowałeś przedtem serwer, jak zalecałem ?

Zobacz najnowsze wiadomości na forum