J'essaie d'agréger deux points de montage dans un seul répertoire afin qu'il combine les fichiers des deux dans un seul point de montage. Je fais des tests avec overlayfs et j'ai pu créer le point de montage fusionné, mais le problème survient lorsque je supprime des fichiers de ce répertoire fusionné.
Je comprends que overlayfs a un système de fichiers supérieur et inférieur et que si vous supprimez quelque chose du bas, cela crée un "blanc" sur le système de fichiers supérieur qui masque simplement le fichier du bas du "brillant" au calque fusionné. Le fichier occupe toujours de l'espace sur le système de fichiers inférieur; il n'est tout simplement pas présenté comme disponible.
Ma question est: comment supprimer un fichier des systèmes de fichiers supérieur et inférieur et récupérer l'espace utilisé par le fichier supprimé, et pas seulement le cacher? Je peux supprimer manuellement le fichier du répertoire fusionné puis du répertoire inférieur (est-ce une mauvaise chose à faire?) Mais df -ha
montre toujours que le répertoire fusionné occupe de l' espace:
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
Quelle est la bonne façon de supprimer des fichiers d'un système de fichiers overlayfs et de signaler correctement une utilisation précise du disque?
la source
Réponses:
Ce que fait Overlay est le suivant:
Vous avez 2 répertoires, inférieur qui est en lecture seule et supérieur qui est en lecture-écriture. Il est uniquement possible de supprimer des fichiers de la couche inscriptible.
La superposition n'a pas été conçue pour ce que vous essayez de réaliser. De plus, il s'attend à ce que le répertoire inférieur ne change pas vraiment, vous pourriez donc vous retrouver avec des problèmes.
Si vous devez vraiment fusionner plusieurs disques, utilisez lvm. Il fonctionne également sur les fichiers.
la source
vous ne pouvez pas, en plus de supprimer le fichier en utilisant le chemin d'origine (/ lower1 / file). OverlayFS n'est pas destiné à fusionner les montages de cette manière, pour créer un stockage accessible en écriture conjoint.
la source