7.3. Sistemas de Arquivos

7.3.1. Sistema de Arquivo Ext4

O sistema de arquivo ext4 é uma extensão escalável do sistema de arquivo ext3 padrão disponível noRed Hat Enterprise Linux 5. O Ext4 é agora o sistema de arquivo padrão para Red Hat Enterprise Linux 6 e é suportado por um tamanho máximo de arquivo do sistema de 16TB, e um único tamanho máximo de 16TB.Isto também remove o limite de sub-diretório de 32000 presente no ext3.

Nota

Para sistemas de arquivo maiores do que 16TB, recomendamos o uso do sistema de arquivo de alta capacidade escalável tal como XFS. Para mais informações, veja Seção 7.3.2, “O Sistema de Arquivo XFS”.
O padrão do sistema de arquivo ext4 é adequado para a maioria das cargas de trabalho, mas se a análise de desempenho mostra que o comportamento de sistema de arquivo está impactando o desempenho, diversas opções de ajuste estão disponíveis:
Inicialização de tabela do Inode

Para sistemas de arquivo muito grandes, o processo mkfs.ext4 pode levar um longo tempo para inicializar todas as tabelas de inodes no sistema de arquivo. Este processo pode ser deferido com a opção -E lazy_itable_init=1. Se for utilizado, os processos do kernel continuarão a inicializar o sistema de arquivo após ser montado. A taxa na qual esta inicialização acontece pode ser controlada com a opção -o init_itable=n para o comando mount, onde a quantia de tempo gasta na realização n esta inicialização de fundo é mais ou menos 1/n. O valor padrão para n é de 10.

Comportamento auto-fsync

Como alguns aplicativos nem sempre realizam o fsync() adequadamente após renomear um arquivo existente, ou truncado e regravado, o padrão do ext4 é a sincronização automática de arquivos após operações de substituição via renome e substituição via truncar. Este comportamento é altamente consistente com comportamentos de sistema de arquivo ext3 mais velhos. No entanto, as operações de fsync() podem consumir bastante tempo, portanto se este comportamento automático não for necessário, use a opção -o noauto_da_alloc com o comando mount para desabilitá-lo Isto significa que o aplicativo deverá utilizar explicitamente o fsync() para assegurar persistência de dados.

Prioridade de E/S de Diário

Por padrão, a E/S de comprometimento de diário recebe uma prioridade uma pouco mais alta do que uma E/S normal. Esta prioridade pode ser controlada com a opção journal_ioprio=n do comando mount. O valor padrão é 3. Valores válidos variam desde 0 à 7, sendo 0 a E/S com prioridade mais alta.

Para outras opções mkfs e ajuste, veja as páginas man mkfs.ext4(8) e mount(8) assim como o arquivo Documentation/filesystems/ext4.txtno pacote kernel-doc.