O Docker cria arquivos enormes de mapeador de dispositivos

2

hoje, notei durante o backup que o docker 17.05 cria dois arquivos muito grandes em /var/lib/docker/devicemapper/devicemapper/ no Debian Stretch .

-rw------- 1 root root 100G Dez  8 22:50 data
-rw------- 2 root root 2,0G Dez  7 01:22 metadata

Meu problema: Meu servidor tem um SSD de 120 GB e a partição / é

root@server:/# df -h /
Dateisystem                 Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mapper/server--vg-root   71G     32G   37G   47% /

Então, como isso é possível? E porque? Esses arquivos consomem grandes quantidades do meu backup e eu o excluí. O daemon do Docker não será iniciado sem ele.

Eu tenho um único aplicativo em execução no docker: PlexMediaServer com este script: link

E sim, há um volume contendo todos os meus arquivos de música e vídeo. Mas isso é no RAID, não na unidade do sistema.

Ao restaurar o arquivo a partir do backup, são necessárias horas e tenho certeza de que ele preencherá meu SSD completamente e depois parará.

    
por Corni 15.12.2017 / 23:24

2 respostas

3

Esse arquivo é conhecido como arquivo esparso . Aqui está um trecho da definição da wikipedia:

In computer science, a sparse file is a type of computer file that attempts to use file system space more efficiently when the file itself is mostly empty. This is achieved by writing brief information (metadata) representing the empty blocks to disk instead of the actual "empty" space which makes up the block, using less disk space. The full block size is written to disk as the actual size only when the block contains "real" (non-empty) data.

Na verdade, ele não consome os 100 GB de espaço em disco. O que está sendo exibido por ls é o "tamanho aparente". Para ver a quantidade de espaço em disco que está realmente consumindo, você pode usar o comando du .

# ls -lh /var/lib/docker/devicemapper/devicemapper/data 
-rw------- 1 root root 100G Dec 13 15:00 /var/lib/docker/devicemapper/devicemapper/data
# du -sh /var/lib/docker/devicemapper/devicemapper/data 
43G     /var/lib/docker/devicemapper/devicemapper/data

A documentação do docker contém informações sobre as práticas recomendadas para fazer o backup de volumes.

    
por 16.12.2017 / 09:38
-1

Eu resolvi o problema:

mv /var/lib/docker /raid/docker
rm -r /var/lib/docker
ln -s /raid/docker /var/lib/docker
    
por 16.12.2017 / 09:51

Tags