Dlaczego ext4 jest zalecane tylko do 16 TB?

28

W artykule na temat ext4 wiki widziałem, że ext4 może być używany do 1 EiB, ale jest zalecany tylko do 16 TiB. Dlaczego tak jest? Dlaczego XFS jest zalecany do większych systemów plików?

(ELICS: Wyjaśnij mi, że jestem studentem CS, ale bez dużej wiedzy na temat systemów plików)

Martin Thoma
źródło
Jeśli pracujesz z ogromnymi zestawami danych, system plików Zetabyte może być czymś wartym obejrzenia: en.wikipedia.org/wiki/ZFS : þ
Mioriin
16 TB to maksymalna liczba 4096-bajtowych bloków, które można uwzględnić w 32-bitowym liczniku. Wygląda na to, że 64-bitowy problem dotyczy ext4. XFS jest w pełni 64-bitowy od pierwszych dni SGI.
Andrew Henle
@Andrew limit ext4 wynosi obecnie 48 bitów, więc chociaż nadal istnieje 64-bitowy problem, nie jest tak zły, jak ograniczenie do 32 bitów.
Stephen Kitt
1
Tak, strona wikipedia mówi 100 TB w tekście i 16 TB w pasku bocznym, odniesienia do pierwszego pochodzą ze starego Red Hata i oczywiście przestarzałego Ext4_Howto (który miał 5 aktualizacji w ciągu ostatnich 4,1 lat). Może ktoś zainteresowany tym tematem powinien poszukać nowych źródeł i zaktualizować stronę? :)
ilkkachu

Odpowiedzi:

37

Dokładny cytat z wpisu Wikipedii ext4 to

Jednak Red Hat zaleca stosowanie XFS zamiast ext4 w przypadku woluminów większych niż 100 TB.

Ext4 howto wspomina, że

Kod do tworzenia systemów plików większych niż 16 TiB w chwili pisania tego artykułu nie jest w żadnej stabilnej wersji e2fsprogs. Będzie w przyszłych wydaniach.

co byłoby jednym z powodów, dla którego należy unikać systemów plików większych niż 16 TiB, ale ta uwaga jest nieaktualna: e2fsprogsponieważ wersja 1.42 (listopad 2011 r.) jest w stanie tworzyć i przetwarzać systemy plików większe niż 16 TiB. mke2fsużywa typów bigi hugedla takich systemów (w rzeczywistości bigmiędzy 4 a 16 TiB,huge poza); zwiększają one stosunek i-węzłów, dzięki czemu rezerwuje się mniej i-węzłów.

Wracając do rekomendacji Red Hat, od wersji RHEL 7.3 , XFS jest domyślnym systemem plików, obsługiwanym do 500 TiB, a ext4 obsługiwanym jest tylko do 50 TiB. Myślę, że jest to raczej umowne niż techniczne, chociaż Przewodnik Administrowania Magazynem określa granice w sposób techniczny (bez wchodzenia w szczegóły). Wyobrażam sobie, że z przyczyn technicznych lub osiągi limitu 50 TIB ...

Informacje o e2fsprogswydaniu dają jeden powód, aby unikać systemów plików większych niż 16 TiB: najwyraźniej resize_inodefunkcja ta musi być wyłączona w systemach plików większych niż to.

Stephen Kitt
źródło
Co sprawia, że ​​uważasz, że powody używania XFS w stosunku do ext4 są umowne?
HSchmale
5
@HSchmale Nie mam na myśli umownych powodów używania XFS w stosunku do ext4, mam na myśli, że kiedy Red Hat mówi, że obsługują XFS do 500 TiB i ext4 do 50 TiB, to wsparcie obejmuje aspekty umowne, tj. Klienci mogą żądać wsparcia do tych rozmiarów, ale poza tym Red Hat nie miałby żadnych zobowiązań umownych, tak jak to rozumiem. (Pamiętaj, że pracuję dla Red Hat, ale mówię tylko dla siebie.)
Stephen Kitt