O que é um Inode?
limite de inodes. O termo Inode (index node) refere-se a uma estrutura de dados no sistema de arquivos que armazena metadados sobre um arquivo ou diretório. Pense no Inode como a ficha técnica de um arquivo: ele guarda tudo, exceto o nome do arquivo e o conteúdo real.
O que o Inode armazena:
- Tamanho do arquivo.
- Permissões (RWX).
- Proprietário (UID) e Grupo (GID).
- Timestamps (Acesso, Modificação, Alteração).
- Localização física dos blocos de dados no disco.
Como o limite de Inodes quebra o servidor
Cada vez que um arquivo ou pasta é criado, um Inode é consumido. O problema é que a quantidade total de Inodes é definida no momento da formatação da partição. Se você atingir 100% de uso de Inodes, o sistema se comportará exatamente como se o disco estivesse cheio:
- Falha em serviços críticos: Bancos de dados não conseguem criar arquivos temporários.
- Logs interrompidos: O
syslogou ojournaldparam de registrar eventos. - Impossibilidade de login: O SSH pode falhar se não conseguir criar sessões ou arquivos de trava (lock files).
- E-mails bloqueados: Servidores de e-mail (Postfix/Exim) travam ao tentar enfileirar mensagens.
O Sintoma Clássico: Você executa
df -he vê que tem 50% de espaço livre, mas ao tentar criar um arquivo comtouch teste.txt, recebe o erro:No space left on device.
Diagnóstico e Solução
Para identificar se o problema é realmente o limite de Inodes, você deve usar o comando:
Bash
df -i
Os Maiores Culpados
Geralmente, o esgotamento de Inodes é causado por milhões de arquivos minúsculos. Os suspeitos usuais são:
- Sessões de PHP: Milhares de arquivos de sessão em
/var/lib/php/sessions. - Arquivos Temporários: Acúmulo em
/tmp. - Cache de Imagens: Miniaturas geradas por CMS como WordPress.
- Fila de E-mail: Milhares de e-mails de notificação ou spam parados no spool.
- Microserviços mal configurados: Logs fragmentados em arquivos de poucos bytes.
Como Prevenir
- Monitoramento Ativo: Não monitore apenas
df. Configure alertas paradf -ino seu Zabbix, Grafana ou Datadog. - Scripts de Limpeza (Cron): Automatize a exclusão de sessões antigas e arquivos temporários.
- Escolha do Sistema de Arquivos: * O EXT4 reserva um número fixo de Inodes na criação (geralmente 1 inode a cada 16KB de espaço).
- O XFS aloca Inodes dinamicamente, sendo muito mais resiliente a esse problema específico.
- Ajuste na Formatação: Se você sabe que o servidor terá bilhões de arquivos pequenos, pode formatar o EXT4 com uma densidade de Inodes maior usando
mkfs.ext4 -i <bytes-per-inode>.
FAQ
Significa que o sistema de arquivos atingiu o limite máximo de entradas (arquivos, diretórios, links) que pode gerenciar. Mesmo que haja espaço em GB, o sistema não pode criar novos nomes de arquivos
Você pode verificar o uso de inodes executando o comando df -i no terminal. Ele exibirá a porcentagem de inodes usados em cada partição.
Para liberar inodes, você deve excluir arquivos. Foque em pastas de sessões temporárias, cache de imagens, logs antigos ou filas de e-mail (spool). Apagar um arquivo grande libera espaço em GB; apagar mil arquivos pequenos libera 1.000 inodes.
Diferente do EXT4, o sistema de arquivos XFS aloca inodes dinamicamente. Isso torna o esgotamento de inodes muito mais raro no XFS, embora ainda existam limites teóricos baseados na capacidade total do disco.

