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?
ptman

rsync在这里似乎是一种潜在的方法-如果有一种方法可以告诉它仅删除而不是复制,
Jasen

Answers:


2

叠加的作用如下:

您有2个目录,较低的是只读目录,较高的是读写目录。只能从可写层中删除文件。

尚未针对您要实现的目标设计覆盖图。此外,它期望下目录不会真正改变,因此您可能会遇到问题。

如果确实需要合并多个驱动器,请使用lvm。它也适用于文件。


1

除了使用原始路径(/ lower1 / file)删除文件外,您不能这样做。OverlayFS并非旨在以这种方式合并Mount,以创建联合的可写存储。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.