Você provavelmente deve usar o sistema de arquivos XFS para isso.
O ext4 não é adequado para essa carga de trabalho porque você está em um SSD e tem uma contagem de arquivos muito alta. Há uma razão pela qual a Red Hat agora tem como padrão o XFS .
Eu inicializei uma partição primária grande com o sinal -T small para mke2fs , small no sistema está configurado da seguinte forma:
small = {
blocksize = 1024
inode_size = 128
inode_ratio = 4096
}
Este é um SSD de 800 GB (drive de nuvem) que será o lar de mais de 10 milhões de arquivos pequenos, variando de ~ 10KB a ~ 100KB.
Eu tentei ir a fundo as man pages de mount e descobrir a melhor combinação de flags e aqui está minha lista:
rw - ler e escrever
nosuid - não há necessidade de ID de usuário ou grupo na execução
nodev - arquivos block dev nunca devem aparecer aqui
noexec - arquivos com exec bit set também não são bem vindos
auto - permite mount -a
nouser - somente root pode (re) montar
async - escrita assíncrona
relatime - atualiza o tempo de acesso somente quando arquivos são modificados.
data=ordered - presumivelmente deve melhorar o desempenho de leitura
errors=remount-ro - pare de escrever quando houver erros
discard - recomendado para SSD
auto_da_alloc - combate a corrupção do sistema de arquivos em caso de falha de energia (talvez não seja necessário, já que esta é uma unidade de nuvem?)
inode_readahead_blks=16 - o sistema de arquivos será o lar do grande grupo de arquivos pequenos, portanto, o grande readahead não deve ser mais do que uma penalidade de desempenho. Eu não sabia o valor ideal para arquivos de tamanho médio de 50KB, então coloque aqui duas vezes menos valor que o padrão.
debug Eu realmente preciso de uma segunda opinião de alguém mais experiente nesses assuntos. Estou particularmente inseguro sobre as sinalizações discard , relatime , data=ordered , auto_da_alloc , inode_readahead_blks e outras, que eu perdi ou compreendi mal. Quão perigoso é data=writeback ? Quantos dados eu posso perder com esse sinalizador, são apenas os últimos 5 segundos (valor padrão de confirmação)? Outro insight sobre este exercício?
Você provavelmente deve usar o sistema de arquivos XFS para isso.
O ext4 não é adequado para essa carga de trabalho porque você está em um SSD e tem uma contagem de arquivos muito alta. Há uma razão pela qual a Red Hat agora tem como padrão o XFS .
Tags mount ext4 filesystems