Почему ext4 рекомендуется только до 16 ТБ?

28

В статье про ext4 вики я видел, что ext4 может использовать до 1 EiB, но рекомендуется только до 16 TiB. Почему это так? Почему XFS рекомендуется для больших файловых систем?

(ELICS: объясните мне, что я студент CS, но без особых знаний в области файловых систем)

Мартин Тома
источник
Смотрите также: Что ограничивает количество дисков в RAID?
Мартин Тома,
Если вы работаете с огромными наборами данных, возможно, стоит взглянуть на файловую систему Zetabyte: en.wikipedia.org/wiki/ZFS : þ
Mioriin
16 ТБ - это максимальное количество 4096-байтовых блоков, которое можно учесть с помощью 32-разрядного счетчика. Похоже, что есть 64-битная проблема с ext4. XFS полностью поддерживает 64-битную архитектуру с первых дней существования SGI.
Эндрю Хенле
@ В настоящее время ограничение ext4 составляет 48 бит, поэтому, несмотря на то, что существует проблема с 64 битами, это не так плохо, как ограничение 32 битами.
Стивен Китт,
1
Да, на странице википедии написано 100 ТБ в тексте и 16 ТБ на боковой панели, ссылки на первую относятся к старой Red Hat и явно устаревшему Ext4_Howto (в котором было 5 обновлений за последние 4,1 года). Может быть, кто-то интересуется этой темой, должен поискать новые источники и обновить страницу? :)
ilkkachu

Ответы:

37

Точная цитата из записи ext4 в Википедии :

Однако Red Hat рекомендует использовать XFS вместо ext4 для томов размером более 100 ТБ.

В ext4 говорится, что

На момент написания этой статьи код для создания файловых систем размером более 16 ТиБ отсутствует в каком-либо стабильном выпуске e2fsprogs. Это будет в будущих выпусках.

это было бы одной из причин избегать файловых систем размером более 16 ТиБ, но это примечание устарело: e2fsprogsначиная с версии 1.42 (ноябрь 2011 г.) вполне можно создавать и обрабатывать файловые системы размером более 16 ТиБ. mke2fsиспользует bigи hugeтипы для таких систем (на самом деле, bigмежду 4 и 16 ТиБ, hugeза пределами); они увеличивают соотношение инодов, так что обеспечивается меньше инодов.

Возвращаясь к рекомендации Red Hat, начиная с RHEL 7.3 , XFS является файловой системой по умолчанию, поддерживает до 500 ТиБ, а ext4 поддерживает только до 50 ТиБ. Я думаю, что это скорее договорные, чем технические, хотя Руководство по администрированию хранилищ формулирует ограничения технически (не вдаваясь в подробности). Я предполагаю, что есть технические или производственные причины для ограничения в 50 ТиБ ...

В e2fsprogsпримечаниях к выпуску действительно дают одну причину , чтобы избежать файловых систем размером более 16 Тб: судя по всему, resize_inodeфункция может быть отключена в файловых системах больше , чем это.

Стивен Китт
источник
Что заставляет вас верить, что причины использования xfs вместо ext4 являются договорными?
HSchmale
5
@HSchmale Я не имею в виду, что существуют контрактные причины для использования XFS над ext4, я имею в виду, что, когда Red Hat заявляет, что поддерживает XFS до 500 ТиБ и ext4 до 50 ТиБ, эта поддержка включает в себя договорные аспекты, то есть клиенты могут требовать поддержки до тех размеров, но помимо этого у Red Hat не будет никаких договорных обязательств, как я понимаю. (Обратите внимание, что я работаю в Red Hat, но говорю только за себя.)
Стивен Китт,