Page cover

Malabarismo com link simbólico

Como usar links simbólicos para aumentar o espaço em disco sem reiniciar o servidor.

Imagine que o disco esta cheio, e a aplicacao esta rodando:

  • Sem LVM configurado;

  • Servidor nao pode ser bootado;

  • Foi adicionado um disco externo;

  • A aplicacao nao pode parar por muito tempo.

A solucao aqui é fazer com que a aplicacao passe a escrever no disco novo, e migrar tudo que havia armazenado antes, tambem para o disco novo.

Bom, podemos usar o comando abaixo, para achar qual diretório está ocupando mais espaço:

du -d 1 -cha / 2>/dev/null | grep -E 'G|M'

E supondo que você descobriu que o diretório era de fato da sua aplicação no /var , e não há como expandir o volume, nem a partição raiz configurada, diante disso, podemos fazer a sua aplicação achar que está armazenando no /var/aplicação , quando na verdade, esta sendo usado o espaço disponível no disco recém adicionado (referenciado na imagem, como /dev/sdb1).

Adicione o novo disco, monte em um diretório qualquer, pare a sua aplicação, e mova os arquivos para o novo diretório:

/etc/init.d/aplicação stop
mv /var/aplicação /disconovo
ln -s /disconovo/aplicação /var/

Agora /var/aplicação é apenas um link simbólico, como um atalho na sua área de trabalho.

Se você fizer ln -s /var/aplicacao /var/link, então /var/link será um arquivo que irá fazer referencia ao conteúdo de /var/aplicacao.

Logo ls /var/link, tentará obter uma listagem de diretórios para /var/link, e o sistema devolverá uma listagem do conteúdo de /var/aplicacao.

O mesmo serve na hora de escrever os arquivos.

Referencia

Symbolic link - Wikipedia

How to save space with-ymlinks

Atualizado

Isto foi útil?