Con quale frequenza riavviare lampone ed è anche necessario


19

Se hai un lampone in qualche posizione e deve eseguire uno script Python "per sempre" (un anno, forse due, senza che io sia sul posto), con quale frequenza dovrei riavviarlo? So che le persone li tengono in vita per un anno +, ma ho scritto un semplice script che può riavviarlo in un dato momento + raspberry eseguirà automaticamente lo script Python all'avvio.


1
Perché riavviare se non è necessario? Ci sono momenti in cui potrebbe essere necessario un riavvio, ad esempio aggiornamenti del sistema. ma se questo non è automatizzato non riavvierei. Un riavvio non è esente dal rischio che il sistema non si riavvii correttamente.
Steve Robillard,

Quello che gestisco 24 ore su 24, 7 giorni su 7, ha un uptime di 67 giorni in questo momento, il che probabilmente non è insolito. Lo riavvio solo per uno scopo. Come dice Steve, perché farlo senza alcuno scopo?
riccioli d'oro

4
Nel contesto del supporto IT, presumibilmente si intende che "nel 90%" dei problemi aiuta il riavvio. Non chiameresti un cliente a caso e gli dirai di riavviare ora per ogni evenienza;)
goldilocks

1
Registrazione dati 24/7 su Arch, tempo di attività corrente 260 d. Di solito il riavvio porta a problemi;)
Ghanima

2
Basta controllare i log e altri file in crescita: logrotate lo farà. Le schede SD hanno una durata limitata sull'attività del disco pesantemente caricato, forse spostare / root per utilizzare unità di filatura esterna. Ho aggiunto un led lampeggiante in sincronia con cron e un rosso che si illuminava quando lo spazio su disco era insufficiente e altro che si illuminava con alcune informazioni del registro di sicurezza, riducendo al minimo rsyslog.
fcm

Risposte:


25

Ho un paio di Pis che eseguono il mio ripetitore Ham Radio e il sistema di irrigazione - realisticamente, li riavvio forse una volta ogni 6 mesi per aggiornamenti di sicurezza o qualche altro motivo di "manutenzione"; ma non ho riscontrato problemi in cui è stato richiesto un riavvio per "mantenere le cose in esecuzione"


25

In termini di hardware , l'unica ragione per cui dovresti mai aver bisogno di riavviare una scheda ARMHF-y sono le modifiche del firmware, le modifiche necessarie alla ROM o eventualmente nuovi dispositivi che devono essere presenti all'avvio.

Ad esempio, aggiungere un driver o un modulo kernel vicino al metallo e un dispositivo che implementa quel driver probabilmente avrà bisogno di un riavvio, solo per dire alla CPU e al mappatore di memoria del kernel la modifica. È possibile aggiornare il kernel Linux senza riavviare .

In termini di software , tutti i principali ambienti di elaborazione disponibili per il Pi sono * nix-like 1 , in quanto sono True Unix ™ o in quanto usano Linux o un derivato Linux e sono quindi (U) nix-y.

Unix e i suoi derivati ​​sono progettati dal bootloader fino alla userland per essere completamente scalabili, portatili e affidabili; sono stati progettati per server che non subiscono mai o quasi mai un hard reset (ovvero sono completamente spenti e avviati a freddo da zero) e, in misura minore, dispositivi integrati esattamente come Raspberry Pis. Di conseguenza, questi obiettivi si applicano effettivamente al Pi.

Ciò significa in pratica che in pratica non è necessario riavviare Pi (o il PC desktop * nix).


1 Ignorando, per un momento, Microsoft Windows 10: Internet Of Things Edition per il Pi, che vorrei essere uno scherzo pratico ma non lo è.


2
Grazie per il tuo 2c, mi ha aiutato molto, ora sono sicuro che non riavvierò mai il mio PI.
Rok Dolinar,

Gli aggiornamenti dei moduli del kernel / dispositivo sono le uniche cause probabili della necessità di riavviare se l'hardware non sta cambiando - ed è possibile cambiare i moduli senza riavviare in questi giorni se capisco correttamente le cose.
SlySven

@SlySven puoi cambiare i moduli senza riavviare, ma non fare affidamento sul fatto che siano perfettamente funzionanti e non distruttivi
cat

1
Riavvia NT una volta al mese? Come ti viene in mente ?!
Max Ried il

1
@ pjc50 Wow, non avevo capito che ci sarebbero state versioni più recenti per questo. Mentre mi sbagliavo, so che Win10 IoT è lo stesso core di Win10 e non CE :)
Matthew Steeples

3

Con i sistemi "run forever" integrati, i riavvii periodici non sono necessari. È comune utilizzare un timer watchdog hardware per rilevare un blocco del sistema e il riavvio. Credo che il timer del watchdog sia più prezioso di un riavvio periodico (il riavvio probabilmente non funzionerà se il sistema è bloccato).


0

Sono d'accordo con le cose scritte prima. In una situazione teorica con un software scritto in modo eccellente con una perfetta gestione degli errori, nessuna perdita di memoria ..., un riavvio non sarà necessario.

Ho più di 50 PI (tutti PI 3) sul sito, e alcuni vengono riavviati settimanalmente e altri mai ... Quasi tutti i PI vengono utilizzati in modalità kiosk, sia per riprodurre video, visualizzare un sito Web, eseguire script, ... L'esperienza dell'utente è importante per me e non posso permettermi di avere un PI in errore. Ho un cane da guardia installato su tutti.

Sul mio sito, sto usando il seguente approccio (questo è solo usando la mia esperienza, nessun background scientifico :-))

  • I PI che eseguono server (Apache, SIP, ...) e sono collegati solo con un cavo Ethernet: non li riavvio mai, alcuni di essi hanno un tempo di attività di quasi 2 anni (anzi, non li ho aggiornati)!

  • al contrario, PI che eseguono videoloops (usando OMXPlayer): riavvio quei dispositivi settimanalmente. Ho provato a non riavviarli affatto, ma ho scoperto che occasionalmente il video si blocca senza che nemmeno il cane da guardia se ne accorga. Quindi si vedrebbe un'immagine fissa sullo schermo. Direi che per un periodo di un mese c'era - per ciascuno dei dispositivi - circa il 50% di probabilità che il video si congelasse una volta, Per ridurre al minimo quei rischi, ho deciso di riavviare una volta alla settimana e i risultati sono accettabili: così lontano, dopo un anno di riavvii settimanali, ho avuto solo 2 blocchi (blocco dell'immagine, nessun blocco PI). Naturalmente mi piacerebbe anche eliminare quelli, ma questo è un altro argomento. Per quelli, non mi interessa l'impatto di un riavvio sulla scheda SD, poiché, se ciò dovesse accadere, sta semplicemente inserendo una nuova scheda SD e aggiorna il modello con il video giusto.

  • PI che sono in modalità client e visualizzano contenuti utente basati sul web (usando Chromium, KWeb, ...) con interazione dell'utente (principalmente touchscreen e / o pulsanti): li riavvio ogni mese e finora non ho avuto problemi. Forse non è stato necessario riavviarli ... ma dato che quei dispositivi eseguono script (Java, Node.js) e ottengono input da altri dispositivi, ho pensato che a un certo punto potrebbe essere necessario un riavvio, quindi ho deciso di andare per un mese riavvio.

Mi rendo conto che questo non sta dando una risposta diretta alla tua domanda, ma volevo solo condividere alcune esperienze personali in modo che tu possa, insieme alle altre risposte, giudicare quale sarebbe l'approccio migliore per il tuo progetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.