故障修复方法、装置及分布式存储系统和存储介质制造方法及图纸

技术编号:20916049 阅读:22 留言:0更新日期:2019-04-20 09:35
本发明专利技术涉及一种分布式存储技术,揭露了一种故障修复方法、装置及分布式存储系统和计算机可读存储介质。本发明专利技术实时或定时侦测各个主用OSD是否发生故障;当侦测到一故障的主用OSD时,确定故障的主用OSD所属的存储子集群,并将确定的存储子集群作为故障子集群;从备用OSD组中选择一备用OSD作为新的主用OSD,用新的主用OSD置换故障的主用OSD,并将新的主用OSD添加至故障子集群中;利用故障子集群中除新的主用OSD之外的其他未发生故障的主用OSD对新的主用OSD进行数据恢复。相较于现有技术,本发明专利技术在OSD故障处理过程中,减少了OSD之间的数据迁移量。

Fault Repair Method, Device and Distributed Storage System and Storage Media

The invention relates to a distributed storage technology, which discloses a fault repair method, device, distributed storage system and computer readable storage medium. The invention detects the failure of each main OSD in real time or at regular intervals; when a fault is detected, the storage sub-cluster belonging to the main OSD is determined, and the determined storage sub-cluster is taken as the fault sub-cluster; a standby OSD is selected from the standby OSD group as the new main OSD, and the new main OSD is replaced by the new main OSD, and the new main OSD is added to the fault. In the barrier cluster, data recovery of the new main OSD is achieved by using the failed main OSD except the new main OSD in the fault sub-cluster. Compared with the existing technology, the present invention reduces the amount of data migration between OSDs in the process of OSD fault processing.

【技术实现步骤摘要】
故障修复方法、装置及分布式存储系统和存储介质
本专利技术涉及分布式存储
,特别涉及一种故障修复方法、装置及分布式存储系统和计算机可读存储介质。
技术介绍
CEPH分布式文件系统是一种容量大、性能高、可靠性强的分布式存储系统。CEPH的核心组件是OSD(ObjectStorageDevice,对象存储设备),OSD管理一块独立的硬盘,并提供对象存储(Object-basedStorage)的读写访问接口。CEPH集群由很多独立的OSD构成,OSD数量可以动态的增删。CEPH客户端通过可扩展散列下的受控复制(ControlledReplicationUnderScalableHashing,CRUSH)算法将对象数据(Object)分发到不同OSD上进行存储。其中,CRUSH是一种伪随机分布算法,该算法先将对象数据通过哈希值(HASH)归属到一个归置组(PlacementGroup,PG)中,然后计算该PG存放的OSD,由此,归属于同一个PG的对象数据存放到该PG对应的多个目标OSD中。例如,参照图1,PG.1.1中各个对象数据的3个副本分别存储于OSD.0、OSD.1及OSD.2中,PG.1.2中各个对象数据的3个副本分别存储于OSD.0、OSD.1及OSD.2中,PG.1.3中各个对象数据的3个副本分别存储于OSD.0、OSD.2及OSD.3中,PG.1.M(M为大于3的正整数)中各个对象数据的3个副本分别存储于OSD.2、OSD.3及OSD.Z(Z为大于3的正整数)中。CEPH还是一个具有自修复功能的存储集群,即当CEPH中的某个OSD出现故障时,对应的OSD会退出服务,属于该OSD的数据会产生重构,重新分布到其他OSD上,待该OSD修复后,CEPH又会将该其他OSD上的部分数据迁移到该OSD上。例如,若OSD.0发生故障,OSD.0中的数据会产生重构,重新分布到其他OSD(例如,OSD.1、OSD.2、OSD.3、OSD.Z)上,待OSD.0修复后,又会将该其他OSD(例如,OSD.1、OSD.2、OSD.3、OSD.Z)上的部分数据迁移到该OSD上。因此,即使CEPH中出现故障的OSD,CEPH也可保持存储数据的完整性。然而,这种故障处理方法虽可保障存储数据的完整性,但数据重构的过程会造成CEPH中多个OSD中数据发生大量迁移,从而导致存储集群资源被占用,存储性能下降。因此,如何在OSD故障处理过程中,减少OSD之间的数据迁移量已成为一个亟待解决的问题。
技术实现思路
本专利技术的主要目的是提供一种故障修复方法、装置及分布式存储系统和计算机可读存储介质,旨在解决如何在OSD故障处理过程中,减少OSD之间的数据迁移量的问题。为实现上述目的,本专利技术提出一种电子装置,所述电子装置分别与若干个主用OSD及至少一个备用OSD组通信连接,所述备用OSD组包括若干个备用OSD,所述主用OSD用于存储对象数据的副本,每一个所述主用OSD预先与一个存储子集群关联映射,且每一个对象数据的若干个副本均与同一个存储子集群关联映射,所述电子装置包括存储器和处理器,所述存储器上存储有故障修复程序,所述故障修复程序被所述处理器执行时实现如下步骤:侦测步骤:实时或定时侦测各个所述主用OSD是否发生故障;确定步骤:当侦测到一故障的主用OSD时,确定所述故障的主用OSD所属的存储子集群,并将确定的所述存储子集群作为故障子集群;置换步骤:从所述备用OSD组中选择一备用OSD作为新的主用OSD,用所述新的主用OSD置换所述故障的主用OSD,并将所述新的主用OSD添加至所述故障子集群中;数据恢复步骤:利用所述故障子集群中除所述新的主用OSD之外的其他未发生故障的主用OSD对所述新的主用OSD进行数据恢复。优选地,所述处理器执行所述故障修复程序,在所述置换步骤之后,还实现以下步骤:重定向步骤:当一所述故障子集群接收到对象数据的写请求时,将所述写请求重定向至所述备用对象存储设备组,利用所述备用对象存储设备组执行所述写请求。优选地,所述数据恢复步骤包括:将所述故障子集群中除所述新的主用OSD之外的其他未发生故障的主用OSD作为待选OSD;当所述故障子集群中待选OSD的数量大于或等于二时,选出一个待选OSD作为数据恢复OSD,且选出至少一个待选OSD作为读请求处理OSD,或者,选出一个待选OSD作为数据恢复OSD且作为读请求处理OSD;当所述故障子集群中仅有一个待选OSD时,将所述待选OSD作为数据恢复OSD且作为读请求处理OSD;利用所述数据恢复OSD对所述新的主用OSD进行数据恢复,且在所述故障子集群接收到对象数据的读请求时,利用所述读请求处理OSD执行所述读请求。优选地,所述处理器执行所述故障修复程序,在所述重定向步骤之后,还实现以下步骤:实时或定时,或在收到增量数据恢复请求时,判断所述备用对象存储设备组的各所述备用对象存储设备是否存储有对象数据;当所述备用对象存储设备组的各所述备用对象存储设备存储有对象数据时,判断是否存在所述故障子集群;当不存在所述故障子集群时,将所述备用对象存储设备组中存储的对象数据迁移至一个或多个存储子集群中;当存在所述故障子集群时,查找除所述故障子集群之外的其他存储子集群,当查找到时,将所述备用对象存储设备组中存储的对象数据迁移至一个或多个查找到的所述存储子集群中。此外,为实现上述目的,本专利技术还提出一种故障修复方法,适用于电子装置,所述电子装置分别与若干个主用OSD及至少一个备用OSD组通信连接,所述备用OSD组包括若干个备用OSD,所述主用OSD用于存储对象数据的副本,每一个所述主用OSD预先与一个存储子集群关联映射,且每一个对象数据的若干个副本均与同一个存储子集群关联映射,该方法包括步骤:侦测步骤:实时或定时侦测各个所述主用OSD是否发生故障;确定步骤:当侦测到一故障的主用OSD时,确定所述故障的主用OSD所属的存储子集群,并将确定的所述存储子集群作为故障子集群;置换步骤:从所述备用OSD组中选择一备用OSD作为新的主用OSD,用所述新的主用OSD置换所述故障的主用OSD,并将所述新的主用OSD添加至所述故障子集群中;数据恢复步骤:利用所述故障子集群中除所述新的主用OSD之外的其他未发生故障的主用OSD对所述新的主用OSD进行数据恢复。优选地,在所述置换步骤之后,该方法还包括:重定向步骤:当一所述故障子集群接收到对象数据的写请求时,将所述写请求重定向至所述备用对象存储设备组,利用所述备用对象存储设备组执行所述写请求。优选地,所述数据恢复步骤包括:将所述故障子集群中除所述新的主用OSD之外的其他未发生故障的主用OSD作为待选OSD;当所述故障子集群中待选OSD的数量大于或等于二时,选出一个待选OSD作为数据恢复OSD,且选出至少一个待选OSD作为读请求处理OSD,或者,选出一个待选OSD作为数据恢复OSD且作为读请求处理OSD;当所述故障子集群中仅有一个待选OSD时,将所述待选OSD作为数据恢复OSD且作为读请求处理OSD;利用所述数据恢复OSD对所述新的主用OSD进行数据恢复,且在所述故障子集群接收到对象数据的读请求时,利用所述读请求处理OSD执行所述读请求。优选地,在所述重定向步骤之后,该方法还包括本文档来自技高网
...

【技术保护点】
1.一种电子装置,其特征在于,所述电子装置分别与若干个主用对象存储设备及至少一个备用对象存储设备组通信连接,所述备用对象存储设备组包括若干个备用对象存储设备,所述主用对象存储设备用于存储对象数据的副本,每一个所述主用对象存储设备预先与一个存储子集群关联映射,且每一个对象数据的若干个副本均与同一个存储子集群关联映射,所述电子装置包括存储器和处理器,所述存储器上存储有故障修复程序,所述故障修复程序被所述处理器执行时实现如下步骤:侦测步骤:实时或定时侦测各个所述主用对象存储设备是否发生故障;确定步骤:当侦测到一故障的主用对象存储设备时,确定所述故障的主用对象存储设备所属的存储子集群,并将确定的所述存储子集群作为故障子集群;置换步骤:从所述备用对象存储设备组中选择一备用对象存储设备作为新的主用对象存储设备,用所述新的主用对象存储设备置换所述故障的主用对象存储设备,并将所述新的主用对象存储设备添加至所述故障子集群中;数据恢复步骤:利用所述故障子集群中除所述新的主用对象存储设备之外的其他未发生故障的主用对象存储设备对所述新的主用对象存储设备进行数据恢复。

【技术特征摘要】
1.一种电子装置,其特征在于,所述电子装置分别与若干个主用对象存储设备及至少一个备用对象存储设备组通信连接,所述备用对象存储设备组包括若干个备用对象存储设备,所述主用对象存储设备用于存储对象数据的副本,每一个所述主用对象存储设备预先与一个存储子集群关联映射,且每一个对象数据的若干个副本均与同一个存储子集群关联映射,所述电子装置包括存储器和处理器,所述存储器上存储有故障修复程序,所述故障修复程序被所述处理器执行时实现如下步骤:侦测步骤:实时或定时侦测各个所述主用对象存储设备是否发生故障;确定步骤:当侦测到一故障的主用对象存储设备时,确定所述故障的主用对象存储设备所属的存储子集群,并将确定的所述存储子集群作为故障子集群;置换步骤:从所述备用对象存储设备组中选择一备用对象存储设备作为新的主用对象存储设备,用所述新的主用对象存储设备置换所述故障的主用对象存储设备,并将所述新的主用对象存储设备添加至所述故障子集群中;数据恢复步骤:利用所述故障子集群中除所述新的主用对象存储设备之外的其他未发生故障的主用对象存储设备对所述新的主用对象存储设备进行数据恢复。2.如权利要求1所述的电子装置,其特征在于,所述处理器执行所述故障修复程序,在所述置换步骤之后,还实现以下步骤:重定向步骤:当一所述故障子集群接收到对象数据的写请求时,将所述写请求重定向至所述备用对象存储设备组,利用所述备用对象存储设备组执行所述写请求。3.如权利要求1或2所述的电子装置,其特征在于,所述数据恢复步骤包括:将所述故障子集群中除所述新的主用对象存储设备之外的其他未发生故障的主用对象存储设备作为待选对象存储设备;当所述故障子集群中待选对象存储设备的数量大于或等于二时,选出一个待选对象存储设备作为数据恢复对象存储设备,且选出至少一个待选对象存储设备作为读请求处理对象存储设备,或者,选出一个待选对象存储设备作为数据恢复对象存储设备且作为读请求处理对象存储设备;当所述故障子集群中仅有一个待选对象存储设备时,将所述待选对象存储设备作为数据恢复对象存储设备且作为读请求处理对象存储设备;利用所述数据恢复对象存储设备对所述新的主用对象存储设备进行数据恢复,且在所述故障子集群接收到对象数据的读请求时,利用所述读请求处理对象存储设备执行所述读请求。4.如权利要求3所述的电子装置,其特征在于,所述处理器执行所述故障修复程序,在所述重定向步骤之后,还实现以下步骤:实时或定时,或在收到增量数据恢复请求时,判断所述备用对象存储设备组的各所述备用对象存储设备是否存储有对象数据;当所述备用对象存储设备组的各所述备用对象存储设备存储有对象数据时,判断是否存在所述故障子集群;当不存在所述故障子集群时,将所述备用对象存储设备组中存储的对象数据迁移至一个或多个存储子集群中;当存在所述故障子集群时,查找除所述故障子集群之外的其他存储子集群,当查找到时,将所述备用对象存储设备组中存储的对象数据迁移至一个或多个查找到的所述存储子集群中。5.一种故障修复方法,适用于电子装置,其特征在于,所述电子装置分别与若干个主用对象存储设备及至少一个备用对象存储设备组通信连接,所述备用对象存储设备组包括若干个备用对象存储设备,所述主用对象存储设备用于存储对象数据的副本,每一个所述主用对象存储设备预先与一个存储子集群关联映射,且每一个对象数据的若干个副本均与同一个存储子集群关联映射,该方法包括步骤:侦测步骤:实时或定时侦测各个所述主用对象存储设备是否发生故障;确定步骤:当侦测到一故障的主用对象存储设备时,确定所述故障的主用对象存储设备所属的存储子集群,并将确定的所述存储子集群作为故障子集群;置换步骤:...

【专利技术属性】
技术研发人员:宋小兵姜文峰
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1