4.8. Data Journaling


Solitamente GFS2 scrive sul proprio journal solo i metadati. I contenuti del file vengono scritti successivamente sul disco dal processo periodico di sincronizzazione del kernel, il quale svuota i buffer del file system. Una chiamata fsync() su di un file, causerà la scrittura immediata dei dati del file sul disco. La chiamata ritorna quando il disco riporta il completamento della scrittura di tutti i dati.
Il data journaling può causare una riduzione del periodo di fsync(), in modo particolare per file più piccoli, poichè i dati del file vengono scritti sul journal in aggiunta ai metadati. Questo vantaggio si riduce velocemente con l'aumento della dimensione del file. La scrittura su file medio-grandi sarà più lento se il data journaling è stato abilitato.
Le applicazioni che si affidano al fsync() per eseguire la sincronizzazione dei dati del file possono avere migliori prestazioni attraverso il data journaling. Il data journaling può essere abilitato automaticamente per qualsiasi file GFS2 in una directory con opzione corretta (insieme a tutte le sottodirectory relative). I file esistenti con una lunghezza allo zero possono avere la funzione di journaling dei data abilitata o disabilitata.
Abilitando il data journaling su di una directory, quest'ultima verrà impostata su "inherit jdata", il quale indica che tutti i file e le directory successivamente create nella directory in questione verranno salvate all'interno dei journal. È possibile abilitare o disabilitare il data journaling su di un file con il comando chattr:
I seguenti comandi disabilitano il data journaling sul file /mnt/gfs2/gfs2_dir/newfile, e successivamente controllano l'impostazione corretta del flag.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
I seguenti comandi disabilitano il data journaling sul file /mnt/gfs2/gfs2_dir/newfile, e successivamente controllano l'impostazione corretta del flag.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
È possibile utilizzare chattr per impostare il flag j su di una directory. Quando impostate il suddetto flag per una directory, tutti i file e le directory successivamente create nella directory in questione, verranno salvate nel journal. L'insieme di comandi imposta il flag j sulla directory gfs2_dir, e controlla se il flag è stato impostato correttamente. Altresì, i comandi creeranno un nuovo file chiamato newfile nella directory /mnt/gfs2/gfs2_dir, e successivamente controlleranno l'impostazione del flag j per il file. Poichè il flag j è stato impostato per la directory, anche il newfile dovrebbe avere il journaling abilitato.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Red Hat logoGithubRedditYoutubeTwitter

Formazione

Prova, acquista e vendi

Community

Informazioni sulla documentazione di Red Hat

Aiutiamo gli utenti Red Hat a innovarsi e raggiungere i propri obiettivi con i nostri prodotti e servizi grazie a contenuti di cui possono fidarsi.

Rendiamo l’open source più inclusivo

Red Hat si impegna a sostituire il linguaggio problematico nel codice, nella documentazione e nelle proprietà web. Per maggiori dettagli, visita ilBlog di Red Hat.

Informazioni su Red Hat

Forniamo soluzioni consolidate che rendono più semplice per le aziende lavorare su piattaforme e ambienti diversi, dal datacenter centrale all'edge della rete.

© 2024 Red Hat, Inc.