《海量小文件存储低效的根源及优化实践.docx》由会员分享,可在线阅读,更多相关《海量小文件存储低效的根源及优化实践.docx(2页珍藏版)》请在优知文库上搜索。
1、其次是数据效率问三S.传统磁盘文件系统体系结构依界目录项(Dentry)、索引节点(InOde)以及数据块(Data)来指导、定位、读写文件系统的数据,而目录项(Dentry)s索引节点(Inode)以及数据块(Data)均存储在不同地方,也就是说一次防机文件读写至少进行3次独立访问.面对海信小文件场景时,海量小文件的并发读写汇聚形成了大量的随机访问,磁盘文件系统的体系机制放大了IO的体量,大幅降低磁盘的吞吐.再者,磁盘文件系玩的索引结构在海小文件场景下无法发挥优势.磁盘文件系统通第采用Hash、B+树组织索引,当面对单目录下数以百万计的小文件时,索引的增删改强将消耗非常多系统资源,甚至耗尽.
2、这一点在对象存储的体系结构里得到了极大的优化和改善,如图1.filenames/inodes传统NAS存储Objects/OlDs对象存储图1传统NAS存储与对彖存储体系结构最后是操作系统IO访问机制受制。以UnUXVirtUalFiIeSyStem(简称VFS)为例,VFS提供了统一访问接口和流程,方便与不同磁盘文件系统的对接与扩展.然而,使用对象存储虽然优化了海量小文件场景的访问效率问题,但作为非结构化文件的主存储也会面临些许问题:数据保护手段薄弱、主流备份软件对对象存储的备份支持尚未完善、无法实现全功能数据保护等.虽然可以借助对象存玮的跨域复制形成数据冗余,但不满足监管单位对关键数据离线
3、保存的要求.同时,不同于传统NAS存储,对象存储的读写方式也发生了变化,因此涉及业务代码改造.存储更替的过程还涉及大量的业务数据迁移等.且由传统存储切换到对象存储,对于企业的代价也是相当大的.影像系统和打印系统,都,属于保险业务核心,多采用NAS存储业务数据,数十年的更迭都未曾改变.影像、打印系统牵一发而动全身,若需更替存储,涉及大盘业务代码改造.影像、打印系统的割接也必须一刀切快速切换,无法容忍长时间的业务中断.那么该如何优化海量小文件呢?海量小文件所在的环境及链路若未更改,优化的范围就相当有限,唯有从海量小文件给构入手,优化实践的思路大概分为三步:(1)优化目录层次结构.深层次的目录结构极大劣化了IO效率,使得文件寻址定位消耗大方的系统资源.过深的目录层次更加剧了海量小文件的归档难度。结合业务实际,我们对影像的存储目录进行了最多6层级的设计,以存储挂载点目录为根,第一级子目录为渠道目录,从不同柒道上传、回写的数据存放至对应目录。第二级子目录为业务功能目录,建立各场景对应的数据目录,数据按照既定的规则写入.第三级至第六级,分别对应年一月一周,方便数据以时间单位归档。值得一提的是周目录