OverlayFS: Como posso excluir arquivos, não escondê-los

8

Estou tentando agregar dois pontos de montagem em um único diretório para que eles combinem os arquivos de ambos em um único ponto de montagem. Estou fazendo alguns testes com overlayfs e consegui criar o ponto de montagem mesclado, mas o problema ocorre quando eu excluo arquivos desse diretório mesclado.

Eu entendo que o overlayfs tem um sistema de arquivos superior e um inferior e que, se você excluir algo do nível inferior, cria um "whiteout" no sistema de arquivos superior que basicamente apenas oculta o arquivo do inferior de "shining through" para o camada mesclada. O arquivo ainda ocupa espaço no sistema de arquivos inferior; simplesmente não é apresentado como disponível.

Minha pergunta é: como faço para excluir um arquivo dos sistemas de arquivos superior e inferior e recuperar o espaço usado pelo arquivo excluído, e não apenas ocultá-lo? Eu posso excluir manualmente o arquivo do diretório mesclado e, em seguida, do diretório inferior (isso é uma coisa ruim a fazer?), Mas df -ha ainda mostra o diretório mesclado como ocupando espaço:

none                            6.8G  1.9G  4.6G  30% /var/www/merged
/dev/loop0                      380M  2.3M  354M   1% /mnt/lower1
/dev/loop1                      380M  2.3M  354M   1% /mnt/lower2
/dev/loop2                      380M  2.3M  354M   1% /mnt/upper
none                            380M  2.3M  354M   1% /mnt/merged

Qual é a maneira correta de excluir arquivos de um sistema de arquivos de sobreposição e relatar corretamente um uso de disco preciso?

    
por Ken S. 22.03.2016 / 21:51

2 respostas

2

O que a sobreposição faz é o seguinte:

Você tem dois diretórios, menor que é somente leitura e superior, que é leitura escrita. Só é possível remover arquivos da camada gravável.

A sobreposição não foi projetada para o que você está tentando alcançar. Além disso, espera-se que o diretório inferior não mude de fato, então você pode acabar com problemas.

Se você realmente precisa mesclar várias unidades, use lvm. Também funciona em arquivos.

    
por 01.03.2018 / 22:40
1

você não pode, além de excluir o arquivo usando o caminho original (/ lower1 / file). O OverlayFS não se destina a mesclar montagens dessa maneira, para criar um armazenamento gravável conjunto.

    
por 04.01.2018 / 08:41