摘要

由于开源分布式文件系统HDFS不支持随机读写,基于HDFS实现的分布海量小文件系统SMDFS只支持聚合空间的删除,但不支持文件粒度的删除。在分析SMDFS文件删除行为基础上,采用元数据实时删除和事后存储空间碎片整理结合的删除思路。由于SMDFS不支持从数据文件获取其中的未删除小文件,提出聚合单元的概念,每个数据文件对应一个聚合单元,借此可获得数据文件中所有的未删除的小文件和存储空间碎片。通过迁移未删除小文件和删除整个数据文件,实现存储空间碎片整理。设计了Master-Worker分布式空间回收程序框架,实现了SMDFS的文件删除功能。测试表明,支持文件删除的海量小文件系统SMDFS2. 1与原有的SMDFS2. 0相比,文件的读写性能没有明显下降;碎片整理时系统写性能降低30%,系统读性能降低18%。