Docker consumindo muito armazenamento no Btrfs |
Containers são combinações de recursos do Linux como o namespace e cgroups. Recursos esse que eu já apresentei aqui no meu artigo Linux: Mais do que um Unix e trata-se dos mesmos recursos que são utilizados pelo systemd e por várias outras aplicações. Ferramentas como Docker e Kubernetes servem na verdade para facilitar o uso de tais recursos já que raramente as pessoas criam containers manualmente. Devido o Docker trabalhar com o recurso Copy-on-Write, o sistema de arquivos indicado na criação de seus containers é o Btrfs.
No dia 02 de Novembro, Chris Murphy reportou a equipe do Btrfs um bug que ocorre no Docker que consome muito espaço de armazenamento. Esse é um bug que já havia sido reportado em Outubro de 2016 por um usuário chamado no GitHub de Ghost e ainda permanece em aberto.
Ghost explica como reproduzir tal bug e acaba sendo de forma muito simples:
- Instale o docker em um sistema com btrfs
- Utilize o docker intensivamente por um tempo e certifique-se de remover & recriar os containers, rebuild com a opção no cache e reiniciar o sistema, ...
- Após isso, confira o espaço em disco
Chris chega a mencionar que não sabe de quem é o bug; se do Docker, ou do driver btrfs "graph" que o Docker utiliza, ou se é um bug do kernel (btrfs) e que pode haver mais de um bug.
Nikolay Borisov da Suse que isso pode estar relacionado ao comportamento das pessoas não sabendo como utilizar Docker. Nikolay reforça que apenas excluir um container não significa que obterá o espaço livre sendo necessário executar prune -a.
"Eu realizei um monte de testes hoje inciando um container, parando, excluindo-o, podando (pruning) images e tudo funcionou como esperado." Mencionou Nikolay
Chris diz que agora se questiona se esse é um comportamento único do btrfs graphdriver e que talvez precisam realizar o mesmo conjunto de testes com o btrfs graphdriver, reset, depois repetir a operação com o overlay2 graphdriver e verificar se há uma diferença significativa.
No decorrer das semanas veremos se realmente há um problema que irão trabalhar para solucionar ou se trata-se de um falso positivo.
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.