论文部分内容阅读
面对全球范围内迅猛增长的数据存储需求,基于对象的存储技术(OBS)应运而生,相对于NAS和SAN而言,基于对象的存储系统由于其可伸缩性、低成本、跨平台、易管理等特性,逐渐成为海量存储系统的一个最佳选择。如Google公司的GFS作为Google的核心技术,利用数以万计的普通商用服务器,为Google的各种服务提供了强大的数据存储能力;Cluster File System公司的Lustre,支持上千个存储节点,上万个客户端,PB级存储容量,100GB/s的传输带宽,为高性能计算提供了强有力的支持。
在基于对象的存储系统中,元数据(目录、文件大小、访问时间等信息)与数据存储相分离,文件数据保存在大量的对象存储服务器(OSD)中,元数据则由专门的元数据服务器处理。
元数据请求在文件系统中所占的比例高达50%-80%,随着文件存储规模从TB级别走向PB级别甚至EB级别,在GFS和Lustre中所使用的单一的元数据服务器设计所暴露的问题也越来越严重,如单点失效,性能瓶颈,可靠性差,文件系统规模受限等。
本文针对基于对象的存储系统中单一元数据服务器带来的问题,结合联想网盘的实际存储需求,设计实现了一个支持多元数据服务器的分布式文件系统,能够利用元数据服务器集群,避免元数据服务器成为系统单点,通过将文件系统的元数据请求分布到多个元数据服务器,提供更好的元数据处理性能,同时保证元数据的冗余。本文的主要挑战在于:
1)在元数据服务器集群中,如何合理的分布和备份元数据,能够提供较好的性能,较好的扩展性和稳定性。
2)如何均衡系统中所有元数据服务器的负载,在元数据迁移中,如何防止过度迁移导致系统抖动,以及在元数据迁移后及时地更新客户端缓存状态。
本文是为联想网盘下一代存储系统进行的预研项目,利用以上研究成果,我们已经实现了一个文件系统原型,相对于我们的原有系统,其元数据处理能力得到了很大的提高。