CN109710456B - 一种数据恢复方法及装置 - Google Patents
一种数据恢复方法及装置 Download PDFInfo
- Publication number
- CN109710456B CN109710456B CN201811501810.XA CN201811501810A CN109710456B CN 109710456 B CN109710456 B CN 109710456B CN 201811501810 A CN201811501810 A CN 201811501810A CN 109710456 B CN109710456 B CN 109710456B
- Authority
- CN
- China
- Prior art keywords
- target
- osd
- ceph cluster
- copies
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种数据恢复方法及装置,包括:在所述Ceph集群的对象存储设备OSD拓扑发生变化时,所述方法包括:确定待进行数据恢复的目标归置组PG;检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。使用本申请提供的方法,可以防止因为对数据恢复而造成OSD设备负荷加重,影响Ceph集群对客户端业务处理的问题。
Description
技术领域
本申请涉及存储领域,尤其涉及一种数据恢复方法及装置。
背景技术
随着当今云计算、大数据和物联网等技术的蓬勃发展,数据也在呈***式增长,传统的数据存储技术已经满足不了当今社会的需求,因此提出了Ceph(分布式存储***)。
Ceph是一种分布式存储技术,集成了对象存储、块存储和文件存储的服务,具有高可靠性、高度自动化和高可扩展性等优点。
在Ceph集群中,当Ceph集群中的OSD(Object Storage Device,对象存储设备))拓扑发生变化时,Ceph集群中OSD对应的PG(Placement Group,归置组)中的数据需要进行恢复。比如,当Ceph集群中某一OSD异常时,需要将与该异常OSD对应的PG中数据恢复到正常的OSD上。然而,当Ceph集群处理客户端发送的业务IO(Input Output,输入输出)数量非常多时,若此时进行数据恢复就会加重Ceph集群工作负荷,当Ceph集群的工作负荷超过一定限度时,Ceph集群就会挂起一部分客户端发送业务IO,严重影响客户端的业务处理。
发明内容
有鉴于此,本申请提供一种数据恢复方法及装置,用以防止因为对数据恢复而造成OSD设备负荷加重,影响Ceph集群对客户端业务处理的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种数据恢复方法,所述方法应用于分布式存储***Ceph集群中的监视器,在所述Ceph集群的对象存储设备OSD拓扑发生变化时,所述方法包括:
确定待进行数据恢复的目标归置组PG;
检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。
可选的,所述方法还包括:
若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
可选的,所述检测所述Ceph集群的忙闲状态,包括:
检测反映所述Ceph集群当前负载状态的集群负载参数的当前值是否大于第一预设值;
若是,则确定所述Ceph集群处于忙碌状态;
若否,则进一步检测反映所述Ceph集群中各OSD当前负载状态的节点负载参数的当前值;若所述Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,则确定所述Ceph集群处于忙碌状态;若所述Ceph集群中所有OSD的节点负载参数的当前值均小于等于所述第二预设值,则确定所述Ceph集群处于非忙碌状态。
可选的,在所述确定待进行数据恢复的目标归置组PG之后,所述方法包括:
启动预设的定时器;
所述检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态,包括:
检测所述定时器是否超时;
若所述定时器超时,检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
所述若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则延迟对所述目标PG中的数据进行恢复,包括:
若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则返回所述检测所述定时器是否超时的步骤。
可选的,所述对所述目标PG中待恢复的数据进行恢复,包括:
在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;
在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复;
若否,则停止对该目标PG中未恢复的数据进行恢复,关闭所述第二定时器,并返回所述检测所述定时器是否超时的步骤。
可选的,所述集群负载参数包括:所述Ceph集群当前业务IO数量与所述Ceph集群当前所有IO数量的比值;
所述节点负载参数包括:硬盘利用率、每秒进行读写操作的次数IPOS。
可选的,在所述确定待进行数据恢复的目标PG之前,所述方法还包括:
计算所述Ceph集群中的各PG所对应的OSD组;
所述确定待进行数据恢复的目标PG,包括:
针对每一个PG,若计算出的PG对应的OSD组与该PG当前对应的OSD组不一致,则确定所述PG为待进行数据恢复的目标PG。
根据本申请的第二方面,提供一种数据恢复装置,所述装置应用于分布式存储***Ceph集群中的监视器,在所述Ceph集群的对象存储设备OSD拓扑发生变化时,所述装置包括:
确定单元,用于确定待进行数据恢复的目标归置组PG;
检测单元,用于检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
延迟单元,用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。
可选的,所述装置还包括:
恢复单元,用于若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
可选的,所述检测单元,用于检测反映所述Ceph集群当前负载状态的集群负载参数的当前值是否大于第一预设值;若是,则确定所述Ceph集群处于忙碌状态;若否,则进一步检测反映所述Ceph集群中各OSD当前负载状态的节点负载参数的当前值;若所述Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,则确定所述Ceph集群处于忙碌状态;若所述Ceph集群中所有OSD的节点负载参数的当前值均小于等于所述第二预设值,则确定所述Ceph集群处于非忙碌状态。
可选的,所述装置还包括:
启动单元,用于启动预设的定时器;
所述检测单元,具体用于检测所述定时器是否超时;若所述定时器超时,检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
所述延迟单元,具体用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则返回所述检测所述定时器是否超时的步骤。
可选的,所述恢复单元,在对所述目标PG中待恢复的数据进行恢复时,具体用于在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复;若否,则停止对该目标PG中未恢复的数据进行恢复,关闭所述第二定时器,并返回所述检测所述定时器是否超时的步骤。
可选的,所述集群负载参数包括:所述Ceph集群当前业务IO数量与所述Ceph集群当前所有IO数量的比值;
所述节点负载参数包括:硬盘利用率、每秒进行读写操作的次数IPOS。
可选的,所述装置还包括:
计算单元,用于计算所述Ceph集群中的各PG所对应的OSD组;
所述确定单元,具体用于针对每一个PG,若计算出的PG对应的OSD组与该PG当前对应的OSD组不一致,则确定所述PG为待进行数据恢复的目标PG。
由上述描述可知,一方面,由于在Ceph集中的OSD拓扑发生变化时,本申请不是立即目标PG中的待恢复数据进行恢复,而是要对当前Ceph集群负载状态进行判断,在确定Ceph集群处于忙碌状态时,延迟对目标PG中的数据进行恢复,因此可以有效地防止因为对数据恢复而造成OSD设备负荷加重,影响对Ceph集群客户端业务的处理这一问题的发生。
另一方面,本申请还对目标PG对应的正常OSD副本的数量与预设最小副本数进行比较,以此来保证即使延迟对目标PG中数据的恢复,仍然可以有足够多正常的OSD副本来保证处理针对该目标PG的读写业务。
附图说明
图1是本申请一示例性实施例示出的一种Ceph的组网架构图;
图2是本申请一示例性实施例示出的一种数据恢复方法的流程图;
图3是本申请一示例性实施例示出的另一种数据恢复方法的流程图;
图4是本申请一示例性实施例示出的一种数据恢复装置的框图;
图5是本申请一示例性实施例示出的一种监视器的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1所示,图1是本申请一示例性实施例示出的一种基于Ceph存储的组网架构图。
该组网中,包括Ceph集群和客户端。
其中,上述客户端,也被称为Ceph集群的客户端,主要用于与Ceph集群进行交互,使得Ceph集群可以处理该客户端的读写业务。
具体地,Ceph集群可接收客户端发送的业务IO(比如读IO、写IO等),Ceph集群基于该客户端发送的业务IO执行客户端的读写业务。
比如,Ceph集群接收到客户端发送的写IO,Ceph集群可将该写IO携带的数据写入本地。当Ceph集群接收到客户端发送的读IO,Ceph集群可依据该读IO读取数据,并将读取到的数据返回给客户端。
上述Ceph集群可包括:监视器、多个OSD。当然Ceph集群还可包括元数据服务器等其他设备,这里只是对Ceph集群进行示例性地说明,不对Ceph集群所包含的设备进行具体地限定。
其中,监视器主要用于管理Ceph集群中的各设备。监视器可以是一台物理设备,也可以由多台物理设备组成的集群,这里只是示例性地说明,不进行具体限定。
上述OSD,主要用于负责数据的存储,比如,在接收到写IO请求后写入数据,在接收到读IO请求后读取数据等。OSD通常为Ceph集群中各物理服务器上的硬盘。这里只是对OSD功能以及OSD的设备形态进行示例性地说明,不进行具体地限定。
下面对Ceph集群里涉及的几个概念进行介绍。
1)PG
PG也被称为归置组,是Ceph集群中数据恢复和改变的最小单位。PG是一个逻辑概念,相当于包含一组数据的逻辑集合,PG所包含的数据储存在该PG对应的OSD组中。
PG对应的OSD组中包括多个OSD。PG中的数据可被复制多份,分别储存在该PG对应的OSD组中的每个OSD中。
比如,PG1对应的OSD组为[1,2,3],表明PG1对应的OSD组包括3个OSD,这三个OSD组的OSD标识分别为OSD 1、OSD 2和OSD 3。
当写入针对该PG1的数据时,可将该数据写入至OSD1中,OSD1将该数据同步给OSD2和OSD3,使得每个OSD都保存有一份该PG1中的数据。
2)PG对应的OSD副本
PG对应的OSD组中的OSD,被称为PG对应的OSD副本。PG对应的OSD组中的OSD的数量,被称为PG对应的OSD副本数。
仍以上述PG1对应的OSD组为[1,2,3]为例,OSD1、OSD2和OSD3均被称为该PG1对应的OSD副本。PG1对应的OSD副本个数为3。
3)业务IO和恢复IO
Ceph集群中存在的IO可包括:业务IO和恢复IO。
业务IO:业务IO是指来自于客户端的IO,主要用于指示Ceph集群进行该客户端的读写业务。
业务IO可包括:来自于客户端的读IO、来自于客户端的写IO等。
比如,Ceph集群接收到客户端发送的写IO,Ceph集群可将该写IO携带的数据写入本地。当Ceph集群接收到客户端发送的读IO,Ceph集群可依据该读IO读取数据,并将读取到的数据返回给客户端。
恢复IO:在PG中的数据进行恢复时,Ceph集群内会产生恢复IO,恢复IO主要用于指导Ceph集群中的PG进行恢复。
4)PG中的数据恢复
当Ceph集群中的OSD拓扑发生变化后,监视器可计算集群中各个PG对应的OSD组,然后针对每一个PG,若该PG当前对应的OSD组与计算出的OSD组不同,则将该PG确定为待进行数据恢复的PG。
对待进行数据恢复的PG中的数据进行恢复是指:将PG中的数据恢复到计算出的PG对应的OSD组中的OSD上。
现有的数据恢复方式是:当监视器监测到Ceph集群中的某一OSD故障时,立即将该与该故障OSD对应的PG中数据恢复至正常OSD,在数据恢复过程中,会产生指导数据恢复的恢复IO,该恢复IO里携带有需要恢复的数据。当该正常OSD接收到该恢复IO后,可以将恢复IO中携带的PG中数据写入至本地。
然而,若此时该正常OSD正处理大量的来自于客户端的业务IO,处理恢复IO会加剧正常OSD的工作负荷,致使该正常OSD性能下降,严重影响对客户端发送的业务IO的处理。
有鉴于此,本申请旨在提出一种数据恢复方法,在监视器确定待恢复的目标PG后,若该目标PG对应的正常OSD副本的数量大于等于预设的最小副本数后,且当前Ceph集群处于忙碌状态,则延迟将所述目标PG中的数据恢复至目的OSD。
一方面,由于在Ceph集中的OSD拓扑发生变化时,本申请不是立即对待恢复的目标PG中的数据进行恢复,而是要对当前Ceph集群忙闲状态进行判断,在确定Ceph集群处于忙碌状态时,延迟对目标PG中的数据进行恢复,因此可以有效地防止因为对数据恢复而造成OSD设备负荷加重,影响对Ceph集群客户端业务的处理这一问题的发生。
另一方面,本申请还对目标PG对应的正常OSD副本的数量与预设最小副本数进行比较,以此来保证即使延迟对目标PG中数据的恢复,仍然可以有足够多正常的OSD副本来保证处理针对该目标PG的读写业务。
综上可知,本申请在进行数据恢复时,既可以在Ceph集群处于忙碌时,通过延迟恢复目标PG中的数据来防止因为对数据恢复而造成OSD设备负荷加重,影响Ceph集群对客户端业务处理的问题,还可以保证在延迟对目标PG中数据的恢复过程中不会影响针对该目标PG的读写业务处理。
参见图2,图2是本申请一示例性实施例示出的一种数据恢复方法的流程图。该方法可应用在Ceph集群的监视器上,当所述Ceph集群的OSD拓扑发生变化时,可执行如下所示步骤。
步骤201:确定待进行数据恢复的目标PG;
在Ceph集群中,当Ceph集群中的OSD因网络异常而离线,或者Ceph集群中新增了OSD,或者OSD故障时,都会引发Ceph集群中的OSD拓扑发生变化。
当监视器检测到Ceph集群中的OSD拓扑发生变化时,监视器可确定待恢复的目标PG。
首先,先介绍下监视器是如何检测到Ceph集群中的OSD拓扑是否发生变化。
在实现时,监视器可通过检测OSD集群map是否发生改变,来检测Ceph集群中的OSD拓扑是否发生变化。
具体地,监视器上存储有OSD集群map,OSD集群map用于记录当前Ceph集群中的OSD拓扑。若监视器监测到该OSD集群map发生变化,监视器确定该Ceph集群中的OSD拓扑发生变化,若该OSD集群map未发生变化,监视器确定该Ceph集群中的OSD拓扑未发生变化。
其次,介绍下若Ceph集群中的OSD拓扑发生,监视器是如何确定出待恢复的目标PG。
在实现时,当监视器确定Ceph集群中的OSD拓扑发生变化时,监视器可通过Crush(Controlled Replication Under Scalable Hashing,可扩展散列下的受控复制算法)算法来计算各PG对应的OSD组。这个计算出来的PG对应的OSD组表示在数据恢复后,Ceph集群中各PG与OSD组的映射。
然后,针对每一个PG,监视器可获取计算出的该PG对应的OSD组与当前该PG对应的OSD组。
Ceph集群中的PG被配置有两个集合,分别是up set集合和acting set集合。upset集合里记录了当前各PG对应的OSD组。acting set集合里记录了Crush算法计算出来的PG对应的OSD组。
在获取时,监视器可从与该PG对应的up set集合中获取当前该PG对应的OSD组,从与该PG对应的acting set集合里确定出Crush算法计算出来的PG对应的OSD组。
在获取到计算出的该PG对应的OSD组与当前该PG对应的OSD组后,监视器可检测计算出的PG对应的OSD组与当前该PG对应的OSD组是否一致.
若计算出的该PG对应的OSD组与当前该PG对应的OSD组不一致,则将该PG确定为待进行数据恢复的目标PG;
若计算出的该PG对应的OSD组与当前该PG对应的OSD组一致,则确定该PG不是待进行数据恢复的PG。
例如,仍以PG1为例,假设与PG1对应的up set里记录了OSD组[1,2,3],PG1对应的acting set里记录了[4,2,3]。
监视器可从up set集合里获取PG1当前对应的OSD组[1,2,3],可从acting set集合里获取通过Crush算法计算出的PG1对应的OSD组[4,2,3]。由于监视器确定PG1当前对应的OSD组[1,2,3]和通过Crush算法计算出的PG1对应的OSD组[4,2,3]不一致,则监视器确定PG1为待恢复的目标PG。
需要说明的是,这里所述的目标PG可以是一个PG,也可以是多个PG,这里不对目标PG的个数进行具体地限定。
步骤202:检测所述目标PG当前对应的正常OSD副本的数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态。
下面对步骤202的触发机制和步骤202的具体实现方式两方面,对步骤202进行具体地说明。
1、步骤202触发机制
监视器在确定待进行数据恢复的目标PG组后,监视器可启动预设的定时器(这里记为第一定时器)。
监视器可检测第一定时器是否超时。
若第一定时器未超时,则继续等待第一定时器超时。
若第一定时器已超时,则触发步骤202,即若第一定时器已超时,则检测所述目标PG当前对应的正常OSD副本的数量是否大于等于预设的最小副本数、以及检测所述Ceph集群忙闲状态。
2、步骤202的具体实现方式:
1)监视器可检测确定出的目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数。
在实现时,监视器首先可确定目标PG对应的正常OSD副本的数量。
具体地,监视器可从目标PG当前对应的OSD组、以及计算出的目标PG对应的OSD组中,选择两个OSD组中相同的OSD作为目标PG对应的正常OSD,然后统计该目标PG对应的正常OSD的个数。
例如,仍以PG1为目标PG为例,假设PG1当前对应的OSD组为OSD组[1,2,3],计算出的PG1对应的OSD组为OSD组[4,2,3]。
这两个OSD组中的相同的OSD是OSD2和OSD3,则OSD2和OSD3是PG1的对应的正常OSD副本。该正常OSD副本的个数为2。
然后,监视器可检测确定出的目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数。
需要说明的是,上述最小副本数是用户根据自己所能承受的最少的OSD副本数量来确定最小副本数。
例如,在现有的Ceph集群里,用户为了保证数据的可靠性,根据存储空间、写延迟等情况会为Ceph设置一个副本数(假设以N来表示)。通常N≥3。
在本申请中,除了现有的副本数N外,本申请还设计了最小副本数M。用户可以根据N的取值来设定最小副本数(假设以M来表示)。
比如,用户可在[1,N]的区间里设置M的取值,即1≤M≤N。这里只是对设定最小副本数据进行示例性地说明,不进行具体地限定。
设置最小副本数以及检测目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数的目的在于:保证即使延迟对目标PG中数据的恢复,仍然可以有足够多正常的OSD副本来保证处理针对该目标PG的读写业务。
具体地,比如假设OSD1故障,目标PG当前对应的OSD组为OSD组[1,2,3],计算出的目标PG对应的OSD组为OSD组[4,2,3],此时需要将目标PG中的数据恢复至OSD4。
在目标PG中的数据恢复到OSD4的过程中,Ceph集群仍会接收到来自于客户端且针对该目标PG的业务IO,而由于OSD1故障,且数据未完成恢复,所以这些业务IO可由OSD副本(即OSD2或者OSD3)来处理。
比如该业务IO为读IO,此时由于OSD1故障,并且OSD1中的数据还未恢复至OSD4,则需要从目标PG对应的OSD副本中读取数据,比如从OSD2或者OSD3中读取数据。
若该目标PG对应的OSD副本都不正常或者目标PG对应的OSD副本数小于用户预设的阈值,则无法满足对于业务IO的处理。
基于上述原因,本申请需要检测目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数,以此来保证即使延迟对目标PG中数据的恢复,仍然可以有足够多正常的OSD副本来保证处理针对该目标PG的读写业务。
2)检测所述Ceph集群忙闲状态
方式一:
步骤2021:监视器可检测所述Ceph集群的集群负载参数的当前值是否大于第一预设值。
其中,所述集群负载参数用于反映集群整体的负载状态,比如集群负载参数可以是该Ceph集群当前业务IO数量与该Ceph集群当前所有IO数量之比。
其中,第一预设值可以由用户根据实际情况进行设定,这里不对该第一预设值进行具体地限定。
在实现时,监视器可统计所述Ceph集群当前所有IO的数量A,以及统计业务IO的数量B。
然后,监视器可计算B与A的比值,得到C,其中C=B/A,C就是Ceph集群的集群负载参数的当前值。
步骤2022:若所述Ceph集群的集群负载参数的当前值是否大于第一预设值,则确定所述Ceph集群处于忙碌状态。
步骤2023:若所述Ceph集群的集群负载参数的当前值小于等于第一预设阈值,则进一步检测所述Ceph集群中各OSD的节点负载参数。
其中,每个OSD的节点负载参数用于表征该OSD的负载状态;OSD的节点负载参数当前值越大,表明该OSD承载的IO越多,OSD越繁忙。
该节点负载参数可以包括:OSD的硬盘使用率、OSD的IOPS(Input/OutputOperations Per Second,每秒进行读写操作的次数)。当节点负载参数是OSD的硬盘使用率时,该第二预设值为与该硬盘使用率相关的预设值,而当该节点负载参数是OSD的IOPS时,该第二预设值为与该IOPS相关的预设值。
步骤2024:若该Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,监视器则可确定所述Cpeh集群处于忙碌状态。
步骤2025:若该Ceph集群中所有OSD的节点负载参数当前值均小于等于第二预设值,监视器则可确定所述Ceph集群处于非忙碌状态。
方式二:
监视器检测Ceph集群中各OSD的节点负载参数,若该Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,监视器则可确定所述Cpeh集群处于忙碌状态,若该Ceph集群中所有OSD的节点负载参数的当前值均小于等于第二预设值,监视器则可确定所述Ceph集群处于非忙碌状态。
方式一的优点在于:
一方面,本申请依据Ceph集群的集群负载参数和Ceph集群中各OSD的节点负载参数来确定Ceph集群的忙闲状态,从Ceph集群整体上和Ceph集群各个节点两方面反应出了Ceph集群的状态,使得Ceph集群忙闲状态的反映更为全面。
另一方面,与方式二相比,现有的Ceph集群会检测并记录该Ceph集群整体负载参数,监视器可以直接读取到Ceph集群的集群负载参数。而监视器要获取各OSD的节点负载参数,就需要从各个OSD节点获取。所以读取Ceph集群的集群负载参数要比获取各OSD的节点负载参数更为便捷。
所以采用方式一的方法判断,在确定Ceph集群的集群负载参数大于第一预设值时,就可以确定出Ceph集群处于忙碌状态,而不用再获取各OSD的节点负载参数,所以大大节约了确定Ceph集群忙闲状态的速度。
需要说明的是,本申请并不对“检测所述目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数”和“检测所述Ceph集群忙闲状态”的时序进行具体限定。
步骤203:若所述目标PG对应的正常OSD副本的数量大于等于预设的最小副本数、且所述Ceph集群中处于忙碌状态,则延迟对所述目标PG中的数据进行恢复。
在本申请实施例中,若当前Ceph集群处于忙碌状态后,监视器不会立即将目标PG中数据恢复至计算出的目标PG对应的OSD,而是周期性地检测所述目标PG对应的正常OSD副本的数量是否大于等于预设的最小副本数、以及检测所述Ceph集群忙闲状态,直至目标PG对应的正常副本数大于等于最小副本数,且当前Ceph集群的状态处于非忙碌状态时,才对目标PG中的数据进行恢复。
在实现时,若所述目标PG对应的正常OSD副本的数量大于等于预设的最小副本数、且所述Ceph集群中处于忙碌状态,则返回步骤202中的“检测第一定时器是否超时”的步骤,若第一定时器超时,则继续执行步骤203,若第一定时器未超时,则等待该第一定时器超时。直至所述目标PG对应的正常OSD副本的数量小于所述最小副本数,或者所述Ceph集群处于非忙碌状态,开始对所述目标PG中的数据进行恢复。
例如,若所述目标PG对应的正常OSD副本的数量大于等于预设的最小副本数、且所述Ceph集群中处于忙碌状态,则检查第一定时器是否超时。
若第一定时器未超时,则等待第一定时器超时。若第一定时器超时,则再检测目标PG对应的正常OSD副本数是否大于等于预设的最小副本数,以及检测当前Ceph集群的状态。若检测到目标PG对应的正常OSD副本数大于等于预设的最小副本数,且当前Ceph集群处于忙碌状态,则再检查第一定时器是否超时。
若第一定时器未超时,则等待第一定时器超时。若第一定时器超时,则再检测目标PG对应的正常OSD副本数是否大于等于预设的最小副本数,以及检测当前Ceph集群的状态,依次类推,直到目标PG对应的正常副本数小于最小副本数,或者检测出当前Ceph集群处于非忙碌状态时,开始对该目标PG中的数据进行恢复。
步骤204:若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
在实现时,在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;
在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复。
若目标PG中的所有待恢复数据均完成恢复,则结束数据恢复流程。
若目标PG中的所有待恢复数据没有完成恢复,则停止对该目标PG中未恢复的数据进行恢复,关闭第二定时器,并返回步骤202中的“检测第一定时器”的步骤。
若第一定时器超时,则检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态,若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则开始对目标PG中未恢复的数据进行恢复,并启动第二定时器。
在第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复。若目标PG中的所有待恢复数据均恢复完成,则结束流程。若目标PG中的所有待恢复数据没有完成恢复,则停止对该目标PG中当前未恢复的数据进行恢复,关闭所述第二定时器,并返回所述“检测所述第一定时器是否超时”的步骤,直至目标PG中的所有待恢复数据均完成恢复。
由上述描述可知,一方面,由于在Ceph集中的OSD拓扑发生变化时,本申请不是立即对待恢复的目标PG中的数据进行恢复,而是要对当前Ceph集群忙闲状态进行判断,在确定Ceph集群处于忙碌状态时,延迟对目标PG中的数据进行恢复,因此可以有效地防止因为对数据恢复而造成OSD设备负荷加重,影响对Ceph集群客户端业务的处理这一问题的发生。
另一方面,本申请还对目标PG对应的正常OSD副本的数量与预设最小副本数进行比较,以此来保证即使延迟对目标PG中数据的恢复,仍然可以有足够多正常的OSD副本来保证处理针对该目标PG的读写业务。
第三方面,本申请提供的数据恢复的方法可以与现有的Ceph集群兼容,比如可以与Ceph集群的Crush算法兼容等,所有本申请提供的数据恢复方法具有良好的兼容性。
参见图3,图3是本申请一示例性实施例示出的另一种数据恢复方法的流程图。该方法可应用在Ceph集群中的监视器上。
步骤301:当Ceph集群中的OSD拓扑发生变化,确定待进行数据恢复的目标PG。
步骤302:启动第一定时器。
步骤303:检测第一定时器是否超时。
若第一定时器未超时,则可执行步骤304。
若第一定时器超时,则执行步骤305。
步骤304:监视器可等待第一定时器超时。
步骤305:监视器可检测目标PG当前对应的正常OSD副本数是否大于预设的最小副本数。
若目标PG当前对应的正常OSD副本数大于等于预设的最小副本数,则执行步骤306。
若目标PG当前对应的正常OSD副本数小于预设的最小副本数,则执行步骤308。
步骤306:监视器可检测Ceph集群的集群负载参数的当前值是否大于第一预设值。
若Ceph集群的集群负载参数的当前值大于第一预设值,则返回步骤303。
若Ceph集群的集群负载参数的当前值是小于等于第一预设值,则执行步骤307。
步骤307:监视器可检测Ceph集群中的各OSD的节点负载参数的当前值是否大于第二预设值。
若Ceph集群中的各OSD的节点负载参数的当前值均小于等于第二预设值,则执行步骤308。
若Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD时,则返回步骤303。
步骤308:监视器开始对目标PG的数据进行恢复,并启动第二定时器。
步骤309:在第二定时器超时后,监视器可检测所述目标PG中的所有待恢复数据是否完成恢复。
若所述目标PG中的所有待恢复数据均完成恢复,则执行步骤311。
若所述目标PG中存在未恢复的数据,则执行步骤310。
步骤310:监视器可停止对目标PG中当前未恢复的数据进行恢复,并关闭第二定时器。
在执行完步骤310后,返回步骤303。
步骤311:监视器可结束对目标PG中数据的恢复。
本申请实施例还提供了与上述数据恢复方法对应的数据恢复装置。
参见图4,图4是本申请一示例性实施例示出的一种数据恢复装置的框图,该数据恢复装置可应用在监视器上,可包括如下所示单元。
确定单元401,用于确定待进行数据恢复的目标归置组PG;
检测单元402,用于检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
延迟单元403,用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。
可选的,所述装置还包括:
恢复单元404,用于若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
可选的,所述检测单元402,用于检测反映所述Ceph集群当前负载状态的集群负载参数的当前值是否大于第一预设值;若是,则确定所述Ceph集群处于忙碌状态;若否,则进一步检测反映所述Ceph集群中各OSD当前负载状态的节点负载参数的当前值;若所述Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,则确定所述Ceph集群处于忙碌状态;若所述Ceph集群中所有OSD的节点负载参数的当前值均小于等于所述第二预设值,则确定所述Ceph集群处于非忙碌状态。
可选的,所述装置还包括:
启动单元405,用于启动预设的定时器;
所述检测单元402,具体用于检测所述定时器是否超时;若所述定时器超时,检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
所述延迟单元403,具体用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则返回所述检测所述定时器是否超时的步骤。
可选的,所述恢复单元404,在对所述目标PG中待恢复的数据进行恢复时,具体用于在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复;若否,则停止对该目标PG中未恢复的数据进行恢复,关闭所述第二定时器,并返回所述检测所述定时器是否超时的步骤。
可选的,所述集群负载参数包括:所述Ceph集群当前业务IO数量与所述Ceph集群当前所有IO数量的比值;
所述节点负载参数包括:硬盘利用率、每秒进行读写操作的次数IPOS。
可选的,所述装置还包括:
计算单元406,用于计算所述Ceph集群中的各PG所对应的OSD组;
所述确定单元401,具体用于针对每一个PG,若计算出的PG对应的OSD组与该PG当前对应的OSD组不一致,则确定所述PG为待进行数据恢复的目标PG。
相应地,本申请还提供了对应图4所示装置的硬件结构图。
本申请所述的监视器,可以物理监视器,即由一台物理服务器构成,也可以是由多台物理服务器所虚拟成的虚拟监视器。当该监视器是物理监视器时,该监视器的硬件结构图可如图5所示。
参见图5,图5是本申请实施例一示例性实施例示出的一种监视器的硬件结构图。
该监视器包括:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502和机器可读存储介质503通过总线504完成相互间的通信。处理器502通过读取并执行机器可读存储介质503中与数据恢复控制逻辑对应的机器可执行指令,可执行上文描述的数据恢复方法。
本文中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种数据恢复方法,其特征在于,所述方法应用于分布式存储***Ceph集群中的监视器,在所述Ceph集群的对象存储设备OSD拓扑发生变化时,所述方法包括:
确定待进行数据恢复的目标归置组PG;
检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
3.根据权利要求1所述的方法,其特征在于,所述检测所述Ceph集群负载状态,包括:
检测反映所述Ceph集群当前负载状态的集群负载参数的当前值是否大于第一预设值;
若是,则确定所述Ceph集群处于忙碌状态;
若否,则进一步检测反映所述Ceph集群中各OSD当前负载状态的节点负载参数的当前值;若所述Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,则确定所述Ceph集群处于忙碌状态;若所述Ceph集群中所有OSD的节点负载参数的当前值均小于等于所述第二预设值,则确定所述Ceph集群处于非忙碌状态。
4.根据权利要求2所述的方法,其特征在于,在所述确定待进行数据恢复的目标归置组PG之后,所述方法包括:
启动预设的定时器;
所述检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态,包括:
检测所述定时器是否超时;
若所述定时器超时,检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
所述若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则延迟对所述目标PG中的数据进行恢复,包括:
若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则返回所述检测所述定时器是否超时的步骤。
5.根据权利要求4所述的方法,其特征在于,所述对所述目标PG中待恢复的数据进行恢复,包括:
在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;
在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复;
若否,则停止对该目标PG中未恢复的数据进行恢复,关闭所述第二定时器,并返回所述检测所述定时器是否超时的步骤。
6.根据权利要求3所述的方法,其特征在于,
所述集群负载参数包括:所述Ceph集群当前业务IO数量与所述Ceph集群当前所有IO数量的比值;
所述节点负载参数包括:硬盘利用率、每秒进行读写操作的次数IPOS。
7.根据权利要求1所述的方法,其特征在于,在所述确定待进行数据恢复的目标PG之前,所述方法还包括:
计算所述Ceph集群中的各PG所对应的OSD组;
所述确定待进行数据恢复的目标PG,包括:
针对每一个PG,若计算出的PG对应的OSD组与该PG当前对应的OSD组不一致,则确定所述PG为待进行数据恢复的目标PG。
8.一种数据恢复装置,其特征在于,所述装置应用于分布式存储***Ceph集群中的监视器,在所述Ceph集群的对象存储设备OSD拓扑发生变化时,所述装置包括:
确定单元,用于确定待进行数据恢复的目标归置组PG;
检测单元,用于检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
延迟单元,用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中负载状态为忙碌状态,则延迟将所述目标PG中待进行数据恢复的数据进行恢复。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
恢复单元,用于若所述目标PG对应的正常OSD副本数量小于所述最小副本数、或者所述Ceph集群处于非忙碌状态,则对所述目标PG中待恢复的数据进行恢复。
10.根据权利要求8所述的装置,其特征在于,所述检测单元,用于检测反映所述Ceph集群当前负载状态的集群负载参数的当前值是否大于第一预设值;若是,则确定所述Ceph集群处于忙碌状态;若否,则进一步检测反映所述Ceph集群中各OSD当前负载状态的节点负载参数的当前值;若所述Ceph集群中存在节点负载参数的当前值大于第二预设值的OSD,则确定所述Ceph集群处于忙碌状态;若所述Ceph集群中所有OSD的节点负载参数的当前值均小于等于所述第二预设值,则确定所述Ceph集群处于非忙碌状态。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
启动单元,用于启动预设的定时器;
所述检测单元,具体用于检测所述定时器是否超时;若所述定时器超时,检测该目标PG当前对应的正常OSD副本数量是否大于等于预设的最小副本数、以及检测所述Ceph集群负载状态;
所述延迟单元,具体用于若所述目标PG对应的正常OSD副本数量大于等于所述最小副本数、且所述Ceph集群中处于忙碌状态,则返回所述检测所述定时器是否超时的步骤。
12.根据权利要求11所述的装置,其特征在于,所述恢复单元,在对所述目标PG中待恢复的数据进行恢复时,具体用于在开始对目标PG中待恢复的数据进行恢复时,启动预设的第二定时器;在所述第二定时器超时时,检测所述目标PG中的所有待恢复数据是否完成恢复;若否,则停止对该目标PG中未恢复的数据进行恢复,关闭所述第二定时器,并返回所述检测所述定时器是否超时的步骤。
13.根据权利要求10所述的装置,其特征在于,所述集群负载参数包括:所述Ceph集群当前业务IO数量与所述Ceph集群当前所有IO数量的比值;
所述节点负载参数包括:硬盘利用率、每秒进行读写操作的次数IPOS。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
计算单元,用于计算所述Ceph集群中的各PG所对应的OSD组;
所述确定单元,具体用于针对每一个PG,若计算出的PG对应的OSD组与该PG当前对应的OSD组不一致,则确定所述PG为待进行数据恢复的目标PG。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501810.XA CN109710456B (zh) | 2018-12-10 | 2018-12-10 | 一种数据恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501810.XA CN109710456B (zh) | 2018-12-10 | 2018-12-10 | 一种数据恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710456A CN109710456A (zh) | 2019-05-03 |
CN109710456B true CN109710456B (zh) | 2021-03-23 |
Family
ID=66255518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811501810.XA Active CN109710456B (zh) | 2018-12-10 | 2018-12-10 | 一种数据恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710456B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000487B (zh) * | 2020-08-14 | 2022-07-08 | 浪潮电子信息产业股份有限公司 | 一种scrub压力调整方法、装置和介质 |
CN113672435A (zh) * | 2021-07-09 | 2021-11-19 | 济南浪潮数据技术有限公司 | 一种数据恢复方法、装置、设备及存储介质 |
CN114237520B (zh) * | 2022-02-28 | 2022-07-08 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及*** |
CN116302673B (zh) * | 2023-05-26 | 2023-08-22 | 四川省华存智谷科技有限责任公司 | 一种提高Ceph存储***数据恢复速率的方法 |
CN117851132B (zh) * | 2024-03-07 | 2024-05-07 | 四川省华存智谷科技有限责任公司 | 一种分布式对象存储的数据恢复优化方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331253A (zh) * | 2014-10-30 | 2015-02-04 | 浪潮电子信息产业股份有限公司 | 一种对象存储***中对象迁移的计算方法 |
CN106951559A (zh) * | 2017-03-31 | 2017-07-14 | 联想(北京)有限公司 | 分布式文件***中数据恢复方法及电子设备 |
CN107729536A (zh) * | 2017-10-31 | 2018-02-23 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN107729185A (zh) * | 2017-10-26 | 2018-02-23 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN107817950A (zh) * | 2017-10-31 | 2018-03-20 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN107948334A (zh) * | 2018-01-09 | 2018-04-20 | 无锡华云数据技术服务有限公司 | 基于分布式存储***的数据处理方法 |
CN108121510A (zh) * | 2017-12-19 | 2018-06-05 | 紫光华山信息技术有限公司 | Osd选取方法、数据写入方法、装置和存储*** |
CN108287669A (zh) * | 2018-01-26 | 2018-07-17 | 平安科技(深圳)有限公司 | 数据存储方法、装置及存储介质 |
CN108509153A (zh) * | 2018-03-23 | 2018-09-07 | 新华三技术有限公司 | Osd选择方法、数据写入和读取方法、监控器和服务器集群 |
CN108958970A (zh) * | 2018-05-29 | 2018-12-07 | 新华三技术有限公司 | 一种数据恢复方法、服务器和计算机可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10003649B2 (en) * | 2015-05-07 | 2018-06-19 | Dell Products Lp | Systems and methods to improve read/write performance in object storage applications |
-
2018
- 2018-12-10 CN CN201811501810.XA patent/CN109710456B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331253A (zh) * | 2014-10-30 | 2015-02-04 | 浪潮电子信息产业股份有限公司 | 一种对象存储***中对象迁移的计算方法 |
CN106951559A (zh) * | 2017-03-31 | 2017-07-14 | 联想(北京)有限公司 | 分布式文件***中数据恢复方法及电子设备 |
CN107729185A (zh) * | 2017-10-26 | 2018-02-23 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN107729536A (zh) * | 2017-10-31 | 2018-02-23 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN107817950A (zh) * | 2017-10-31 | 2018-03-20 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN108121510A (zh) * | 2017-12-19 | 2018-06-05 | 紫光华山信息技术有限公司 | Osd选取方法、数据写入方法、装置和存储*** |
CN107948334A (zh) * | 2018-01-09 | 2018-04-20 | 无锡华云数据技术服务有限公司 | 基于分布式存储***的数据处理方法 |
CN108287669A (zh) * | 2018-01-26 | 2018-07-17 | 平安科技(深圳)有限公司 | 数据存储方法、装置及存储介质 |
CN108509153A (zh) * | 2018-03-23 | 2018-09-07 | 新华三技术有限公司 | Osd选择方法、数据写入和读取方法、监控器和服务器集群 |
CN108958970A (zh) * | 2018-05-29 | 2018-12-07 | 新华三技术有限公司 | 一种数据恢复方法、服务器和计算机可读介质 |
Non-Patent Citations (2)
Title |
---|
Ceph分布式文件***的研究及性能测试;李翔;《中国优秀硕士学位论文全文数据库 信息科技辑》;20141015;第2014年卷(第10期);全文 * |
Ceph存储引擎中基于固态盘的日志机制优化;唐颢;《中国优秀硕士学位论文全文数据库 信息科技辑》;20171115;第2017年卷(第 11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109710456A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710456B (zh) | 一种数据恢复方法及装置 | |
US9146684B2 (en) | Storage architecture for server flash and storage array operation | |
US7490103B2 (en) | Method and system for backing up data | |
US8332354B1 (en) | Asynchronous replication by tracking recovery point objective | |
US9547552B2 (en) | Data tracking for efficient recovery of a storage array | |
US7774646B2 (en) | Surviving storage system takeover by replaying operations in an operations log mirror | |
US20050188256A1 (en) | Method and system for data recovery in a continuous data protection system | |
WO2018153251A1 (zh) | 一种快照的处理方法及分布式块存储*** | |
CN103763383A (zh) | 一体化云存储***及其存储方法 | |
JP2006221623A (ja) | 記憶装置における喪失した書き込みの検出および回復 | |
CN102024044A (zh) | 分布式文件*** | |
US9547452B2 (en) | Saving log data using a disk system as primary cache and a tape library as secondary cache | |
CN107329859B (zh) | 一种数据保护方法及存储设备 | |
CN110442646B (zh) | 一种ceph数据同步模块主端写性能优化***及方法 | |
US11947413B2 (en) | Dynamic system log preprocessing | |
US20220334733A1 (en) | Data restoration method and related device | |
CN112269681A (zh) | 一种持续保护虚拟机数据的方法、装置及设备 | |
US9619330B2 (en) | Protecting volatile data of a storage device in response to a state reset | |
WO2014075586A1 (zh) | 一种jbod阵列自动恢复存储的方法和装置 | |
US10001826B2 (en) | Power management mechanism for data storage environment | |
WO2020133473A1 (zh) | 一种备份数据的方法、装置和*** | |
CN114063883A (zh) | 存储数据方法、电子设备和计算机程序产品 | |
US10656848B2 (en) | Data loss avoidance in multi-server storage systems | |
US20160070491A1 (en) | Information processor, computer-readable recording medium in which input/output control program is recorded, and method for controlling input/output | |
US11226875B2 (en) | System halt event recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |