标签: aufs

tmpfs 填满了,虽然很少使用。我该如何调试这个

我有一个在 tmpfs 上带有 / 的系统。大多数 / 子目录都挂载了 aufs,覆盖读写根文件系统和只读基本文件系统(系统从只读介质启动)。早些时候,我曾经使用 unionfs 而不是 aufs。它一直正常工作,直到最近 tmpfs 开始填满。我不确定是什么触发了变化。可能是 unionfs 到 aufs 的更改、内核升级或系统中的某些更改以及它如何访问文件系统。

无论如何,似乎是 tmpfs 的行为有些错误。

虽然系统应该不会对tmpfs写很多,但是用完还是蛮多的:

# df -m /
Filesystem     1M-blocks  Used Available Use% Mounted on
tmpfs                200    50       151  25% /
Run Code Online (Sandbox Code Playgroud)

尽管:

# du -smx /
2       /
Run Code Online (Sandbox Code Playgroud)

这是我的测试系统,基本上什么都不做。当使用率迅速超过 90% 并且系统崩溃时,生产系统上的东西就会磨损。

我怀疑这些已删除的文件仍然打开,但是:

# lsof | grep deleted
Run Code Online (Sandbox Code Playgroud)

什么都不显示。

另一个想法是, / 上的某些文件被安装在其上的文件系统屏蔽,所以我尝试了这个:

# mount --bind / /mnt
# du -sm /mnt
2       /mnt
Run Code Online (Sandbox Code Playgroud)

尽管如此,仍然没有丢失 48MB 的痕迹。

我怎样才能找出是什么用完了我的 tmpfs 文件系统?

系统信息:

# uname -rm
3.4.6 …
Run Code Online (Sandbox Code Playgroud)

linux tmpfs aufs

5
推荐指数
1
解决办法
7295
查看次数

Redhat Fedora 中缺少 AUFS,是否有另一种堆叠目录的方法?

我在 Redhat 的 Fedora 或任何其他可堆叠的文件系统中找不到 Aufs。

这似乎是由于 SELinux 的重新标记限制所致。

有没有办法在不诉诸文件/目录复制的情况下实现类似的目标。

我有以下目录列表:

/proj/online/src/main/java
/proj/online/src/main/resources
/proj/online/src/test/java
/proj/client/src/test/scala
/proj/common/src/main/resources
/proj/common/src/main/scala
/proj/common/src/test/resources
/proj/common/src/test/scala
/proj/integration/src/main/resources
/proj/integration/src/main/scala
/proj/integration/src/test/scala
/proj/mockfeedserver/src/main/scala
/proj/mockfeedserver/src/test/scala
/proj/server/src/main/scala
/proj/server/src/test/scala
/proj/foit/src/main/resources
/proj/foit/src/main/scala
/proj/foit/src/test/resources
/proj/foit/src/test/scala
Run Code Online (Sandbox Code Playgroud)

我想向编译器提供以下内容*:

/tmp/foo/src/main/scala /tmp/foo/src/main/resources /tmp/foo/src/test/scala /tmp/foo/src/test/resources

使用 AUFS,我可以使用以下几个命令来实现这一点:

mount -t aufs -o br=r:/proj/common/src/main/scala=r:/proj/integration/src/main/scala=r:/proj/mockfeedserver/src/main/scala=r:/proj/server/src/main/scala=r:/proj/foit/src/main/scala=r -o udba=reval none /tmp/foo/src/main/scala 
Run Code Online (Sandbox Code Playgroud)

所以这将挂载 /tmp/foo/src/main/scala 作为所有 src/main/scala 目录的组合。

太好了,但我在 Fedora 上!在没有 AUFS 或 UnionFS 的情况下,我真的看不到实现这一目标的方法。我以前听说过挂载重新绑定,它有帮助吗,还是应该更改我的发行版?

filesystems redhat fedora fuse aufs

5
推荐指数
1
解决办法
7265
查看次数

标签 统计

aufs ×2

fedora ×1

filesystems ×1

fuse ×1

linux ×1

redhat ×1

tmpfs ×1