关键词:
多介质存储
数据迁移算法
Ceph系统改进
预取技术改进
文件过滤
摘要:
随着互联网的发展,软件应用每天会产生海量的数据内容。此时,存储系统需要兼顾大存储容量、高性能和低成本,混合多介质存储系统成为企业降低成本,提升性能的唯一选择。混合多介质存储系统旨在实现高成本效益,并为应用程序提供快速响应的能力。提升混合多介质存储系统的性能成为了企业和学者研究的热点。本文综合使用动态随机存取内存、基于闪存的固态硬盘和机械硬盘构建Ceph多介质存储系统。通过实验研究表明,磁盘的读写带宽随着读写Block Size的大小增加而增大。为了提升多介质中HDD设备的性能,论文提出了纠删码条带合并写、大块预取、小文件过滤迁移策略等策略。研究表明,由于纠删码需要对数据进行分片存储,将大文件拆分成条带在磁盘上存储,Ceph系统的纠删码相比副本模式性能较差。论文提出了在迁移过程中将条带进行合并存储,将连续的条带按照固定的大小进行打包,然后发送到OSD节点。在此之上,论文提出了基于数据端的预取算法,通过顺序读检测算法预测用户行为,将数据通过大块读的模式提前读取到数据端,为了保存预取的数据块,论文提出了一种基于偏移量链表结构来存储不连续的数据块,该结构能够适应多种顺序读同时插入缓存,提供快速查找、插入、删除等能力。实验结果表明,预取技术优化效果明显,在HDD设备上相比未开启预取技术,最大带宽能力从916MB/S提升到2257mb/s,提升百分比达到146%。相比Ceph的原有预取算法,单文件最大带宽从1701mb/s到2257mb/s,提升了32.69%。此外,论文还提出了一种小文件过滤迁移策略(Small File Filtering Migration Strategy,以下简称SFFMS),在迁移新数据时只考虑迁移大文件,减少小文件对HDD磁盘性能的影响。在迁移策略中,综合考虑文件创建时间、大小、SSD存储池剩余容量三种信息,大文件优先迁移到HDD磁盘,空出SSD硬盘空间,小文件在冷却后迁移到HDD磁盘。SFFMS提升了在高并发的小文件读数据的场景下大小文件的读性能。其中,大文件读取带宽从376mb/s提升到了1896mb/s,实验最高提升百分比达到406%。从每秒读取文件个数看,小文件读性能提升了410%。最后,对多介质存储系统进行了上线试运行,通过监控可以看到,在数据节点侧的整体读延迟控制到220us左右。此外,数据端从内存读延迟为20us,而从HDD设备读取达到几十毫秒,甚至上百毫秒。从内存占用方面看,集群整体流量达到15gb/s时,单机最大预取内存在15GB左右。此外,在大文件的顺序读的场景下,预取算法命中率达到1%左右,在0.3%-2%波动。应用显示,改进效果明显,相关监控指标符合预期。