Come posso prolungare la vita della mia scheda SD?


251

Non sono così entusiasta di acquistare un disco rigido USB, ma sono consapevole che le schede SD non sono adatte a molte ripetizioni di lettura e scrittura.

Ci sono dei passaggi che posso fare per prolungare la durata della mia scheda SD mentre viene utilizzata dal mio Raspberry Pi?


19
Se ci scrivi ad alta velocità tutto il giorno, giorno e notte, 24 ore su 24, 7 giorni su 7, una durata di 16 GB durerà circa 30 giorni. A un normale utilizzo ci si può aspettare circa 27 anni sulla base di 10.000 cicli di scrittura. Se utilizza 100.000 cicli di scrittura nell'arco di 50 anni. Più grande è la carta più a lungo durerà grazie all'intelligente logica di livellamento dell'usura
Piotr Kula

Wow, è fantastico da sapere, non avevo idea del tuo primo punto di 16 gb di durata di 30 giorni con la scrittura a tutta velocità. Suppongo che registrare costantemente video su SD e poi trasferirlo non sia la migliore idea.
SSH Questo

3
Con tutti i successi prestazionali che otterrai da queste soluzioni, perché non pagare $ 10 ogni pochi anni?
Alexander

Risposte:


243

Questi metodi dovrebbero aumentare la durata della scheda SD riducendo al minimo il numero di letture / scritture in vari modi:

Disabilita lo scambio

Lo scambio è il processo di utilizzo di parte della scheda SD come memoria volatile. Ciò aumenterà la quantità di RAM disponibile, ma comporterà un numero elevato di letture / scritture. È improbabile che aumenti significativamente le prestazioni.

Disabilita lo scambio con il swapoffcomando:

sudo swapoff --all

È inoltre necessario impedire che ritorni dopo un riavvio:

  • Per Raspbian che utilizza dphys-swapfile per gestire un file di scambio (invece di una partizione di scambio "normale") puoi semplicemente sudo apt-get remove dphys-swapfilerimuoverlo permanentemente. È meglio rimuoverlo perché l'impostazione CONF_SWAPSIZEsu 0, come spiegato in questa risposta , non sembra funzionare e crea comunque un file di scambio da 100 MB dopo il riavvio.
  • Per altre distribuzioni che utilizzano una partizione di swap anziché un file di swap, rimuovere la riga appropriata da /etc/fstab

Disabilitazione del journaling sul filesystem

L'uso di un file system di journaling come ext3o ext4WITHOUT a journal è un'opzione per ridurre le letture / scritture. L'ovvio svantaggio dell'uso di un filesystem con journaling disabilitato è la perdita di dati a causa di uno smontaggio ingrato (ad es. Interruzione dell'alimentazione, blocco del kernel, ecc.).

È possibile disabilitare l'inserimento nel journal ext3montandolo come ext2.

È possibile disabilitare l'inserimento nel journal su ext4un'unità non montata come questa:

tune4fs -O ^has_journal /dev/sdaX
e4fsck –f /dev/sdaX
sudo reboot

The Noatime Mount Flag

Assegna il flag di montaggio noatime alle partizioni residenti sulla scheda SD aggiungendolo alla sezione delle opzioni della partizione in /etc/fstab.

La lettura degli accessi al file system non comporterà più un aggiornamento delle informazioni atime associate al file. L'importanza dell'impostazione noatime è che elimina la necessità da parte del sistema di scrivere sul file system per i file che vengono semplicemente letti. Poiché le scritture possono essere un po 'costose, come indicato nella sezione precedente, ciò può comportare miglioramenti misurabili delle prestazioni. Si noti che le informazioni sul tempo di scrittura su un file continueranno ad essere aggiornate ogni volta che il file viene scritto con questa opzione abilitata.

Directory nella RAM

Directory molto utilizzate come /var/tmp/ed eventualmente /var/logpossono essere trasferite nella RAM in /etc/fstabquesto modo:

tmpfs /var/tmp tmpfs nodev,nosuid,size=50M 0 0

Ciò consentirà /var/tmpdi utilizzare 50 MB di RAM come spazio su disco. L'unico problema è che le unità montate nella RAM non persistono oltre il riavvio. Pertanto, se si monta /var/loge il sistema rileva un errore che ne provoca il riavvio, non sarà possibile scoprirne il motivo.

Directory nel disco rigido esterno

È inoltre possibile montare alcune directory su un disco rigido USB persistente. Maggiori dettagli su questo possono essere trovati in questa domanda .

Il Raspberry Pi può anche avviare la partizione di root da un'unità esterna. Questo potrebbe avvenire tramite USB o Ethernet e significa che la scheda SD verrà utilizzata solo per delegare a dispositivi diversi durante l'avvio. Ciò richiede un po 'di hacking del kernel da eseguire, poiché non credo che il kernel predefinito supporti l'archiviazione USB. Puoi trovare maggiori informazioni a questa domanda o in questo post di blog esterno .


17
noatimedovrebbe essere un valore predefinito.
Alex Chamberlain,

3
@AlexChamberlain: noatimenon è predefinito, almeno su Arch.
Jivings,

20
È nelle ultime build di Raspian.
Oli,

4
Secondo questo: superuser.com/a/168126/105936 non è una grande idea /var/tmpda ricordare. Forse l'hai confuso /tmp.
inf3rno,

1
Nota che se noatimeti causano problemi, puoi anche usare ciò relatimeche riduce significativamente le scritture del disco in lettura piuttosto che rimuoverle del tutto.
Mark Booth,

79

Se le opzioni fornite da Jivings non sono possibili per la tua applicazione, un'altra opzione per estenderne sostanzialmente la durata è quella di utilizzare una scheda SD che è molto più grande del necessario.

Lascia un sacco di spazio libero

La maggior parte delle schede SD decenti utilizza algoritmi di livellamento dell'usura per ridurre al minimo il numero di volte in cui viene scritto ogni blocco, quindi se la scheda SD è più grande del necessario, l'usura può essere distribuita su un'area molto più ampia di spazio libero.

Parte del motivo per cui il livellamento dell'usura è così importante è che alcuni file system, come FAT (il formato predefinito per molte schede SD), martellano ripetutamente gli stessi settori.

Per ulteriori informazioni al riguardo, vedere le risposte alla domanda È vero che una scheda SD / MMC si consuma durante il livellamento con il proprio controller? su Electronics Stack Exchange , in particolare questa risposta .

Una statistica interessante da questa risposta è quella

prendere una scheda da 2 GB e scriverla inizia a finire più e più volte in media circa 10 TB prima che la carta sia morta e non sia più scrivibile.

Ma la cosa preoccupante è quella

Le schede SD non ti faranno sapere quando i dati sono cattivi, cioè non restituiranno un errore I / O come farà un hard disk del PC.

Ciò può rendere importante la scelta del file system se è necessario garantire un'archiviazione affidabile.

Un'ultima nota: raddoppiare le dimensioni della scheda SD potrebbe più che raddoppiarne la longevità.

Vale a dire se si dispone di una scheda SD da 2 GB con 200 MB liberi, il passaggio a una scheda da 4 GB ti darà 11 volte lo spazio libero, indosserà la capacità di livellamento e quindi la longevità, mentre il passaggio a una scheda da 16 GB ti darà 71 volte il libero spazio.


Per consentire alla scheda SD di eseguire il livellamento dell'usura in primo luogo, è necessario dire quali blocchi sono effettivamente liberi di usare per quello. fstrim potrebbe aiutare a farlo.
JimmyB,

Il trim non è necessario, ma senza di esso un blocco viene riutilizzato solo quando il sistema operativo riutilizza un blocco anziché quando smette di usarlo. Per quanto ne so trim è una funzione SSD e non è supportato da schede SD a cui si accede da un protocollo molto più semplice.
Mark Booth,

@Mark, il tuo primo punto è esattamente giusto. - Per quanto riguarda il tuo secondo punto, c'è il MMC_ERASEcomando (opzionale) definito da qualche parte nello standard MMC / SD proprio per questo scopo. Anche se di tutte le schede SD ho provato solo una (-la fornita con il mio Pi-) la supporta effettivamente.
JimmyB,

Le dimensioni della partizione sono importanti in questo caso? Voglio dire, se ho una scheda da 16 GB e un sistema con una partizione ext4 unica da 4 GB, sfrutterà anche i restanti 12 GB per il livellamento dell'usura?
natenho,

È difficile dire a @natenho sì per una scheda SD con un buon livello di usura, no per una con un'implementazione scadente (o no).
Mark Booth,

25

L'unica cosa che vedo è di NON scambiare sulla scheda SD.

Lo scambio sulla scheda SD è probabilmente ciò che potrebbe uccidere la scheda SD.

Se hai bisogno di più RAM, puoi provare a usare zram, c'è un post su http://raspberry.pi.gw.gd/t50-Using-ZRAM.html che fornisce alcuni dettagli sull'uso di ZRAM sul raspberry pi

Maggiori informazioni su zram su http://it.wikipedia.org/wiki/ZRam

Anche le più recenti schede SD sono note per essere molto più solide di quelle precedenti, l'acquisto di una nuovissima scheda SD di classe 10 è probabilmente una buona opzione se vuoi vederla durare a lungo.


14

Potresti provare a eseguire Puppy Linux, completamente residente in ram. È molto piccolo e incredibilmente veloce poiché viene eseguito completamente in memoria copiando l'immagine di archiviazione (sulla scheda SD nel tuo caso) nella RAM all'avvio e quindi ripristinando periodicamente le modifiche nella memoria. La frequenza di questo salvataggio è controllata dall'utente incluso manualmente.

Puppy usa l'auf stratificato o il vecchio filesystem unionfs con uno qualsiasi dei filesystem Linux standard come ext3 o ext4. Può anche risiedere su partizioni FAT o NTFS.

Esistono almeno un paio di versioni di Puppy appositamente progettate per l'RPi, una delle quali creata dal "Puppy Master", Barry Kauler.

Per di più, vai su http://puppylinux.org/wikka/Puppi


12

La maggior parte delle persone qui parla dei propri presupposti e non dell'esperienza personale.

Ho usato il mio RaspberryPi con RasPBX come centralino aziendale con 8 interni e un fax. Abbiamo 3 trunk basati su ip e un telefono fisso tramite LinkSYS SPA3000. Ci è voluto solo 1 mese per la mia SDCard Kingston da 4 GB iniziale per mordere la polvere.

Stavo ancora sperimentando e non avevo un backup. A proposito il Pi è collegato a un UPS APC. Ho quindi reinstallato l'intero RasPBX da zero, ma questa volta ho spostato / var / log e / var / lib / mysql sul nostro NAS aziendale. Questa SD era ancora OK dopo 3 mesi.

Poi abbiamo avuto un'estate molto calda. Durante il terzo mese, il pi ha iniziato a non rilevare il bluetooth all'improvviso. Poi un giorno ho scoperto che tutti i LED sono deboli e non si avvia.

Ho sostituito il Pi con uno nuovo fuori dagli schemi funzionante. Quello fuori servizio ha iniziato a funzionare dopo il raffreddamento, ma funziona in modo piuttosto irregolare e quando si avvia RasPBX la modalità video non passa alla grafica, rimane in 80 * 25 testo. Era davvero incasinato. Da allora ho ordinato un set di dissipatori di calore. Il nuovo Pi lavora con esso ora per più di 2 mesi 7/24.

Quindi, se utilizzerai pi in un ambiente 7/24, non essere economico: acquista un dissipatore di calore ed evita di usare / var / log e altre directory occupate sulla SD CARD.


Assicurarsi che var / log sia su un dispositivo adatto suona come un consiglio eccellente. Per interesse, in quel primo mese problematico, stavi anche memorizzando caselle di posta vocale sulla carta USD? Mi chiedo solo se le schede uSD ad alta resistenza come quelle progettate per l'uso di Dash Cam potrebbero essere migliori per la mia distribuzione RasPBX se decido di abilitare le caselle di posta vocale.
Mark Booth,

11

Ho confrontato tutte le soluzioni con l'utilità TMPFS e la risposta migliore è una sintesi dello script prepar-dirs (vedi http://grenzdebiel.dyndns.org/wordpress/?p=98 ) con un corretto / etc / defaults / tmpfs ( (vedi http://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/ ).

I passaggi necessari per eseguire su raspbian sono:

1. modifica /etc/default/tmpfse imposta :

RAMLOCK=yes
RAMSHM=yes
RAMTMP=yes

Consiglierei le seguenti dimensioni:

TMPFS_SIZE=10%VM
RUN_SIZE=10M
LOCK_SIZE=5M
SHM_SIZE=10M
TMP_SIZE=25M

2. abilitare ulteriori directory usando / etc / fstab

tmpfs   /var/log                tmpfs   size=20M,defaults,noatime,mode=0755 0 0 
tmpfs   /var/cache/apt/archives tmpfs   size=100M,defaults,noexec,nosuid,nodev,mode=0755 0 0
tmpfs   /var/spool/cups         tmpfs   size=100M,defaults,noatime,mode=0755 0 0
tmpfs   /var/spool/cups/tmp     tmpfs   defaults,noatime,mode=0755 0 0

3. utilizzare lo script /etc/init.d/prepare-dirsper creare directory mancanti in /var/logmodo che tutti i demoni vengano avviati

Vedi alla fine cosa contiene nel mio caso.

4. Rendere eseguibile lo script chmod 755 /etc/initd/prepare-dirs.

5. Assicurati che lo script verrà avviato prima all'avvio prima che i tuoi demoni inizino: update-rc.d prepare-dirs defaults 01 99

contenuto di /etc/init.d/prepare-dir:

#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          prepare-dirs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Required-Start:
# Required-Stop:
# Short-Description: Create needed directories on /var/log/ for tmpfs at startup
# Description:       Create needed directories on /var/log/ for tmpfs at startup
### END INIT INFO
# needed Dirs
DIR[0]=/var/log/lighttpd
DIR[1]=/var/log/cups
DIR[2]=/var/log/apt
DIR[3]=/var/log/ConsoleKit
DIR[4]=/var/log/fsck
DIR[5]=/var/log/news
DIR[6]=/var/log/ntpstats
DIR[7]=/var/log/samba
DIR[8]=/var/log/lastlog
DIR[9]=/var/log/exim
DIR[10]=/var/log/watchdog
case "${1:-''}" in
  start)
        typeset -i i=0 max=${#DIR[*]}
        while (( i < max ))
        do
                mkdir  ${DIR[$i]}
                chmod 755 ${DIR[$i]}
                i=i+1
        done
        # set rights
        chown www-data.www-data ${DIR[0]}
    ;;
  stop)
    ;;
  restart)
   ;;
  reload|force-reload)
   ;;
  status)
   ;;
  *)
   echo "Usage: $SELF start"
   exit 1
   ;;
esac

Questo è tutto.


Puppy Linux utilizza TMPFS anche per tutto.
DocSalvager,

7

Disabilita Swapfile:

sudo dphys-swapfile swapoff

Non è necessario disinstallarlo, tuttavia se non lo si utilizza e si desidera lo spazio, è possibile rimuoverlo in modo sicuro. Comando alternativo per rimuovere:

disinstallazione di sudo dphys-swapfile

Utilizzo: / sbin / dphys-swapfile {setup | swapon | swapoff | uninstall}


5

Resistenza della cella flash:

  • Per flash MLC (Multi-Level Cell), fino a 10.000 cicli di scrittura per settore fisico.
  • Per flash SLC (Single-Level Cell), fino a 100.000 cicli di scrittura per settore fisico.
  • I nuovi SSD offrono 1 milione di cicli di scrittura per settore fisico.

È puramente matematico su carte di grandi dimensioni e normale usura. Se dovessi scrivere su una scheda flash MLC da 8 GB giorno e notte più e più volte, occorrerebbero circa 30 giorni per ucciderlo.

L'episodio 99 di Techsnap parla dell'usura di SSD e Allen spiega come sia impossibile consumare un SSD nell'uso quotidiano e non dobbiamo preoccuparci di disabilitare swap, cron e tutto il resto. Funziona proprio ora! Il livellamento intelligente dell'usura si prende cura di tutto.

L'usura normale indicata da Kingston dovrebbe darti 27 anni di vita per la vita in una fotocamera digitale professionale.

Che per le normali fotocamere DSLR potresti riempire una volta ogni pochi mesi .. dipende da quanto viaggi. Prendendo in considerazione un Pi, se si sperimenta l'assegnazione e il ri-flash spesso, potrebbe richiedere più di un pedaggio. Di solito, una volta che sei soddisfatto di una distribuzione ... non la ripeti per mesi o anni. Quindi per prolungare l'usura della SD sarebbe bene seguire alcuni consigli su come ridurre l'IO sulla SD.

Il prezzo del flash è diminuito e la tecnologia è molto migliore.

La maggior parte delle schede SD sopravviverà a due o tre generazioni di dispositivi e a quel punto sarà considerata piccola e troppo lenta per essere utilizzata con un aggiornamento molto migliore e più economico disponibile!


Un Raspberry Pi configurato con una webcam per motivi di sicurezza potrebbe scrivere dati 24 ore su 24, 7 giorni su 7. Immagino che in questo caso un SSD sia probabilmente migliore.
Altamente irregolare,

1
Sì, ma non sta scrivendo TUTTI i settori per TUTTO il tempo in sequenza. È gestito per ridurre al minimo l'usura e i nuovi dati vanno sempre al settore / area con minori accessi. Il video non sovrascriverà i file del file system o i file di paging. A parte quante ore puoi ottenere su un'unità flash da 16 GB? Di solito la CCTV dovrebbe essere accessibile 15-30 giorni dopo! Utilizzare invece un'unità da 1 TB o NAS per la memorizzazione per scopi storici. Anche a breve termine per l'archiviazione e il trasferimento otterrai anni da una scheda SD! Meglio ancora usare una SD da 32 GB, ma limitare la cartella a 16 GB: più del doppio del tempo di vita userai quella tecnica!
Piotr Kula,

4
@ppumkin, puoi dirci come usi effettivamente le tue schede SD nei tuoi RPi? Molti di noi (Google "lampone danneggiato sd") hanno riscontrato fallimenti fatali (me più di uno, incluso Kingston, ora che hai menzionato) con le loro configurazioni predefinite di Raspbian, nonostante gli impressionanti numeri dei fornitori ... Potrebbe essere RPi, non SD, ma i tuoi dati cartacei sono ancora privi di fondamento senza alcun riferimento ai (dovrei dire ben noti?) Problemi di SD RPi, le tue pratiche sul campo o, meglio ancora: casi studio che hanno debugato sperimentalmente le "voci" sui danni alla SD.
Sz.

1
Guarda, tutto ciò di cui parlo è collegato al riferimento. OK, vuoi sapere come lo uso? Io non! Perché il Pi, è davvero un grande dolore nel culo! Le schede SD continuano a non funzionare e non è colpa della scheda SD. O l'hardware o il software Pi sta murando queste cose. Penso che siano le tensioni instabili fornite da alimentatori USB economici. Il nuovo B + ha regolatori su di essi. Grazie Dio! Questo WiFi fisso, feedback sonoro e prego Dio che manda le schede SD. Ho ancora bisogno di ordinarne alcuni, ma sto giocando con Netduino ora, nessuna SD si è ancora bloccata su questo.
Piotr Kula,

1
@ppumkin Ho usato SanDisk. Non quelli ebay. C'è una grande differenza tra il reflashing di una scheda SD (per il riutilizzo in una fotocamera, diciamo) e l'utilizzo come casa di un sistema operativo. Si dovrebbe essere più specifico su come esattamente si usa la tua, e per quanto tempo è durato. Non c'è bisogno che ripeta il commento di Lunakids, ma sono pienamente d'accordo con lui o lei. .
RolfBly,

4

Come accennato in precedenza, il problema principale sono i file e le directory che non vale la pena salvare tra i riavvii, ma vengono scritti abbastanza spesso, ad esempio file di cache, cartelle di download, ecc.

Raspbian, Debian e Ubuntu hanno un pacchetto chiamato unburden-home-dir il cui scopo principale è collegare in modo simbolico tali file a un posto meno problematico come ad esempio un tmpfsmount o un disco rigido esterno che è meno soggetto a logorarsi.

Viene normalmente eseguito al momento dell'accesso sotto X e indirizzato ai file di cache dell'applicazione GUI, ma può anche essere chiamato da script o simili e configurato per file arbitrari nella home directory di un utente.


3

Questi sono i miei consigli per un Debian 8.0 (Jessie)

Sono basati su iotop -bktoqqqe iostat -dzp 5. È necessario eseguire prima questi comandi per avere un'idea del problema e della sua soluzione.

1. Disabilitare lo scambio

sudo systemctl disable dphys-swapfile
sudo rm /var/swap

2. Utilizzare le opzioni di montaggio e la RAM

Montare tutte le partizioni sulla scheda SD con le noatime,commit=1800opzioni e montare le seguenti directory su RAM con queste voci nel proprio /etc/fstab/:

/dev/mmcblk0p1  /boot           vfat    defaults,noatime,commit=1800  0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime,commit=1800  0       1

tmpfs           /tmp            tmpfs   size=50M,nodev,nosuid     0       0
tmpfs           /var/tmp        tmpfs   size=10M,nodev,nosuid     0       0
tmpfs           /var/cache/samba tmpfs   size=5M,nodev,nosuid     0       0

Commit ritarderà le scritture e le raccoglierà per prime.

3. Registrare i file di registro più frequenti in /var/tmp/log/

Vedi la mia descrizione Come posso ridurre la scrittura nei file di registro .

4. Impedire a Chromium di martellare la scheda SD

A quanto pare, il cromo scrive molto e non può essere fermato (vedi 176727 , 52663 ). Ciò influisce sulla cache e sulla directory dei dati dell'utente. Il Chromium / Suggerimenti e trucchi spiegano come questo può essere spostato nella RAM. Dal momento che Raspberry non ha molta RAM, la Tab Suspender suggerita è utile per salvare la RAM.

a) Cache

Limitare la dimensione della cache e spostarla su RAM modificando /etc/chromium-browser/customizations/00-rpi-varsin

CHROMIUM_FLAGS="--disable-quic --enable-fast-unload --enable-tcp-fast-open --disk-cache-size=10000000 --media-cache-size=5000000"

Ora la cache è abbastanza piccolo per essere spostato al disco RAM modificando la XDG_CACHE_HOMEvoce nel /etc/security/pam_env.confper

XDG_CACHE_HOME  DEFAULT=/tmp/@{PAM_USER}/cache

Ora i miei due utenti hanno una piccola cache del browser nella RAM. Se ciò non è sufficiente, modificare la cache o / tmp / size come necessario.

b) Dir dati utente

Anche i dati utente dir ( .config/chromium/) subiscono pesanti scritture. Il profilo-sync-daemon è raccomandato da Chromium / Suggerimenti e trucchi . È stato sviluppato per gestire il profilo del browser in tmpfs e per sincronizzarlo periodicamente sul disco fisico. Sfortunatamente il pacchetto non fa ancora parte della distribuzione di Raspbian 8.0 (Jessie). Quindi non l'ho ancora provato.

5. Spazio libero sulla scheda SD

Spazio libero disinstallando pacchetti e file non necessari. Questo dovrebbe diffondere l'usura più uniformemente tra le tue partizioni.

Fatto!

Ora esegui iotop -bktoqqqe iostat -dzp 5ripeti e vedi una riduzione significativa dell'accesso in scrittura quando il sistema è inattivo. Niente viene scritto sul mio disco per molti minuti. E non preoccuparti del LED verde ACT lampeggiante . Apparentemente non è un buon indicatore di accesso in scrittura.


2

È possibile raggiungere solo una piccola riduzione dei cicli di scrittura trasmettendo l'output di syslog su un altro server. Naturalmente, disporre di un server di questo tipo con una syslogdcorsa è un prerequisito. Tuttavia, con il Pi un giocattolo per gli appassionati di Linux, questo è probabilmente molto spesso il caso. :-)

Per attivare questo streaming è sufficiente inserire una dichiarazione simile

*.*    @myserver.mydomain

praticamente nella parte superiore del file /etc/rsyslog.conf, commentare tutte le altre righe e riavviare la registrazione emettendo service rsyslog restart. Dopodiché i messaggi dovrebbero arrivare sul server selezionato.

Un chiaro effetto collaterale di questo è che puoi facilmente monitorare il tuo Pi insieme ad altre macchine sullo stesso server. Un aspetto negativo è che durante l'avvio e l'arresto del sistema potresti perdere alcuni messaggi quando la connessione di rete non è stata ancora stabilita o è già stata chiusa.


Si noti che i moderni sistemi Linux (inclusi CentOS 7 e Debian 8 e sistemi basati su quelli come Raspbian 8) eseguono tutti i log in journaldcui li memorizzano nel journal di systemd. Si configurano inoltre journaldper inoltrare i log al socket syslog su cui rsyslogdè in ascolto; che inserisce copie aggiuntive dei messaggi nei file di registro in /var/log. Se ti senti journalctla tuo agio nell'usare per sfogliare i tuoi registri (e funziona molto meglio di /var/logquando ne hai familiarità) puoi disabilitare rsysloge salvare completamente alcune scritture.
Curt J. Sampson,

1

Nota: il limite di 100.000 cicli è un'ipotesi che si applica a tutti i dispositivi di elaborazione, anche ai tasti di una tastiera. Credo che l'esecuzione di Pi in condizioni di raffreddamento adeguate e cicli di spegnimento / avvio corretti daranno risultati migliori anziché andare in analogie.

Anche questo può aumentare la mia opinione di cui sopra.

Aggiungi un nuovo utente oltre all'utente Pi [impostazione predefinita]. Puntare la directory home del nuovo utente nell'unità esterna [thumb / hard disk]. Concedi al nuovo utente autorizzazioni superutente e inizia a usarlo come account principale.

Spero che questo possa essere d'aiuto..


Cerco sempre di digitare meno per salvare sulle tastiere;)
Piotr Kula

L'aggiunta di un nuovo utente non impedisce occupato /var/loge /var/tmp. Inoltre, avere esperienza per esperienza che il corretto raffreddamento fa la differenza è molto meglio che dire "Credo".
RolfBly,

0

Utilizzare il demone syslog di busybox (nel pacchetto busybox-syslogd su Raspbian / Debian / Ubuntu) invece del demone syslog predefinito (di solito rsyslog). Di default su Raspbian / Debian / Ubuntu, il syslogd di busybox accede solo al buffer ad anello in memoria e non al disco. Il buffer dell'anello ha una dimensione di 128 KB per impostazione predefinita, vale a dire che le vecchie voci di registro ruotano piuttosto presto e poi scompaiono. Ma puoi configurarlo per usare più RAM per esso.

Tuttavia questa è una soluzione molto migliore di non avere un demone syslog, cioè è ancora possibile accedere e leggere le voci di registro di ca. poche ore o giorni precedenti (a seconda della dimensione configurata del buffer dell'anello) con il comando logread. È inoltre possibile utilizzare logread -fper ottenere un tail -fcomportamento simile, ad esempio per memorizzare solo voci di registro interessanti utilizzando uno script di filtro o per inoltrare voci di registro sulla rete altrove, ad esempio utilizzando stunnelo simili.


-1

Un paio di cose che ho fatto:

chmod del dphys-swapfile (da qualche parte in / etc - non vicino al PI al momento) per:

sudo chmod a-x dphys-swapfile

Ottengo errori minori all'avvio (impossibile avviare il servizio dphys-swapfile) - Supponiamo che esista un modo migliore ... rc-update ??

Inoltre, acquisisco immagini dal modulo della fotocamera, per poi inserirle nel mio server web (il Pi). Ho formattato / dev / ram0 in ext2, l'ho montato come / media / ramdrive (usando /etc/init.rc, credo). Sono 4meg, abbastanza grandi per uno scatto. Nessuna scrittura su SD.

Il server (oululife.dnsdynamic.com) è sperimentale, ma sul web. Per stressarlo davvero, lascio che trasmetta anche un episodio in MP4 di "Heartbeat *". Funziona con lighttpd, Mysql, PHP, WordPress e anche quando eseguo lo streaming in remoto sul Web difficilmente si rompe il sudore, caricando in media circa 0,2. Nessun overclocking. Modello B rev. 2, su 24/7. Quindi, se riesco a ottenere i miei file di log negli altri 15 / dev / ramX, credo che la mia scheda Micro-SD 16G durerà anni ...

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.