我发现 moosefs 垃圾占用了我太多的磁盘空间。根据 moosef 的文档,它会保留一段时间以防用户想要它回来。但是如何手动清理以节省空间?
1 回答
为了清除 MooseFS 的垃圾,您需要挂载名为“MooseFS Meta”的特殊目录。
首先为 MooseFS Meta 目录创建 mountdir:
mkdir /mnt/mfsmeta
并安装mfsmeta
:
mfsmount -o mfsmeta /mnt/mfsmeta
如果您的 Master Server Host Name 与 default 不同mfsmaster
和/或 port 与 default 不同9421
,请使用适当的开关,例如:
mfsmount -H master.host.name -P PORT -o mfsmeta /mnt/mfsmeta
然后你可以在目录中找到你删除的文件/mnt/mfsmeta/trash/SUBTRASH
。Subtrash 是一个/mnt/mfsmeta
名为000..FFF
. 如果您在垃圾箱中有许多(例如数百万)文件,则 Subtrash 很有帮助,因为您可以使用 Unix 工具轻松地对它们进行操作find
,而如果您将所有文件放在一个目录中,则此类工具可能会失败。
如果垃圾箱中的文件不多,请使用mfsflattrash
参数挂载 Meta:
mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta
或者,如果您使用默认以外的主主机名或端口:
mfsmount -H master.host.name -P PORT -o mfsmeta,mfsflattrash /mnt/mfsmeta
在这种情况下,您删除的文件将直接可用/mnt/mfsmeta/trash
(没有 subtrash)。
在这两种情况下,您都可以通过简单地使用文件来删除文件,rm file
或者通过将它们移动到undel
垃圾箱或子垃圾箱 ( mv file undel
) 中可用的目录来取消删除它们。
请记住,如果您根本不想将某些文件移至垃圾箱,请将这些文件的“垃圾箱时间”(以秒为单位)设置为0
删除之前。如果您为目录设置了特定的垃圾时间,则在该目录中创建的所有文件都从父目录继承垃圾时间,例如:
mfssettrashtime 0 /mnt/mfs/directory
您还可以将垃圾时间设置为其他值,例如 1 小时:
mfssettrashtime 3600 /mnt/mfs/directory
有关传递给mfsmount
or的特定参数的更多信息mfssettrashtime
,请参阅man mfsmount
and man mfstrashtime
。
希望能帮助到你!
彼得