Qual è il diario?


8

Ho spento il computer nel modo più duro e al successivo avvio è stato visualizzato un messaggio all'avvio per diversi secondi recovering journal. Quattro startup più tardi e il messaggio non c'era - solo la prima volta. Sembra che non ci siano conseguenze o effetti collaterali. Grazie a questa domanda so perché è successo, ma da nessuna parte su Internet si dice che cosa è il diario. Non ci sono problemi, sono solo interessato a quello che è.

Risposte:


5

Molti file system moderni utilizzano un journal tra cui NTFS, Ext3 / 4, XFS, HFS + e altri. Il diario aiuta con due cose, evitando la corruzione del file system e accelerando il recupero dopo un guasto come un'interruzione dell'alimentazione o un arresto anomalo del sistema. Esistono due componenti principali in un file system, i dati e i metadati. I dati sono i contenuti di un file, immagine, video, documenti e, in definitiva, è ciò che dà al file system il suo valore. I metadati sono ciò che descrive la struttura del filesystem incluso il modo in cui i file vengono nominati, archiviati in directory, permessi di accesso, tempi di modifica dei file e aree di registrazione del disco che sono in uso o sono libere di essere allocate ad altri file mentre crescono o sono creati. Se i metadati vengono danneggiati a causa di un arresto anomalo del sistema, potrebbero verificarsi ulteriori perdite / danni ai dati. Per esempio, parte del disco potrebbe essere selezionata per l'allocazione in un file, ma se non viene registrata correttamente prima di un arresto anomalo, potrebbe essere aggiunta all'elenco dei blocchi di dati del file, ma ancora nell'elenco dei blocchi di dati gratuiti e allocata a un secondo file più tardi. Ora, ci sono due file che condividono gli stessi blocchi di dati / contenuto.

Il journal è un posto sul disco riservato per la registrazione delle modifiche al file system. I dettagli esatti di ciò che viene modificato vengono scritti prima nel journal situato in una singola posizione sul disco, quindi, dopo l'aggiornamento del journal, le modifiche vengono applicate alle posizioni appropriate sul disco che potrebbero richiedere diverse scritture. Una volta effettuati gli aggiornamenti, la registrazione prima nota è contrassegnata come completa. Dopo un arresto anomalo, il sistema deve solo esaminare il journal per le voci incomplete e completarle per correggere il file system. Questo accelera il recupero e garantisce che una modifica venga eseguita interamente o per niente. Se un blocco viene allocato in un file in crescita, verrà aggiunto all'elenco dei blocchi del file e anche contrassegnato come in uso.

Inoltre, sui file system che supportano il journaling, il più delle volte è solo il journaling dei metadati a preservare la struttura, ma non i dati stessi. Il journaling completo dei dati è normalmente piuttosto costoso e lento, ma meno cruciale dei metadati. È possibile abilitare anche per i dati, se necessario.

Inoltre, per completare questo, ci sono alcuni file system che attualmente non offrono journaling tra cui FAT32, exFAT, Ext2 e UDF. Se si verifica un arresto anomalo durante un aggiornamento, è necessario eseguire una scansione completa del filesystem per individuare eventuali errori o corruzioni.


8

Qualcuno sa cos'è il diario?

Parte di un moderno filesystem è una funzione chiamata "journaling". Usiamo "ext4" come filesystem. (ext3, ext2 sono versioni precedenti. NTFS è un equivalente Microsoft.)

Un file system di journaling è un file system che tiene traccia delle modifiche non ancora impegnate nella parte principale del file system registrando le intenzioni di tali modifiche in una struttura di dati nota come "journal", che di solito è un registro circolare. In caso di arresto anomalo del sistema o mancanza di corrente, tali file system possono essere riportati in linea più rapidamente con una minore probabilità di corruzione

Fonte: Wikipedia - File system journaling , cita: IBM - Anatomia dei file system journaling Linux

Fondamentalmente il messaggio indica che il sistema ha eseguito un controllo di integrità su questa parte del file system. È forzato dal sistema, quindi generalmente non c'è nulla di cui preoccuparsi. Quando si verifica un'interruzione dell'alimentazione, il journal può essere danneggiato e, a meno che il disco rigido non sia veramente rotto, tende a essere riparato durante questo controllo.


1
È corretto affermare che il journaling viene utilizzato per proteggere l'integrità del filesystem, ma non necessariamente l'integrità dei file (il loro contenuto)?
Ralf,

2
@Ralf: dipende solo da ciò che viene inserito nel journal. JFFS2, ad esempio, tutti i periodici scrivono, quindi protegge l'integrità di tutti i dati. HFS + di Apple registra solo metadati del filesystem, quindi protegge solo i metadati del filesystem, ma non i dati dei file. Ext4 è configurabile: è possibile registrare su giornale tutto, niente o solo metadati del filesystem. L'impostazione predefinita è journal, ma solo metadati del filesystem. In tal caso, protegge solo i metadati del file system, ma non i dati dei file. Il motivo principale per questa scelta è che il journaling significa scrivere due volte.
Jörg W Mittag,

2
L' altro estremo sono i cosiddetti filesystem strutturati in log , che hanno solo un journal. In altre parole, si aggiungono sempre e solo a un giornale, ma non hanno una normale area dati. In questo modo, evitano la "doppia scrittura" di un filesystem journaling, ma ora hanno il problema che il filesystem non si restringe mai, perché anche le cancellazioni vengono semplicemente aggiunte al journal. Quindi, hanno bisogno di un "garbage collector" per ripulire le voci di diario ridondanti e compattare nuovamente il diario. (Alcuni di questi FS chiamano questo "aspirapolvere".)
Jörg W Mittag,

1
@ JörgWMittag Grazie. Penso che sia importante capire che l'inserimento nel journal di FS non significa in genere che non si possano perdere dati.
Ralf,

1
@Ralf: Sì, l'inserimento nel journal non ti protegge dalla perdita di dati, ma solo dalla corruzione dei dati. Garantisce solo che un'operazione abbia successo o non accada affatto, non garantisce che un'operazione abbia sempre successo. In secondo luogo, l'inserimento nel journal protegge solo ciò che viene inserito nel journal, che per le implementazioni più comuni sono solo metadati di FS.
Jörg W Mittag,
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.