File System Ext4 - Un'immersione profonda nel file system nativo di Li

Cos'è il file system Ext4 - Guida completa a Ext4

Ext4 è il file system principale di Linux e in questo articolo ne scoprirete la compatibilità, la storia e i diversi modi per creare file su di esso.

Scarica | Win Scarica | Mac
100% sicuro e download gratuito
Cos'è il file system ext4

Il Fourth Extended filesystem (Ext4) è il file system nativo di Linux creato per superare i problemi di Ext3. Il file system è stato rilasciato per la prima volta come estensione di Ext3, che era retrocompatibile. In seguito, per motivi di stabilità, il produttore ha deciso di fare un fork del codice sorgente e tutti gli sviluppi sono stati fatti lì. Google ha inoltre deciso di utilizzare Ext4 su Android 2.3. In questo articolo, leggerete la compatibilità di Ext4, la sua storia, le sue caratteristiche e il confronto con altri file system Linux.

Parte 1. Compatibilità del file system Ext4

Il file system Ext4 è diventato il file system predefinito per molti distributori Linux popolari, come Ubuntu e Debian. Il filesystem è ufficialmente incompatibile con Windows e macOS, ma è possibile aggirare questa limitazione.

Gli utenti di Windows hanno diverse scelte. Si possono usare applicazioni di terze parti, usare WSL 2 o convertire in NTFS. Consultate i passaggi dell'articolo su come montare Ext4 su Windows.

Gli utenti Mac possono utilizzare strumenti come macFUSE, host di macchine virtuali o applicazioni di terze parti che consentono l'accesso a questo file system. Ecco l'esercitazione sul montaggio e l'accesso ai file Ext4 su macOS.

Parte 2. Storia del file system EXT

cronologia ext4

Minix

Minix è stato inizialmente creato nel 1987 da Andrew S. Tanenbaum come strumento didattico per il suo libro Operating Systems Design and Implementation. Oggi è un sistema operativo orientato al testo con un kernel di meno di 6.000 righe di codice. La fama più importante di MINIX è un esempio di microkernel, in cui ogni driver di dispositivo viene eseguito come processo isolato in modalità utente. Questa struttura aumenta la sicurezza e l'affidabilità, in quanto un bug in un driver non Può causare il blocco dell'intero sistema.

Oggi MINIX è comunemente conosciuto come una nota a piè di pagina nella storia di GNU/Linux. Questo file system ha motivato Linus Torvalds a sviluppare Linux e alcuni dei suoi primi lavori sono stati scritti su MINIX. La precedente decisione di Torvalds di supportare il file system MINIX è responsabile del supporto del kernel Linux a quasi tutti i filesystem immaginabili.

EXT

Il primo file system EXT (Extended) è stato creato da Rémy Card e rilasciato con il sistema operativo Linux nel 1992 per superare i limiti di dimensione del file system Minix. Le modifiche strutturali più immediate riguardarono i metadati del filesystem, che si basava sul Unix filesystem (UFS), noto anche come Fast File System (FFS) di Berkeley.

Le informazioni su questo file system sono limitate perché ha avuto problemi significativi ed è stato rapidamente sostituito dal file system EXT2.

EXT2

All'inizio il file system Ext2 ha avuto un buon successo. I clienti hanno utilizzato Ext2 nelle distribuzioni Linux per diversi anni e ne sono rimasti soddisfatti. Il file system EXT2 ha essenzialmente le stesse strutture di metadati del file system EXT. Tuttavia, EXT2 è più semplice se si considera la quantità di spazio su disco che viene lasciata tra le strutture dei metadati per il prossimo utilizzo.

Simile a Minix, EXT2 contiene un settore di avvio nel primo settore del disco rigido su cui è installato, con un record di avvio minimo e una tabella delle partizioni. Inoltre, si vedrà una certa quantità di spazio riservato sul disco al termine del settore di avvio. Questo spazio riservato copre lo spazio tra il record di avvio e la prima HDD partizione, che spesso si trova sul confine del cilindro successivo.

struttura del gruppo di cilindri nei file system ext

EXT3

Il file system EXT3 aveva l'obiettivo esplicito di superare le enormi porzioni di tempo necessarie al programma fsck per recuperare completamente una struttura del disco sabotata da un arresto improprio avvenuto durante un'operazione di aggiornamento dei file. L'unica aggiunta al file system EXT è stata la funzione journal, che registra in anticipo le modifiche che verranno apportate al file system.

La funzione di journaling riduce il tempo necessario per verificare la presenza di inconsistenze sul disco rigido dopo un guasto da giorni a pochi minuti, al massimo. Nel corso degli anni sono stati segnalati molti problemi che hanno mandato in crash i sistemi degli utenti. I dettagli potrebbero occupare un intero articolo, ma è sufficiente dire che molti di essi sono stati autoinflitti e non si tratta di fallimenti del sistema. La funzione di journaling del filesystem EXT ha ridotto il tempo di recupero all'avvio.

EXT4

In EXT4, il produttore ha cambiato l'allocazione dei dati da blocchi fissi a estensioni. La sua posizione iniziale e finale sul disco rigido descrive un'estensione. Questa caratteristica consente di descrivere file lunghi e fisicamente adiacenti in un'unica voce di puntatore iNode, riducendo notevolmente il numero di puntatori necessari per definire la posizione di tutti i dati nei file più grandi. EXT4 riduce la frammentazione distribuendo i file appena creati su tutto il disco, in modo che non siano raggruppati in un'unica posizione del disco, come facevano i primi filesystem per PC.

Gli algoritmi di allocazione dei file cercano di distribuire i file nel modo più uniforme possibile tra i gruppi di cilindri e, quando è richiesta la frammentazione, di mantenere le estensioni discontinue dei file il più possibile vicine alle altre, in modo da ridurre di molto la latenza di ricerca e rotazione delle testine.

inode nel file system ext4

Se avete bisogno di recuperare i dati dalle partizioni Ext2-Ext4, potete usare Wondershare Recoverit.

recoverit data recovery

Wondershare Recoverit - Recuperare i dati preziosi su Mac

5.481.435 persone lo hanno scaricato.

Recoverit è in grado di trovare dati dal cestino del Mac svuotato, dati persi a causa di un settore danneggiato, corruzione del disco rigido e cancellazione permanente accidentale.

Il software è incredibilmente facile da usare e dispone anche di una funzione di anteprima, in modo da poter controllare due volte che si stia ripristinando il file corretto.

Supporto per il recupero di oltre 1000 tipi di formati di file: DOC/DOCX, XLS/XLSX, PDF, JPG, HEIF, HTML, INDD, EPS, MP4, MP3, zip, ecc.

Versione gratis per provare e versione a pagamento per godere di più.

Parte 3. Caratteristiche di Ext4

  • Dimensione del file system: Ext4 consente file system di dimensioni fino a 1 exbibyte e file di dimensioni fino a 16 tebibyte. Il file system ext3 offre solo una dimensione massima del filesystem di 16 TB e una dimensione massima dei file di 2 TB.
  • Estensioni: L'idea di estensione significa "una sequenza confinante di blocchi fisici". I file di grandi dimensioni vengono suddivisi in più "estensioni". I file vengono quindi allocati su una "singola estensione" piuttosto che su una dimensione particolare, aggirando così la mappatura indiretta dei blocchi. Ogni iNode memorizza fino a 4 estensioni di un file e indicizza il resto in un Htree. Pertanto, gli estensioni consentono una minore frammentazione dovuta all'allocazione sequenziale dei blocchi e migliorano le prestazioni.
  • Allocazione ritardata e multiblocco: l'allocazione multiblocco (mballoc) alloca più blocchi per un file in un'unica operazione, invece di allocarli uno per uno, come in ext3. Questa funzione ridurrà l'overhead di richiamare più volte il "block allocator" e ottimizzerà l'allocazione della memoria. Con la funzione di allocazione ritardata, se una funzione scrive i dati su un disco invece di allocarli subito, i dati vengono memorizzati nella cache. L'allocazione ritardata scriverà tutti i dati nella cache solo dopo aver effettuato il "flush" della cache. Questa tecnica è chiamata "allocate-on-flush".
  • Deframmentazione online e velocità di fsck: Il tasso di frammentazione è minore nei sistemi ext4 grazie alle tecniche menzionate in precedenza. The fragmentation rate is lower in ext4 systems due to the techniques mentioned earlier. La deframmentazione, se necessaria, Può essere eseguita online utilizzando lo strumento "e4defrag".
  • checksumming del giornale: Ext4 utilizza la somma di controllo del journal per scoprire lo stato di salute dei blocchi del journal. Questa funzione viene utilizzata per eludere la corruzione dei dati. È possibile disattivare la modalità di journaling in ext4 se causa overhead.
  • Inodes/Timestamps: Il file system ext4 ha una dimensione di inode di 256 byte per impostazione predefinita, mentre ext3 ha solo 128 byte per gli inode. L'accuratezza del timbro temporale è memorizzata in nanosecondi invece che in secondi nel caso di ext3.
  • Compatibilità con il passato: I file system ext3 possono essere migrati facilmente a ext4 senza formattare o reinstallare il sistema operativo, a condizione che il kernel supporti il file system ext4.

Parte 4. Vantaggi e svantaggi di Ext4

Vantaggi

È possibile utilizzare dischi/LUN diversi e ottenere prestazioni più soddisfacenti. In questo modo è possibile aumentare le prestazioni dei database, in quanto è possibile avere il registro delle transazioni su uno storage e i file di dati su un altro. Paragonabile alle applicazioni web ad alta intensità di I/O su disco

È possibile utilizzare diverse opzioni di montaggio che aumentano la protezione o influenzano le prestazioni o la stabilità in modo più granulare.

Lo spazio viene gestito separatamente. Quindi, è possibile avere un'applicazione dannosa che riempie lo spazio che non influisce sulle altre applicazioni.

La frammentazione di una partizione specifica è separata da quella delle altre partizioni.

È possibile eseguire snapshot, montaggio, umount, formattazione, deframmentazione e monitoraggio delle prestazioni dei file system.

È possibile avere la crittografia su volumi specifici

È possibile montare i volumi su richiesta

Svantaggi

Il filesystem aumenta i costi di amministrazione

Si verificheranno più casi di spreco di spazio su disco rispetto alle necessità.

Si verificherà un maggior numero di casi di disco pieno.

È più impegnativo creare un'istantanea coerente di un'applicazione in esecuzione su volumi diversi.

Utilizza un po' più di risorse

A seconda del tipo di volume (etichetta MS-DOS, LVM, btrfs...), potrebbe non essere possibile allocare in modo efficiente lo spazio da un volume riducendo un altro volume.

Parte 5. Lavorare con Ext4

  • Creare file sul file system Ext4

Per creare file su Ext4, è necessario formattare la partizione con il file system Ext4 usando il comando mkfs.ext4:

~]# mke4fs -t ext4 blockdevice

Uscita del comando mkfs.ext4

In questa riga di comando, block device è una partizione che conterrà il file system ext4 che verrà creato.

Etichettatura della partizione con il comando e4label:

~]# e4label <block_device> new-label

Creare un punto di montaggio e montare il nuovo file system su tale punto:

~]# mkdir /mount/point

~]# mount block_device /mount/point

  • Montaggio del file system Ext4 e impostazione dei parametri

Gli utenti hanno due modi per montare i file system Ext4: utilizzando le opzioni predefinite e impostando i parametri. La riga di comando per utilizzare le impostazioni predefinite è la seguente:

~]# mount block_device /mount/point

Per impostare i parametri del file, utilizzare il comando tune2fs. Alcuni parametri che si possono impostare con questo comando sono i seguenti:

Impostazione dell'etichetta del volume: utilizzare l'opzione -L insieme a tune2fs in modo simile a questa riga di comando: sudo tune2fs -L Label_Name /dev/sda2

Elenco dei parametri del file system: ancora una volta, utilizzare l'opzione -L con tune2fs in modo identico alla seguente riga di comando: sudo tune2fs -l /dev/sda2

  • Ridimensionamento del file system Ext4

Gli utenti devono assicurarsi che il dispositivo a blocchi sottostante abbia dimensioni sufficienti per il file system Ext4 che la riga di comando ridimensionerà. Usate il comando resize4fs per modificare le dimensioni dei vostri file:

~]# resize4fs block_devicenew_size

  • Deframmentazione del file system Ext4

Alcuni file Ext4 sono stati creati con l'opzione extent, il che significa che è possibile utilizzare e4defrag per eseguire la deframmentazione. Per verificare i livelli di frammentazione, utilizzare questa riga di comando:

sudo e4defrag -c /path/to/myfiles

In alcuni casi, il punteggio di frammentazione è pari a zero, il che significa che la deframmentazione non è necessaria. Tuttavia, se volete farlo, usate la seguente riga di comando:

e4defrag /path/to/myfiles

Parte 6. Ext contro altri file system Linux

Linux supporta diversi file system come Ext4, XFS, Btfrs, ZFS, JFS, e NTFS. Ogni tipo di file system risolve problemi diversi e ha i suoi limiti.

Sistemi di file Linux
Data di uscita
Sviluppatore
Utilizzo ideale
limitazioni
Ext4 Dicembre 2008 Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh Utilizzo per applicazioni che utilizzano un singolo thread di lettura o scrittura Non dispone di una funzione di cancellazione sicura
XFS Maggio 2000 Silicon Graphics, Red Hat Ideale se utilizzato per sistemi di calcolo di grandi dimensioni e per sistemi che richiedono prestazioni elevate. Operazioni sui metadati più lente
Btrfs Elevato livello di frammentazione dei datiMarzo 2009 Facebook, Fujitsu, Fusion-IO, Intel, Linux Foundation, Netgear, Oracle Corporation, Red Hat, STRATO AG e openSUSE. Meglio se utilizzato per contrastare ostacoli come la tolleranza ai guasti, la gestione e la protezione dei dati. Elevato livello di frammentazione dei dati
ZFS Giugno 2006 Sun Microsystems creare un file system che si estende su una serie di unità o su un pool Mancato controllo della salute della RAM in caso di errori di dati
JFS Giugno 2001 IBM et al. Mantenere i metadati coerenti durante il journaling Impossibile ridurre una partizione JFS
NTFS 1993 Microsoft Prevenzione della perdita di dati in caso di interruzione dell'alimentazione elettrica Problemi di compatibilità con Android e macOS

Per sapere quale file system Linux utilizzare per il vostro computer, consultate la video-guida qui sotto:

Scarica gratis

Per Windows XP/Vista/7/8/10/11

Scarica gratis

Per macOS X 10.10 - macOS 13

Le persone chiedono anche

Vari benchmark hanno concluso che il file system ext4 è in grado di eseguire più operazioni di lettura e scrittura più velocemente di una partizione NTFS. Si noti che, sebbene questi test non indichino le prestazioni reali, possiamo estrapolare questi risultati e utilizzarli come una delle ragioni.

Il formato del file system Ext4 è nativo di Linux e il sistema operativo Windows non lo supporta per impostazione predefinita, ma ci sono modi per aggirarlo.

La ragione principale dell'incapacità di Windows di leggere Ext4 è che non è stato realizzato con i driver creati per quel file system.

Su Internet sono disponibili numerosi benchmark che affermano che il formato di file system Ext4 è molto più veloce di FAT32 (e persino di NTFS).

Le persone chiedono anche