Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.3. File System

7.3.1. File system Ext4

Il file system ext4 è una estensione scalabile del file system ext3 predefinito disponibile in Red Hat Enterprise Linux 5. Ext4 è ora il file system predefinito per Red Hat Enterprise Linux 6 ed è supportato con una dimensione massima di 16 TB. Viene supportato altresì un file singolo con dimensione massima di 16TB. Esso rimuove il limite della sottodirectory 32000 presente in ext3.

Nota

Per file system più grandi di 16TB è consigliato l'uso di un file system con capacità elevate scalabili come ad esempio XFS. Per maggiori informazioni consultare Sezione 7.3.2, «Il file system XFS».
Le impostazioni predefinite del file system ext4 sono ottimali per la maggior parte dei carichi di lavoro, ma se il comportamento del file system influenza negativamente le prestazioni, allora sono disponibili diverse opzioni di ottimizzazione:
Inizializzazione tabella inode

Per file system molto grandi il processo mkfs.ext4 può richiedere un periodo di tempo molto lungo durante l'inizializzazione di tutte le tabelle inode nel file system. Questo processo può essere rinviato con l'opzione -E lazy_itable_init=1. Se utilizzate questa impostazione i processi del kernel continueranno ad inizializzare il file system dopo il suo processo di montaggio. La velocità con la quale viene eseguito questo processo può essere controllata con l'opzione -o init_itable=n del comando mount, dove la quantità di tempo per eseguire il processo è di circa 1/n. Il valore predefinito per n è 10.

Comportamento di Auto-fsync

Poichè alcune applicazioni non eseguono un fsync() corretto dopo la modifica del nome di un file esistente, o dopo un processo di riscrittura o troncamento, ext4 esegue il default su sincronizzazione automatica dei file dopo operazioni replace-via-rename e replace-via-truncate. Questo comportamento è consistente con i comportamenti del file system ext3 più vecchi. Tuttavia le operazioni fsync() possono richiedere molto tempo, per questo motivo se il suddetto processo automatico non è necessario usare l'opzione -o noauto_da_alloc con il comando mount per disabilitarlo. Ciò significa che l'applicazione deve esplicitamente usare fsync() per rendere i dati persistenti.

Priorità I/O del journal

Per impostazione predefinita viene conferita al journal commit I/O una priorità leggermente più elevata rispetto all'I/O normale. Tale priorità può essere controllata con l'opzione journal_ioprio=n del comando mount. Il valore predefinito è 3. La gamma di valori validi va da 0 a 7, il valore 0 rappresenta la priorità più alta di I/O.

Per altre opzioni mkfs e di ottimizzazione consultare le pagine man di mkfs.ext4(8) e mount(8) ed il file Documentation/filesystems/ext4.txt nel pacchetto kernel-doc.