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