Ext4 - Come abilitare ulteriore sanità mentale, checksum, validazioni, test di qualsiasi tipo?


8

Sto eseguendo Ext4 su un hard disk e, ad essere sinceri, non mi fido davvero del disco perché è vecchio e ha alcuni blocchi. Ho dei dati non essenziali sull'unità, quindi se è morto domani, allora non è un grosso problema.

Tuttavia, vorrei sapere se / quando inizia a morire e rimontare di sola lettura. Ci sono opzioni che abiliteranno controlli di file extra su un Ext4 fs? (Non mi interessa se rallenta il filesystem.)


1
Il disco rigido ha controlli CRC interni, quindi anche se si guasta e / o ha blocchi in sospeso, dovrebbe rilevare quegli errori e segnalarli al sistema operativo. Se i file vengono danneggiati a causa di blocchi del disco rigido danneggiati, vedrai questi danni come errori IO senza alcuna opzione speciale.
Martin von Wittich,

@MartinvonWittich L'unità potrebbe o meno, ma se i dati vengono danneggiati durante la trasmissione tra l'unità e il controller del disco, i controlli CRC interni dell'unità non ti comprano nulla ... Quindi sì, CRC a livello di FS è una bella funzionalità per avere.
Mathieu

Risposte:



5

Tuttavia, vorrei sapere se / quando inizia a morire e rimontare di sola lettura.

Il montaggio in sola lettura non ti salverà nulla se il problema è blocchi errati: guarda il primo paragrafo qui e nota i problemi associati agli errori di lettura .

Non c'è modo di rilevare blocchi danneggiati senza leggere fisicamente sul disco, quindi, come cercare una trappola per mouse in una stanza buia, non ci sono modi per evitare i potenziali problemi durante il controllo. Se ritieni che il disco non umountfunzioni , periodicamente ed esegui e2fsck -ctutte le partizioni; se questo è il tuo filesystem di root e devi usare, ad esempio, un liveCD per farlo, allora fallo. Come da pagina man;

-c Questa opzione fa sì che e2fsck utilizzi il programma badblocks (8) per eseguire una scansione di sola lettura del dispositivo al fine di trovare eventuali blocchi danneggiati. Se vengono rilevati blocchi danneggiati, vengono aggiunti all'inode dei blocchi danneggiati per impedire che vengano allocati in un file o una directory.

Se i blocchi contenessero dati, a un certo punto una versione recuperata potrebbe finire nella /lost+founddirectory, non ne sono sicuro.

Si noti che ciò potrebbe richiedere del tempo. Se ci sono blocchi danneggiati, la scansione potrebbe innescare problemi di I / O che bloccano l'intero sistema per ore, quindi fallo quando ti senti a tuo agio a camminare per un po '.


1
"trappola per topi ambientata in una stanza buia". Bella frase.
Faheem Mitha,

3

Inoltre, in generale, alcune utility possono monitorare diversi aspetti della situazione e consentire di intraprendere le azioni appropriate.

Ad esempio, lo smartctlstrumento dal pacchetto smartmontools ti darà accesso allo stato SMART integrato per alcune unità.

Puoi anche aumentare la frequenza dei controlli del filesystem su una destinazione specifica usando il tune2fscomando. Ad esempio, sembra che tune2fs -c 1 targetassicurerà che l'unità venga controllata praticamente ogni volta prima che venga montata all'avvio.


1
smartctlpuò anche eseguire il meccanismo di autotest interno del disco, ad esempio con smartctl -t long /dev/sdX.
Martin von Wittich,

1
@MartinvonWittich Il problema con SMART è che devi sapere cosa stai cercando backblaze e non ti dicono necessariamente molto google : "La nostra analisi identifica diversi parametri della struttura di automonitoraggio dell'unità (SMART) che sono altamente correlati ai guasti. Nonostante questa elevata correlazione, concludiamo che è improbabile che i modelli basati esclusivamente sui parametri SMART siano utili per prevedere i guasti dei singoli drive ".
Mathieu,

@Mathieu sì, quella roba di previsione SMART non ha valore in IMO. Ma gli autotest sono nella mia esperienza accurati al 100%. La maggior parte delle persone sfortunatamente non sa che esistono e per questo vengono usati raramente.
Martin von Wittich,

2

Buon punto da illuminÉ. È bene avere la smartd in esecuzione in backgroud che controlla periodicamente la presenza di guasti.

Oltre a questo puoi usare

e2fsck -fvy -c -c -C0 /dev/sda1

-f    Force checking even if the file system seems clean.
-v    Verbose mode.
-y    Assume an answer of `yes' to all questions
-C0   write  completion  information to stdout
-c -c If this option is specified twice, then the 
      bad block scan  will  be  done  using  a  non-destructive
      read-write test.

Questo test di lettura e scrittura non distruttivo ( -c -c) ti consente di sapere se ci sono errori di lettura.
Tuttavia ci vuole molto tempo.

Quindi dovrebbe essere una soluzione di transito prima di acquistare un nuovo disco.


Tranne il fatto che non puoi farlo mentre il FS è montato e la scansione per blocchi danneggiati è lenta come melassa, quindi non è davvero un'opzione praticabile ....
Mathieu
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.