OverlayFS: как я могу удалять файлы, а не скрывать их

8

Я пытаюсь объединить две точки монтирования в один каталог, чтобы он объединял файлы из обеих точек в одну точку монтирования. Я делаю несколько тестов с overlayfs и смог создать объединенную точку монтирования, но проблема возникает, когда я удаляю файлы из этого объединенного каталога.

Я понимаю, что у overlayfs есть верхняя и нижняя файловая система, и если вы удаляете что-то из нижнего, это создает «белое» в верхней файловой системе, которое в основном просто скрывает файл от нижнего от «просвечивающего» до объединенного слоя. Файл по-прежнему занимает место в нижней файловой системе; это просто не представлено как доступное.

У меня вопрос: как удалить файл из верхней и нижней файловых систем и восстановить пространство, используемое удаленным файлом, а не просто скрыть его? Я могу вручную удалить файл из объединенного каталога, а затем из нижнего каталога (это плохо делать?), Но df -haвсе равно показывает, что объединенный каталог занимает место:

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

Как правильно удалить файлы из файловой системы overlayfs и правильно сообщить о точном использовании диска?

Кен С.
источник
Вы смотрели в aufs вместо этого?
Птман
rsync кажется здесь потенциальным методом - если есть способ заставить его только удалять, а не копировать,
Jasen

Ответы:

2

Оверлей делает следующее:

У вас есть 2 каталога, нижний - только для чтения, верхний - для чтения и записи. Удалить файлы можно только из слоя, доступного для записи.

Оверлей не предназначен для того, чего вы пытаетесь достичь. Более того, ожидается, что нижний каталог не изменится, поэтому у вас могут возникнуть проблемы.

Если вам действительно нужно объединить несколько дисков, используйте lvm. Это также работает с файлами.

Gothrek
источник
1

Вы не можете, кроме удаления файла, используя оригинальный путь (/ lower1 / file). OverlayFS не предназначен для объединения Mounts таким образом, чтобы создать совместное записываемое хранилище.

Макс Крюгер
источник