Bitcoin Forum
November 07, 2024, 07:02:22 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: [risolto] Watchdog su linux rig, consigli?  (Read 2964 times)
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 02:43:46 PM
 #21

Per rc.local ti basta mettere, prima del "touch" il comando da lanciare (per esempio) :

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/etc/init.d/watchdog start

touch /var/lock/subsys/local





FaSan
pink (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 17, 2013, 03:36:53 PM
 #22

Per rc.local ti basta mettere, prima del "touch" il comando da lanciare (per esempio) :

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/etc/init.d/watchdog start

touch /var/lock/subsys/local

FaSan

Ok, questo non funziona (sto provando su debian)
Disabilitato il watchdog al boot.
Aggiunto il watchdog al rc.local secondo la tua linea ma non succede nulla (nel mio file cmq non era presente touch, ma exit 0 e basta).
Se avvio il watchdog a mano dal terminale e la connessione non è attiva, il reboot avviene correttamente

Proviamo un po' quella cosa dei link rc3.d

EDIT:
cambiando la linea in rc.local da
Code:
/etc/init.d/watchdog start
a
Code:
watchdog start

Il pc torna in un loop di reboot infinito.
Suppongo che quindi il watchdog parta, ma anche stavolta troppo presto rispetto allo stabilirsi della connessione internet.
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 03:58:06 PM
 #23

Sarebbe utile a questo punto sapere come lanci la connessione. Hai parlato di una chiavetta 3G quindi dovrebbe esserci un demone PPPd


pink (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 17, 2013, 04:04:23 PM
 #24

Sarebbe utile a questo punto sapere come lanci la connessione. Hai parlato di una chiavetta 3G quindi dovrebbe esserci un demone PPPd

A boh.
Ho configurato la chiavetta, inserito i parametri di connessione, settato disponibile per tutti gli utenti e "connetti automaticamente".
Impostazione di base di network manager.

All'avvio, appena compare il desktop dopo qualche secondo la chiavetta si logga e la connessione diventa disponibile.
Il reboot con il watchdog avviene "ore prima" che si presenti il desktop.
Non ci arrivo nemmeno a vederlo il desktop Smiley

Ho idea che anche rc3.d lavori troppo d'anticipo ma ora provo cmq.
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 04:18:26 PM
 #25

Sarebbe utile a questo punto sapere come lanci la connessione. Hai parlato di una chiavetta 3G quindi dovrebbe esserci un demone PPPd

A boh.
Ho configurato la chiavetta, inserito i parametri di connessione, settato disponibile per tutti gli utenti e "connetti automaticamente".
Impostazione di base di network manager.

All'avvio, appena compare il desktop dopo qualche secondo la chiavetta si logga e la connessione diventa disponibile.
Il reboot con il watchdog avviene "ore prima" che si presenti il desktop.
Non ci arrivo nemmeno a vederlo il desktop Smiley

Ho idea che anche rc3.d lavori troppo d'anticipo ma ora provo cmq.


Mah direi che non serve. RC.LOCAL è l' ultimo ad essere eseguito. Quindi anche con RC3.d non risolvi.

Non c'è un parametro di delay direttamente dentro la configurazione watchdog ?
bertani
Legendary
*
Offline Offline

Activity: 1022
Merit: 1000



View Profile
July 17, 2013, 04:30:19 PM
 #26

Un giorno qualcuno dovrà spiegarmi perché con linux è sempre tutto così complicato Smiley

Linux non è affatto complicato, anzi è molto semplice.. questo non significa che sia facile Smiley
Certo è che tutte le cose che in Linux ti sembrano difficili, su altri OS nemmeno le puoi fare o comunque non con lo stesso livello di personalizzazione+sicurezza.

Per quanto riguarda il blocco del modem anche a me capitava (modem 3g) che si disconnettesse (e non sembrava esserci modo di riconnetterlo senza riavviare), ho risolto con uno script che ogni minuto controllava se c'era internet o meno e in caso negativo, tramite uno script che faceva delle apposite chiamate al kernel, emulava la disconnessione/riconnessione fisica del modem che tornava poi ad essere funzionale (e quindi poi lo riconnetteva a internet).
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 04:37:29 PM
 #27

Un giorno qualcuno dovrà spiegarmi perché con linux è sempre tutto così complicato Smiley

Linux non è affatto complicato, anzi è molto semplice.. questo non significa che sia facile Smiley
Certo è che tutte le cose che in Linux ti sembrano difficili, su altri OS nemmeno le puoi fare o comunque non con lo stesso livello di personalizzazione+sicurezza.

Per quanto riguarda il blocco del modem anche a me capitava (modem 3g) che si disconnettesse (e non sembrava esserci modo di riconnetterlo senza riavviare), ho risolto con uno script che ogni minuto controllava se c'era internet o meno e in caso negativo, tramite uno script che faceva delle apposite chiamate al kernel, emulava la disconnessione/riconnessione fisica del modem che tornava poi ad essere funzionale (e quindi poi lo riconnetteva a internet).


In effetti è più semplice. Piccolo script lanciato da crontab, con verifica ogni minuto.

Dovrei avere da qualche parte... muble muble.. un piccolo applicativo che spegne fisicamente la porta USB e la riaccende. Te lo trovo e te lo mando.




FaSan
pink (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 17, 2013, 04:46:40 PM
 #28

Mah direi che non serve. RC.LOCAL è l' ultimo ad essere eseguito. Quindi anche con RC3.d non risolvi.

Lo sospettavo.

Quote
Non c'è un parametro di delay direttamente dentro la configurazione watchdog ?

c'è interval = <interval>

    Set the interval between two writes to the watchdog device. The kernel drivers expects a write command every minute. Otherwise the system will be rebooted. Default value is 10 seconds. An interval of more than a minute can only be used with the -f command-line option.

Dici che può fare al caso nostro?

Per quanto riguarda il blocco del modem anche a me capitava (modem 3g) che si disconnettesse (e non sembrava esserci modo di riconnetterlo senza riavviare)

Si, stessa cosa capita anche a me. Forse le chiavette non sono fatte per continuare a funzionare interrottamente. Poi ogni tanto l'operatore 3 riavvia la rete (di solito a notte fonda) e li salta la connessione.

Quote
ho risolto con uno script che ogni minuto controllava se c'era internet o meno e in caso negativo, tramite uno script che faceva delle apposite chiamate al kernel, emulava la disconnessione/riconnessione fisica del modem che tornava poi ad essere funzionale (e quindi poi lo riconnetteva a internet).

E condividi i dettagli di questo script bertani, non essere avido Tongue
Io tolgo le chiamate al kernel, ci metto il reboot e ho sistemato.
(sul rig ho anche hamachi, visto che la connessione della 3 è nattata e hamachi non torna up dopo la disconnessione senza fare reboot)

Linux non è affatto complicato, anzi è molto semplice.. questo non significa che sia facile Smiley

Aspé, vuoi ridere?
Ho cercato di settare in modo permanente la time zone e il cambio d'ora... e ho fallito più e più volte.
Prima di scoprire che non basta settarla, bisogna anche dare il comando per scriverla nel cmos...
Non mi pare proprio semplice Tongue

FaSan, se condividi anche tu i dettagli dello script, magari mixandoli risolvo Smiley
In ogni caso ringrazio entrambi Smiley

FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 04:51:33 PM
 #29

Allora... non testato ma dovrebbe andare...

prima di tutto lanci un "ifconfig" con la connessione attiva, e vedi il nome dell' interfaccia 3G creata (per esempio 3G-PPP), poi lanci un lsusb per identificare il device della chiavetta (ipotizziamo 1.3.5), configura lo script :


#!/bin/bash
t1=$(ifconfig | grep -o 3G-PPP)
t2='3G-PPP'

if [ "$t1" = "$t2" ]; then
  exit
else
  echo suspend > /sys/bus/usb/devices/1-3.5/power/level
  sleep 2
  echo on > /sys/bus/usb/devices/1-3.5/power/level
  sleep 2
  ifup 3G-PPP
fi

exit


salva in /root/check3g.sh, poi in crontab così :

*/1 * * * * root /root/check3g.sh



Facci sapere ;-)




FaSan
FaSan
Hero Member
*****
Offline Offline

Activity: 658
Merit: 502



View Profile
July 17, 2013, 04:54:48 PM
 #30

Lancialo prima a mano prima di configurarlo in crontab. Anzi lo farei controllare ogni 5 minuti invece di ogni minuto, perchè il crontab parte sicuramente prima della tua connessione eheh


FaSan
pink (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 18, 2013, 11:32:37 AM
 #31

Risolto Smiley
Svolgo tutti i passaggi così torna utile anche a qualcun altro in futuro.
Allora:
Code:
sudo apt-get install watchdog
E così sono a posto nel caso di eventuali crash del sistema.
Avvio al boot, nessun ping visto che il watchdog fa casino quando si tratta di controllare la connessione internet.

Poi, scopiazzando un po' qua e la e imparando ad usare crontab:

Code:
sudo mkdir /opt/check_lan
sudo nano /opt/check_lan.sh

Code:
#!/bin/sh

    # cron script for checking wlan connectivity
    # change 8.8.8.8 to whatever IP you want to check.
    IP_FOR_TEST="8.8.8.8"
    PING_COUNT=1

    PING="/bin/ping"
    IFUP="/sbin/ifup"
    IFDOWN="/sbin/ifdown --force"

    INTERFACE="eth0"

    FFLAG="/opt/check_lan/stuck.fflg"

    # ping test
    $PING -c $PING_COUNT $IP_FOR_TEST > /dev/null 2> /dev/null
    if [ $? -ge 1 ]
    then
        logger "$INTERFACE seems to be down, trying to bring it up..."
            if [ -e $FFLAG ]
            then
                    logger "$INTERFACE is still down, REBOOT to recover ..."
                    rm -f $FFLAG 2>/dev/null
                    sudo reboot
            else
                    touch $FFLAG
                    logger $(sudo $IFDOWN $INTERFACE)
                    sleep 10
                    logger $(sudo $IFUP $INTERFACE)
            fi
    else
    #    logger "$INTERFACE is up"
        rm -f $FFLAG 2>/dev/null
    fi

salvare, uscire, rendere eseguibile

Code:
sudo nano /etc/crontab
*/3 * * * * root /opt/check_lan.sh >/dev/null

Salvare e uscire.
Ogni 3 minuti controlla l'ip del dns di google e se non è pingabile, riavvia.
usando eth0 funziona per qualsiasi connessione, sia wlan0 che la chiavetta internet 3g.
Ho messo ogni tre minuti perché il riavvio avviene in un possibile arco di tempo x2.
Se la connessione cade proprio dopo il primo controllo, devono passare 3 minuti prima che controlli di nuovo e poi altri tre minuti perché confermi il down e inizializzi il riavvio.

Nel mio caso volevo proprio il riavvio perché, quando muore la chiavetta, hamachi anche se ritorna la connessione non torna UP.


Grazie a tutti!

jimmy3dita
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 19, 2013, 12:50:49 PM
 #32

Ragazzi discussione interessante, se io metto il codice per il relè e la LAN di un Arduino, qualcuno ha voglia di mettere insieme uno script che esegue shutdown + stacco del relè per fare il reboot?

Posso scrivere tranquillamente una guida per gestire la parte hardware (saldature, ponticelli, cose da comprare ecc) Smiley

Acquista il mio libro "Investire Bitcoin": clicca qui
pink (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 19, 2013, 04:17:09 PM
 #33

Ragazzi discussione interessante, se io metto il codice per il relè e la LAN di un Arduino, qualcuno ha voglia di mettere insieme uno script che esegue shutdown + stacco del relè per fare il reboot?

Posso scrivere tranquillamente una guida per gestire la parte hardware (saldature, ponticelli, cose da comprare ecc) Smiley

Vedo già un possibile progetto su kickstarter.
"bitcoin hardware watchdog"
Un piccolo hardware specializzato solo per il mining, script più arduino.
Secondo me avresti tanti acquirenti quanti minatori GPU Tongue


Piuttosto, domanda en passant.
Su linux c'è un watchdog software che riavvia il pc quando una scheda è sick?

In alternativa, ogni quando impostate un reboot automatico per ovviare a problemi tipo crash dei driver che su linux sto notando sono un po' instabili?

Io pensavo "per sicurezza" ogni sei ore, così da far riposare anche le schede per qualche secondo (cgminer nn prevede pause programmate sfortunatamente).
Ma forse 6 ore sono pochine, 12? 24? una sett?
Ho letto di qualcuno che lo lascia acceso 24/7 anche per un mese... cosa che mi sconvolge assai.
gdassori
Hero Member
*****
Offline Offline

Activity: 980
Merit: 1002



View Profile
July 20, 2013, 12:17:13 AM
 #34


Ho letto di qualcuno che lo lascia acceso 24/7 anche per un mese... cosa che mi sconvolge assai.

Yo ! Grin Grin Grin

jimmy3dita
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 20, 2013, 08:09:17 AM
 #35


Ho letto di qualcuno che lo lascia acceso 24/7 anche per un mese... cosa che mi sconvolge assai.

Yo ! Grin Grin Grin

Il mio Raspberry pi se non fosse per la corrente che ognitanto va via con i temporali tira da più di due mesi i miei Lancelot senza il minimo problema, basta metterlo in verticale per raffreddare anche "il lato b".

Anche il mio rig con le 5850 girava h24 (tutto il mese di aprile) poi per tenere bassa la botta l'ho programmato per minare solo dalle 19 alle 7. Comunque ho speso altri 100 euro solo di dissipatori "da overclock", in modo da tenere le ventole basse (ne beneficia anche il deposito di polvere)

Acquista il mio libro "Investire Bitcoin": clicca qui
Stemby
Legendary
*
Offline Offline

Activity: 2450
Merit: 1008



View Profile
July 20, 2013, 09:36:48 AM
 #36

Ragazzi discussione interessante, se io metto il codice per il relè e la LAN di un Arduino, qualcuno ha voglia di mettere insieme uno script che esegue shutdown + stacco del relè per fare il reboot?

Posso scrivere tranquillamente una guida per gestire la parte hardware (saldature, ponticelli, cose da comprare ecc) Smiley
Domanda da lettore incuriosito senza essere minatore: perché volete aggiungere dell'hardware (e quindi un consumo di materia e di energia, oltre che di denaro per l'acquisto e di tempo per l'assemblaggio) quando un watchdog hardware (che è ciò che volete ottenere) è già integrato nel Raspberry Pi? (vedansi risposte di bersani)


Ciao!

“…virtual currencies, could have a substitution effect on central bank money if they become widely accepted.”
ECB Report, October 2012
jimmy3dita
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 20, 2013, 09:44:48 AM
 #37

Nel mio caso perché a volte occorre riavviare anche gli fga e il router che hanno alimentazione esterna.

Acquista il mio libro "Investire Bitcoin": clicca qui
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!