Sistema de arquivos com espaço, mas sem espaço! Como pode?

Share
banner

Olá. Esse pequeno artigo vem alertar os 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

_______________________________________________________
# touch arq{1..5}
# ls -i arq*

50302 prd1 50303 prd2 50304 prd3 50305 prd4 50306 prd5
_______________________________________________________

Acabos 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 que? 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

PUBLICIDADE


Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.

Sobre o Autor

Blogueiro, fundador do Blog Seja Livre, Nerd inveterado, louco por Linux e músico nas horas vagas. Atualmente é o Editor Chefe, Consultor de SEO e Webdesign do Seja Livre, e possui algumas certificações em Linux e Administração de Redes.

  • daniel

    E quando não da para gravar mais nada o que fazer? Reformata?

    • victorhugopc

      delete alguma coisa, faça backup do que interessa, reformata…
      normalmente o que consome muitos inodes são arquivos de log de sessão etc etc