基于持久性内存和SSD的后端存储MixStore
2021-02-06屠要峰陈正华韩银俊关东海
屠要峰 陈正华 韩银俊 陈 兵 关东海
1(南京航空航天大学计算机科学与技术学院 南京 211106)2(中兴通讯股份有限公司 南京 210012)(tu.yaofeng@zte.com.cn)
近年来,随着移动通信和物联网技术的快速发展,数据的规模呈爆发式增长,传统的存储系统已经无法满足不断增长的海量数据存储的需要.为解决数据存储规模、数据备份、数据安全、服务质量、软件定义等问题,分布式存储系统应运而生.分布式存储是通过软件的方法把若干节点的存储资源,如磁盘、内存等组织起来,对外提供虚拟的统一的块、文件或对象接口的按需存储服务.
本地文件系统如XFS(extents file system),EXT4(fourth extended file system),btrfs(B-tree file system)等,具有成熟、稳定的优势,成为分布式存储系统访问本地存储资源的主要方法.应用广泛的分布式存储系统Ceph的后端存储FileStore也是基于XFS进行存储访问.这样做的优势是利用了文件和对象天然的映射关系,利用操作系统页缓存机制缓存数据,利用索引节点(inode)缓存机制缓存元数据,同时从操作系统层面保证了磁盘的隔离性.但是这种架构也有明显的缺陷[1],主要是事务一致性难以保证,元数据管理低效,以及缺乏对新型硬件的支持.鉴于此,Ceph在Jewel版本引入了BlueStore作为后端存储.BlueStore将对象数据的存放方式改为直接对裸设备进行指定地址和长度的读写操作,不再依赖本地文件系统提供的POSIX(portable oper-ating system interface of Unix)接口.同时,BlueStore引入了RocksDB数据库保存元数据和属性信息,包括对象的集合、对象、存储池的omap信息和磁盘空间分配记录等,BlueStore有效避免了数据的双写,提升了元……
