如何手动清空 moosefs 垃圾文件夹以保存 space

how to manually empty moosefs trash folder to save space

我发现 moosefs 垃圾占用了我太多的磁盘 space。根据 moosefs 文档,它将保留一段时间以防用户需要它。但是如何手动清理它以保存 space?

为了清除 MooseFS 的垃圾,您需要挂载名为 "MooseFS Meta".

的特殊目录

首先为 MooseFS 元目录创建 mountdir:

mkdir /mnt/mfsmeta

并挂载 mfsmeta:

mfsmount -o mfsmeta /mnt/mfsmeta

如果您的主服务器主机名不同于默认 mfsmaster and/or 端口不同于默认 9421,请使用适当的开关,例如:

mfsmount -H master.host.name -P PORT -o mfsmeta /mnt/mfsmeta

然后您可以在/mnt/mfsmeta/trash/SUBTRASH 目录中找到您删除的文件。 Subtrash 是 /mnt/mfsmeta 中名为 000..FFF 的目录。如果你有很多(例如数百万)文件在垃圾桶中,子垃圾桶很有用,因为你可以使用像 find 这样的 Unix 工具轻松地对它们进行操作,而如果你将所有文件都放在一个目录中,这样的工具可能会失败。

如果垃圾箱中的文件不多,请使用 mfsflattrash 参数挂载 Meta:

mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta

或者如果您使用默认以外的主机名或端口:

mfsmount -H master.host.name -P PORT -o mfsmeta,mfsflattrash /mnt/mfsmeta

在这种情况下,您删除的文件将直接在 /mnt/mfsmeta/trash 中可用(没有子垃圾箱)。

在这两种情况下,您都可以通过简单地使用 rm file 来删除文件,或者通过将它们移动到垃圾桶或子垃圾桶 (mv file undel) 中可用的 undel 目录来取消删除它们。

请记住,如果您根本不想将某些文件移至回收站,请在删除前将这些文件的 "trash time"(以秒为单位)设置为 0。如果你为一个目录设置了特定的垃圾时间,那么在这个目录中创建的所有文件都会继承父级的垃圾时间,例如:

mfssettrashtime 0 /mnt/mfs/directory

您还可以将垃圾时间设置为其他值,例如1 小时:

mfssettrashtime 3600 /mnt/mfs/directory

有关传递给 mfsmountmfssettrashtime 的特定参数的详细信息,请参阅 man mfsmountman mfstrashtime

希望对您有所帮助!

彼得