如何手动清空moosefs垃圾文件夹以节省空间

时间:2018-08-26 09:24:24

标签: moosefs

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

1 个答案:

答案 0 :(得分:4)

为了清除MooseFS的垃圾,您需要安装名为“ MooseFS Meta”的特殊目录。

首先为MooseFS Meta目录创建mountdir:

mkdir /mnt/mfsmeta

并安装mfsmeta

mfsmount -o mfsmeta /mnt/mfsmeta

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

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

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

如果垃圾桶中没有太多文件,请使用mfsflattrash参数安装Meta:

mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta

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

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

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

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

请记住,如果您根本不想将某些文件移至垃圾箱,请在删除之前将这些文件的“垃圾箱时间”(以秒为单位)设置为0。如果您为目录设置了特定的垃圾时间,则在该目录中创建的所有文件都会从父级继承垃圾时间,例如:

mfssettrashtime 0 /mnt/mfs/directory

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

mfssettrashtime 3600 /mnt/mfs/directory

有关传递给mfsmountmfssettrashtime的特定参数的更多信息,请参见man mfsmountman mfstrashtime

希望有帮助!

彼得