Estou tentando agregar dois pontos de montagem em um único diretório para que ele combine 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 deste diretório mesclado.
Entendo que o overlayfs possui um sistema de arquivos superior e inferior e que, se você excluir algo da parte inferior, cria um "whiteout" no sistema de arquivos superior que basicamente apenas oculta o arquivo da parte inferior de "brilhando" para a 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? Posso excluir manualmente o arquivo do diretório mesclado e, em seguida, do diretório inferior (isso é algo ruim de se 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 overlayfs e relatar adequadamente um uso preciso do disco?
fonte
Respostas:
O que Overlay faz é o seguinte:
Você tem 2 diretórios, inferior, que é somente leitura, e superior, que é leitura e gravação. 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 que o diretório inferior não mude realmente, portanto, você pode ter problemas.
Se você realmente precisar mesclar várias unidades, use lvm. Também funciona em arquivos.
fonte
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.
fonte