【技术实现步骤摘要】
一种CEPH集群的数据存储方法及相应的集群
[0001]本专利技术涉及分布式块存储CEPH领域,具体涉及一种CEPH集群的数据存储方法及相应的集群。
技术介绍
[0002]如果业务场景需求高吞吐、低延时的话选择全NVME介质的CEPH(分布式存储系统)集群;如果业务场景需求低成本的话选择全HDD介质的CEPH集群;针对那些对性能和成本都有要求的业务场景,CEPH社区提供了CACHE TIER方案,此方案中两个POOL,其中前端CACHE POOL使NVME作为缓存,后端DATA POOL使用HDD作为数据层,缓存单元为OBJECT。
[0003]在实现本专利技术过程中,申请人发现现有技术中至少存在如下问题:
[0004]当前全HDD介质集群成本低,但性能差,全NVME介质集群性能好,但成本高,社区实现的CACHE TIER方案中,CACHE POOL使用NVME介质,DATA POOL使用HDD介质,缓存单元基于OBJECT,此数据默认为4M(实际可调整,一般4M),读或者写缓存未命中时,需要从后端DATA POOL读取4M的OBJECT对象,对于小写(读写大小为小于或等于4K)的随机读写,此方案将极大增加读写的延时(需要从后端读入OBJECT对象,然后写入CACHE POOL中),且以4M的对象进行缓存,CACHE POOL空间很快被耗尽,进而触发CEPH的EVIT和FLUSH机制,此过程会抢占未命中时的CACHE POOL从DATA POOL读取数据的带宽,进而导致读写性能很差。
专利技术 ...
【技术保护点】
【技术特征摘要】
1.一种分布式存储系统CEPH集群的数据存储方法,其特征在于,所述CEPH集群包括缓存池CACHE POOL存储层和数据池DATA POOL存储层,所述CACHE POOL存储层使用固态硬盘NVME介质存储数据;所述DATA POOL存储层使用机械硬盘HDD介质存储数据;所述方法包括:当需要向CEPH集群写数据时生成写BLOB请求,将写BLOB请求对应的数据生成BLOB单元随机写入CACHE POOL存储层;其中,所述BLOB单元的容量小于预设容量值、且BLOB单元可被随机读写;针对CACHE POOL存储层的每个BLOB单元,将满足预设要求的数据所在BLOB单元迁移到DATA POOL存储层;当需要从CEPH集群读数据时生成读BLOB请求,从CACHE POOL存储层对应的BLOB单元中读取所述读BLOB请求对应的数据,若所述读BLOB请求对应的数据无法从CACHE POOL存储层的BLOB单元读取,则从DATA POOL存储层读取。2.根据权利要求1所述的CEPH集群的数据存储方法,其特征在于,所述将写BLOB请求对应的数据生成BLOB单元随机写入CACHE POOL存储层,具体还包括:将写BLOB请求对应的数据写入BLOB单元,对所述BLOB单元进行数据压缩,将数据压缩之后的BLOB单元存储在CACHE POOL存储层;将所述BLOB单元相应的元数据存储在CACHE POOL存储层的ROCKSDB存储单元中,所述元数据是所述BLOB单元中数据的描述信息。3.根据权利要求2所述的CEPH集群的数据存储方法,其特征在于,还包括:针对同一用户发起的至少两个写BLOB请求,在所述至少两个写BLOB请求执行完成后,扫描所述用户的所有BLOB单元,将具有数据交集的BLOB单元进行数据合并生成合并BLOB单元,且每个合并BLOB单元的容量不超过所述预设容量值;根据合并BLOB单元更新ROCKSDB存储单元中相应的元数据。4.根据权利要求2所述的CEPH集群的数据存储方法,其特征在于,所述针对CACHE POOL存储层的每个BLOB单元,将满足预设要求的数据所在BLOB单元迁移到DATA POOL存储层,具体包括:通过第一后端线程定时扫描CACHE POOL存储层中的每个BLOB单元,若BLOB单元内的数据连续未被访问的时间满足预设冷数据时间阈值,将所述连续未被访问的BLOB单元标记为冷数据;当CACHE POOL存储层的存储使用率达到预设使用率阈值时,通过第二后端线程将CACHE POOL存储层中标记为冷数据的BLOB单元迁移到DATA POOL存储层,并更新ROCKSDB存储单元中被迁移的BLOB单元相应的元数据。5.根据权利要求2所述的CEPH集群的数据存储方法,其特征在于,所述当需要从CEPH集群读数据时生成读BLOB请求,从CACHE POOL存储层对应的BLOB单元中读取所述读BLOB请求对应的数据,若所述读BLOB请求对应的数据无法从CACHE POOL存储层的BLOB单元读取,则从DATA POOL存储层读取,具体包括:根据所述读BLOB请求查询所述ROCKSDB存储单元内的元数据,确定所述读BLOB请求对应的数据缓存在CACHE POOL存储层还是存储在DATA POOL存储层;如果所述读BLOB请求对应的数据全部缓存在CACHE POOL存储层,则直接从CACHE POOL存储层对应的BLOB单元中读取数据并返回;如果所述读BLOB请求对应的数据全部未缓存在CACHE POOL存储层,则从DATA POOL存
储层对应的BLOB单元中读取数据并返回;将相应的BLOB单元自DATA POOL存储层迁移到CACHE POOL存储层,并更新ROCKSDB存储单元内相应的元数据;如果所述读BLOB请求对应的数据部分未缓存在CACHE POOL存储层,则从DATA POOL存储层获取并迁移未缓存在CACHE POOL存储层的部分数据对应的第一BLOB单元,在CACHE POOL存储层将从DATA POOL存储层迁移的第一BLOB单元与缓存在CACHE POOL存储层的部分数据对应的第二BLOB单元进行数据合并生成新BLOB单元,从新BLOB单元中读取数据并返回;将新BLOB单元写入到CACHE POOL存储层,根据新BLOB单元更新ROCKSDB存储单元中相应的元数据。6.一种CEPH集群,其特征...
【专利技术属性】
技术研发人员:张文波,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。