基于存储池虚拟化管理的分布式存储系统及数据读写方法技术方案

技术编号:24167465 阅读:31 留言:0更新日期:2020-05-16 01:53
本发明专利技术公开了一种基于存储池虚拟化管理的分布式存储系统及数据读写方法,该存储系统中至少存在一个存储服务器上的部分或全部OSD是部署在存储池上虚拟卷的vOSD;存储池为单个存储服务器上所有或部分物理硬盘构成的存储池,物理硬盘为HDD盘和/或SSD盘。数据通过随机算法按设定的数据分布策略进行保存,更进一步,存储池不仅保存vOSD的数据块,同时保存每个对应数据块的校验码以确保数据的完整性和一致性。本发明专利技术通过磁盘池化与虚拟化管理并与跨节点的RAID保护相结合实现两层数据保护,只需存储主从两副本即具有三副本相同或相近的数据保护和业务连续能力。并能够有效避免OSD负载不均匀导致的IO瓶颈,大幅降低成本,同时保证数据的完整性和一致性。

Distributed storage system and data reading and writing method based on storage pool Virtualization Management

【技术实现步骤摘要】
基于存储池虚拟化管理的分布式存储系统及数据读写方法
本专利技术属于分布式存储
,涉及一种新型分布式存储的实现方法,具体涉及一种基于存储池虚拟化管理的分布式存储系统及数据读写方法。
技术介绍
随着数字化转型的深入,海量数据对存储提出了新的要求。传统磁盘阵列虽然有技术成熟、性能良好、可用性高等优点,但面对海量数据,其缺点也越来越明显:如扩展性差、成本高等。为了克服上述缺点,满足海量数据的存储需求,市场上出现了分布式存储技术。分布式存储系统,通常包括多个存储服务器(存储节点),以及多个客户端组成。其核心是将大量的数据或文件,通过随机算法如CRUSH或HASH均匀分布到多个存储服务器上。分布式存储有多种实现技术,如Ceph、GlusterFS、HDFS、GFS、Lizardfs、Swift等。超融合系统通常使用分布式存储技术作为其核心的存储系统。以Ceph为例,集群由多个存储节点构成,每个节点具有多个OSD(ObjectStorageDevice),负责响应客户端IO请求保存及返回具体数据。每个OSD直接对应于该节点上的某个硬盘。Ceph推荐采用三副本的方式保护数据,即每个数据块需要分布保存在3个不同的OSD上。Ceph采用自身提供的CRUSH算法,在大规模集群下,实现数据的快速、准确存放,同时能够在硬件故障或扩展硬件设备时,做到尽可能小的数据迁移,其原理如下:当用户要将数据存储到集群时,数据先被分割成多个object,(每个object一个objectid,大小可设置,默认是4MB),object是Ceph存储的最小存储单元。由于object的数量很多,为了有效减少了object到OSD的索引表、降低元数据的复杂度,使得写入和读取更加灵活,引入了PG(PlacementGroup):PG用来管理object,每个object通过HASH,映射到某个PG中,一个PG可以包含多个object。PG再通过CRUSH计算,映射到OSD中。在三副本情况下,每个PG都会映射到三个OSD,保证了数据的冗余。将OSD直接部署在物理硬盘带来以下几个问题:1)单个OSD(硬盘)上的工作负载呈现随机分布,当其中某些OSD工作负载比较大时,容易构成IO瓶颈;2)硬盘故障时,会导致OSD数据重建,对业务影响比较大;3)无法使用固态硬盘(SSD)对OSD进行加速。为了获得最佳IO性能,通常的做法是将3个副本都部署在SSD上,但缺点是由于SSD单位容量价格比机械硬盘(HDD)仍高出数倍。
技术实现思路
专利技术目的:针对现有技术中OSD直接部署在物理硬盘带来的问题,本专利技术目的在于提供一种新型的基于存储池虚拟化管理的分布式存储系统,通过将节点内的全部或部分磁盘进行池化与虚拟化管理,并与跨节点的RAID保护相结合实现两层数据保护,以虚拟卷为基础构建集群的OSD,即vOSD,使得vOSD上的工作负载均匀分布在支撑vOSD的存储池的所有磁盘上,有效避免OSD负载不均匀导致的IO瓶颈;进一步地,本专利技术提供一种上述存储系统的数据读写方法,以提升系统整体的IO性能,并节约成本。技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:基于存储池虚拟化管理的分布式存储系统,包括多个存储服务器,每个存储服务器上具有多个OSD,所述存储系统中至少存在一个存储服务器上的部分或全部OSD是部署在存储池上虚拟卷的虚拟OSD(vOSD);所述存储系统中所有OSD都为vOSD,或者存在部分存储服务器上的全部或部分OSD是部署在SSD盘上的OSD;所述存储池为单个存储服务器上所有物理硬盘或部分物理硬盘构成的存储池,所述物理硬盘为HDD盘和/或SSD盘;数据通过随机算法按照设定的数据分布策略保存在所述分布式存储系统中的vOSD,或OSD及vOSD上。作为优选,所述存储系统中存储的数据块由主副本和从副本两份镜像数据构成,主副本部署在基于SSD的OSD上,从副本部署在基于存储池虚拟卷的vOSD上。在读取用户数据时,优先从基于SSD的OSD中读出。作为另一优选,所述存储系统中存储的数据块有主副本和从副本两份镜像数据构成,主从副本均部署在基于存储池虚拟卷的vOSD上。作为优选,所述存储池为通过条带技术和RAID1、条带技术和RAID5、条带技术和RAID6构成的RAID10、RAID50或RAID60管理的存储池。作为优选,每个存储服务器上配置有MON进程服务,用于监控分布式存储中各个OSD和/或vOSD的状态。作为优选,所述存储池中配置一个或多个SSD盘,用于存放该存储池管理用的元数据或热数据。本专利技术另一方面提供的所述基于存储池虚拟化管理的分布式存储系统的数据读写方法,包括:在写入用户数据时,将用户数据分割成多个对象块,每个对象块通过随机算法映射到某个PG中,PG通过设定的数据分布策略映射到OSD中,存在基于SSD的OSD时,配置基于SSD的OSD为主OSD,仅用于保存主PG的数据,配置vOSD成为从OSD,仅用于保存从PG的数据;每个对象块的主从两副本,分别保存在主OSD和从vOSD中;在读取用户数据时,优先从基于SSD的OSD中读出。在具体实施时,所述的随机算法包括CRUSH算法或HASH算法,所述的数据分布策略,可以有多种。比如常见的随机分布策略,数据按某种随机算法分布在存储系统中所有的OSD中;按权重分布策略,每个OSD对应一个权重系数,权重系数高的OSD分配到的数据多一些,而权重系数小的OSD分配到的数据少一些;按故障域分布策略,即限制数据的多个副本不能分配到同一个故障域,比如不能在同一个存储节点,或不能在同一个机柜,或不能在同一供电区域等;按OSD分布策略,如本专利技术所述的,主PG必须映射到基于SSD的OSD中,形成主OSD,而从PG必须映射到基于存储池虚拟卷的vOSD中,形成从OSD。上述多个策略之间可以进行组合,产生新的数据分布策略。作为优选,基于Log-Structured方式的实现vOSD的数据写入,即数据块先组织为一个具有RAID保护的一个条带,将该条带按存储池物理地址顺序写入;每个数据块在写入时同时生成一个固定长度的校验码,将该校验码单独保持;读数据时,同时读出数据块和校验码,并用校验码去检验该数据块是否匹配,若匹配则返回数据;否则利用RAID的冗余功能修复数据。作为优选,数据块在构成条带时,先经过数据压缩,再将压缩过的数据组成具有RAID保护能力的条带,按存储池的物理地址顺序写入磁盘。在具体实施时,存储池虚拟化管理的实现,除了上述通过软件的方式实现Log-Structured管理,也可以通过硬件RAID控制卡(器)来代替,缺点是普通硬件RAID卡无法实现Log-Structured管理,但仍然可以实现vOSD的负载均衡。vOSD可以是某个存储节点上的硬件RAID控制卡(器)上的某个RAID组,或者基于多个RAID组构成条带上的其中一个虚拟卷,即多个vOSD由多个RAID组构成一个条带来共同支撑。有益效果:与现有技术相比,本专利技术具体如下优点:1、本文档来自技高网
...

【技术保护点】
1.基于存储池虚拟化管理的分布式存储系统,包括多个存储服务器,每个存储服务器上具有多个OSD,其特征在于,所述存储系统中至少存在一个存储服务器上的部分或全部OSD是部署在存储池上虚拟卷的虚拟OSD(vOSD);所述存储系统中所有OSD都为vOSD,或者存在部分存储服务器上的全部或部分OSD是部署在SSD盘上的OSD;所述存储池为单个存储服务器上所有物理硬盘或部分物理硬盘构成的存储池,所述物理硬盘为HDD盘和/或SSD盘;数据通过随机算法按照设定的数据分布策略保存在所述分布式存储系统中的vOSD,或OSD及vOSD上。/n

【技术特征摘要】
1.基于存储池虚拟化管理的分布式存储系统,包括多个存储服务器,每个存储服务器上具有多个OSD,其特征在于,所述存储系统中至少存在一个存储服务器上的部分或全部OSD是部署在存储池上虚拟卷的虚拟OSD(vOSD);所述存储系统中所有OSD都为vOSD,或者存在部分存储服务器上的全部或部分OSD是部署在SSD盘上的OSD;所述存储池为单个存储服务器上所有物理硬盘或部分物理硬盘构成的存储池,所述物理硬盘为HDD盘和/或SSD盘;数据通过随机算法按照设定的数据分布策略保存在所述分布式存储系统中的vOSD,或OSD及vOSD上。


2.根据权利要求1所述的基于存储池虚拟化管理的分布式存储系统,其特征在于,所述存储系统中存储的数据块由主副本和从副本两份镜像数据构成,主副本部署在基于SSD的OSD上,从副本部署在基于存储池虚拟卷的vOSD上。在读取用户数据时,优先从基于SSD的OSD中读出;在所有OSD都是vOSD时,主从副本均部署在基于存储池虚拟卷的vOSD上。


3.根据权利要求1所述的基于存储池虚拟化管理的分布式存储系统,其特征在于,所述存储池为通过条带技术和RAID1、条带技术和RAID5、条带技术和RAID6构成的RAID10、RAID50或RAID60管理的存储池。


4.根据权利要求1所述的基于存储池虚拟化管理的分布式存储系统,其特征在于,所述vOSD是某个存储节点上的硬件RAID控制卡/器上的某个RAID组,或基于多个RAID组构成条带上的其中一个虚拟卷。


5.根据权利要求1所述的基于存储池虚拟化管理的分布式存储系统,其特征在于,每个存储服务器上配置有MON进程服务,用于监控分布式存储中各个OSD和/或vOSD的状态。


6.根据权利要求1所述的基于存储池虚拟化管理的分布式存储...

【专利技术属性】
技术研发人员:胡晓宇
申请(专利权)人:南京道熵信息技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1