Um inode órfão é um arquivo que é “semi-excluído”: não tem mais entrada de diretório, mas ainda está aberto em algum processo, portanto os dados ainda estão presentes no disco. Quando o último processo que tem este arquivo aberto o fecha, o arquivo será totalmente apagado e o inode órfão desaparecerá.
Um inode órfão usa um inode e o espaço em disco para armazenar o arquivo, portanto, df
e df -i
contam como usado. Portanto, se o disco for relatado como cheio, mas df
mostrar algum espaço restante, isso não pode estar relacionado a inodes órfãos. Os inodes órfãos são uma das razões pelas quais o uso do sistema de arquivos reportado por df
e o tamanho total do arquivo relatado por du
podem diferir; veja Por que existem tantas maneiras diferentes medir o uso do disco? para obter mais detalhes sobre este tópico.
Muitos sistemas de arquivos reservam um número fixo de inodes quando o sistema de arquivos é criado, o que significa que você pode ter, no máximo, muitos arquivos no sistema de arquivos. O número de inodes é um compromisso entre o espaço usado pelos inodes e a capacidade de criar muitos arquivos. Se não houver mais espaço no sistema de arquivos, não será possível desenvolver os arquivos existentes ou criar novos arquivos (talvez você ainda possa criar alguns arquivos vazios em diretórios existentes, desde que eles só estejam preenchendo blocos parcialmente usados e não requerendo que um novo bloco seja alocado). Se não houver mais inode gratuito, você poderá desenvolver os arquivos existentes, mas não poderá criar um novo arquivo.
O kernel reporta o mesmo erro para os aplicativos, independentemente de um sistema de arquivos estar cheio devido à falta de espaço para dados ou devido à falta de inodes. Assim, você pode obter um erro de “disco cheio” mesmo se ainda houver algum espaço de dados, se a operação exigisse um novo inode e a tabela de inodes estivesse cheia. Execute df -i
para saber quantos inodes são usados e quantos são deixados.