Por que o ext4 é recomendado apenas até 16 TB?

28

No artigo ext4 wiki, vi que o ext4 pode ser usado até 1 EiB, mas é recomendado apenas até 16 TiB. Por que é esse o caso? Por que o XFS é recomendado para sistemas de arquivos maiores?

(ELICS: Me explique como se eu fosse um estudante de CS, mas sem muito conhecimento em sistemas de arquivos)

Martin Thoma
fonte
Consulte também: O que limita o número de unidades no RAID?
Martin Thoma
Se você estiver trabalhando com grandes conjuntos de dados, o Zetabyte File System pode ser algo que vale uma olhada: en.wikipedia.org/wiki/ZFS : þ
Mioriin
16 TB é o número máximo de blocos de 4096 bytes que podem ser contabilizados com um contador de 32 bits. Parece que há uma preocupação de 64 bits com o ext4. O XFS é totalmente compatível com 64 bits desde os primeiros dias de SGI.
Andrew Henle
@Andrew, o limite ext4 atualmente é de 48 bits, embora ainda exista uma preocupação de 64 bits, não é tão ruim quanto estar limitado a 32 bits.
Stephen Kitt
1
Sim, a página da wikipedia diz 100 TB no texto e 16 TB na barra lateral. As referências ao primeiro são de um antigo Red Hat e o Ext4_Howto, obviamente desatualizado (que teve 5 atualizações nos últimos 4,1 anos). Talvez alguém interessado no assunto deva procurar algumas fontes mais recentes e atualizar a página? :)
ilkkachu

Respostas:

37

A citação exata da entrada ext4 da Wikipedia é

No entanto, a Red Hat recomenda usar o XFS em vez do ext4 para volumes maiores que 100 TB.

O ext4 howto menciona que

O código para criar sistemas de arquivos maiores que 16 TiB não está, no momento da redação deste artigo, em nenhuma versão estável do e2fsprogs. Será em versões futuras.

o que seria um motivo para evitar sistemas de arquivos maiores que 16 TiB, mas essa observação está desatualizada: e2fsprogsuma vez que a versão 1.42 (novembro de 2011) é capaz de criar e processar sistemas de arquivos maiores que 16 TiB. mke2fsusa os tipos bige hugepara esses sistemas (na verdade, bigentre 4 e 16 TiB, hugealém); eles aumentam a taxa de inodes, para que menos inodes sejam provisionados.

Retornando à recomendação da Red Hat, a partir do RHEL 7.3 , o XFS é o sistema de arquivos padrão, suportado até 500 TiB, e o ext4 é suportado apenas até 50 TiB. Acho que isso é contratual e não técnico, embora o Guia de Administração de Armazenamento defina os limites de maneira técnica (sem entrar em muitos detalhes). Eu imagino que são razões técnicas ou de desempenho para o limite de 50 TiB ...

As e2fsprogsnotas de versão fornecem um motivo para evitar sistemas de arquivos maiores que 16 TiB: aparentemente, o resize_inoderecurso deve ser desativado em sistemas de arquivos maiores que isso.

Stephen Kitt
fonte
O que o leva a acreditar que os motivos para usar xfs sobre ext4 são contratuais?
HSchmale
5
@HSchmale Não quero dizer que há razões contratuais para usar o XFS no ext4, quero dizer que quando a Red Hat diz que suporta XFS até 500 TiB e ext4 até 50 TiB, esse suporte envolve aspectos contratuais, ou seja , os clientes podem exigir suporte até esses tamanhos, mas além disso a Red Hat não teria nenhuma obrigação contratual como eu a entendo. (Note que eu trabalho para Red Hat, mas eu falo só por mim.)
Stephen Kitt