[发明专利]数据写入及读取方法有效
申请号: | 201711453634.2 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108052655B | 公开(公告)日: | 2020-11-10 |
发明(设计)人: | 陈钊 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/13;G06F16/18;G06F11/14 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 王宁宁 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 写入 读取 方法 | ||
本发明提供一种数据写入及读取方法,涉及信息存储技术领域,其中,数据写入方法应用于由多个OSD组成的存储系统中,获取目标数据所属的归置组以及所述归置组所对应的冗余策略;通过CRUSH算法为归置组选择所需的一个或一个以上OSD;每个OSD中包括多个对象存储模块;从一个或一个以上OSD中选择归置组所需的对象存储模块;将目标数据根据冗余策略进行处理,得到处理结果;将处理结果分发到对应的对象存储模块中进行写操作。该方法通过对设置于OSD中的多个对象存储模块的调整,可以灵活动态地增删每个OSD管理的硬盘,此外,OSD内部通过冗余策略进行自修复,避免单硬盘故障引发集群修复问题。
技术领域
本公开涉及信息存储技术领域,尤其是涉及一种数据写入及读取方法。
背景技术
CEPH分布式文件系统是当前最流行的分布式存储软件之一,可以运行于普通商用硬件上,构建一个具有自修复功能的存储集群。CEPH的核心组件是OSD(Object StorageDevice,对象存储组件),OSD管理一块独立的硬盘,并提供对象存储(Object-basedStorage)的读写访问接口。CEPH集群由很多独立的OSD构成,OSD数量可以动态的增删。CEPH客户端通过CRUSH算法将Object分发到不同OSD上进行存储。
CRUSH是一种伪随机分布算法,该算法先将Object通过HASH归属到一个PG(Placement Group,归置组)中,然后计算该PG存放的OSD,由此,归属于同一个PG的Object存放到该PG对应的目标OSD中。CEPH集群通常支持多副本策略,以三副本为例,每个PG通常会对应三个OSD,包含一个主OSD,两个从OSD。三个OSD上存放完全相同的数据。另外,同一个OSD会存放多个PG的数据,不同的PG经过CRUSH计算,可能会归属于同一个目标OSD。
CRUSH算法是一种多级选择算法,可以实现不同的故障域保护。
首先,CRUSH算法根据物理基础设施的具体情况,构造一棵CRUSH树,举例说明:一个机房包含多个机架,一个机架包含若干服务器,一个服务器包含多个硬盘,那么,CRUSH树的根节点就是机房,机房的子节点是机架,机架的子节点是服务器,服务器的子节点是硬盘,一个硬盘对应一个OSD,如图1所示。
CRUSH算法需要在这棵树中选择三个OSD,用于存放一个PG。机架、服务器、硬盘就构成了三级,CRUSH算法需要进行三次选择,选择的策略可配置,以实现不同的故障域保护:如果故障域设为机架,则三个OSD需要分布在不同机架上,由此可以容许一个机架故障:如果故障域设为服务器,则三个OSD需要分布在不同的服务器上,由此可以容许一个服务器宕机。
以故障域设为服务器为例,CRUSH算法过程如下:
1)第一次:选择一个机架;
2)第二次:在第一步选中的机架中选择三台服务器;
3)第三次:在第二步选中的三台服务器中,分别选择一个OSD。
CRUSH算法结束,获得了三个OSD,且分属于不同的服务器。CEPH通过CRUSH RULE来定义上述选择策略。
现代服务器集成规模越来越大,通常可以容纳25盘位甚至更多,而单个硬盘的容量越来越大,IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)等性能却很低。因此将一个硬盘作为一个OSD,有两个问题:
1)过多的OSD,对CPU、内存等资源的消耗过大;
2)单个OSD性能低,当硬盘故障时,通常需要跨服务器进行数据恢复,需要损耗大量的横向网络带宽,且会影响客户的正常业务IO。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711453634.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置