Esse pequeno artigo vem alertar aos colegas administradores linux quanto ao uso inconsciente do File System (Sistema de Arquivos), no que se refere aos inodes. Mas afinal, o que é um inode? Na Wikipedia temos a seguinte definição para esse conceito: “Em computação, um inode (index node) é uma estrutura de dados encontrados em muitos sistemas de arquivos Unix. Cada inode armazena as informações sobre um objeto do sistema de arquivos, exceto o conteúdo de dados e nome do arquivo”. Ou seja, ele guarda endereçamentos, informações sobre seus arquivos como permissões, etc.
Tudo bem, então, como fazemos para visualizar esses inodes, se isso for possível?
O comando “ls -i” (com o parâmetro -i) nos mostra o endereço serial de um arquivo listado. Vamos ver um exemplo:
Cenário
[code] # touch arq{1..5}
# ls -i arq*
50302 prd1 50303 prd2 50304 prd3 50305 prd4 50306 prd5 [/code]
Acabo de criar 5 arquivos comuns e vazios e em seguida, listamos seus endereços seriais, ou seja, seus respectivos inodes.
Também é possível analisar (e altamente recomendado) a quantidade de inodes disponível para uso em um File System. Por quê? A resposta não é tão simples, mas precisamos de um nível considerável de abstração. Vamos lá…
Imagine uma partição /dados montada sobre /dev/sda9 com aproximados 10 GB livres para gravação de dados e imagine que nessa mesma partição eu tenha uma quantidade de inodes = 10.000 (valor fictício). Ok, teoricamente, eu me preocuparia apenas com o espaço em disco disponível, os meus 10 GB, porém, eu posso gravar muitos arquivos nesse File System de forma a ocupar todos os inodes disponíveis e não conseguir gravar mais nada, mesmo tendo espaço em disco disponível. Como isso é possível? Acabamos de criar um cenário que nos facilita a resposta para essa pergunta… imagine que seus arquivos possuam em média 100 KB cada; com arquivos desse tamanho, você ocuparia mais inodes do que espaço em GB disponíveis no File System e ao estourar os endereços seriais, você poderia ter por exemplo, mais de 50% de espaço livre em GB mas com os 10.000 inodes ocupados e assim, não conseguiria gravar mais nenhum dado.
Como verificar o espaço em disco e a quantidade de inodes nos File Systems?
Aplique o seguinte comando:
# df -hi
O que será exibido é a estatística do uso de inodes em KB e %. Agora, verifique o espaço em GB:
# df -h
Com esses comandos, você já tem uma ideia da mais nova preocupação que deve ter com seu servidor de arquivos e agora, pode repensar um novo disco com opções de formatação mais específicas (sim, é possível mudar a utilização dos inodes na criação do disco).
Outra dica legal seria automatizar o monitoramento do uso dos inodes e do espaço em disco com uma ferramenta chamada Zabbix; com ela, você programa um alerta, mensagem de texto, dentre outras, sempre que o disco estiver estourando a quantidade de inodes e/ou espaço em disco.
Espero ter colaborado para a rotina da administração de servidores linux dos colegas leitores.
Artigo enviado por Paulo Roberto Deolindo Junior, Coordenador de Treinamentos da Treinatux Interativa – contato@treinatux.com.br