我发现moosefs垃圾占用了我过多的磁盘空间。根据moosefs文档,它将保留一段时间,以防用户需要。但是如何手动清理以节省空间?
答案 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
有关传递给mfsmount
或mfssettrashtime
的特定参数的更多信息,请参见man mfsmount
和man mfstrashtime
。
希望有帮助!
彼得