Perché ext4 è consigliato solo fino a 16 TB?


28

Nell'articolo wiki ext4 ho visto che ext4 può essere usato fino a 1 EiB, ma è consigliato solo fino a 16 TiB. Perché è così? Perché XFS è raccomandato per file system più grandi?

(ELICS: spiegami come se fossi uno studente CS, ma senza molta conoscenza dei file system)



Se stai lavorando con enormi set di dati, il file system Zetabyte potrebbe essere qualcosa che vale la pena dare un'occhiata: en.wikipedia.org/wiki/ZFS : þ
Mioriin

16 TB è il numero massimo di blocchi da 4096 byte che possono essere contabilizzati con un contatore a 32 bit. Sembra che ci sia un problema a 64 bit con ext4. XFS è stato pienamente capace a 64 bit sin dai suoi primi giorni SGI.
Andrew Henle,

@Andrew il limite ext4 è attualmente di 48 bit, quindi mentre c'è ancora una preoccupazione di 64 bit, non è poi così male come essere limitato a 32 bit.
Stephen Kitt,

1
Sì, la pagina di Wikipedia dice 100 TB nel testo e 16 TB nella barra laterale, i riferimenti al primo sono di un vecchio Red Hat e Ext4_Howto ovviamente obsoleto (che ha avuto 5 aggiornamenti negli ultimi 4,1 anni). Forse qualcuno interessato all'argomento dovrebbe andare alla ricerca di alcune fonti più recenti e aggiornare la pagina? :)
ilkkachu,

Risposte:


37

La citazione esatta dalla voce di ext4 Wikipedia è

Tuttavia, Red Hat consiglia di utilizzare XFS anziché ext4 per volumi superiori a 100 TB.

L' ext4 howto lo menziona

Il codice per creare file system maggiori di 16 TiB è, al momento della stesura di questo articolo, non in nessuna versione stabile di e2fsprogs. Sarà nelle versioni future.

quale sarebbe una ragione per evitare i file system più grandi di 16 TiB, ma quella nota è obsoleta: e2fsprogsdalla versione 1.42 (novembre 2011) è abbastanza capace di creare ed elaborare i file system più grandi di 16 TiB. mke2fsutilizza i tipi bige hugeper tali sistemi (in realtà, bigtra 4 e 16 TiB, hugeoltre); questi aumentano il rapporto degli inode in modo che venga fornito un numero inferiore di inode.

Tornando alla raccomandazione di Red Hat, a partire da RHEL 7.3 , XFS è il file system predefinito, supportato fino a 500 TiB e ext4 è supportato solo fino a 50 TiB. Penso che questo sia contrattuale piuttosto che tecnico, anche se la Guida all'amministrazione dello stoccaggio definisce i limiti in modo tecnico (senza entrare nei dettagli). Immagino che ci siano ragioni tecniche o prestazionali per il limite di 50 TiB ...

Le e2fsprogsnote di rilascio forniscono una ragione per evitare file system maggiori di 16 TiB: apparentemente, la resize_inodefunzione deve essere disabilitata su file system più grandi di questo.


Cosa ti porta a credere che le ragioni per usare xfs su ext4 siano contrattuali?
HSchmale,

5
@HSchmale Non intendo che ci sono ragioni contrattuali per l'utilizzo di XFS su ext4, intendo che quando Red Hat afferma che supportano XFS fino a 500 TiB e ext4 fino a 50 TiB, tale supporto implica aspetti contrattuali, cioè i clienti possono richiedere supporto fino a quelle dimensioni, ma oltre a ciò Red Hat non avrebbe alcun obbligo contrattuale a quanto ho capito. (Nota che lavoro per Red Hat, ma parlo solo per me stesso.)
Stephen Kitt,
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.