CN104246716B - 存储空间对象的处理方法及设备 - Google Patents
存储空间对象的处理方法及设备 Download PDFInfo
- Publication number
- CN104246716B CN104246716B CN201280003120.6A CN201280003120A CN104246716B CN 104246716 B CN104246716 B CN 104246716B CN 201280003120 A CN201280003120 A CN 201280003120A CN 104246716 B CN104246716 B CN 104246716B
- Authority
- CN
- China
- Prior art keywords
- memory space
- space object
- deleted
- state
- unrecovered
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种存储空间对象的处理方法及设备。该方法包括:当接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;将所述存储空间对象的状态信息记录为已删除且未回收状态,以回收或者恢复所述存储空间对象。本发明实施例为存储空间对象增加已删除且未回收的状态,当需要时,能够恢复该误删除的存储空间对象,从而有效地防护误删除,减少因误删除造成的损失。
Description
技术领域
本发明实施例涉及存储技术领域,并且更具体地,涉及存储空间对象的处理方法及设备。
背景技术
小型的专用存储设备,一般会对外提供数十上百个存储空间对象;大型的存储设备甚至会对外提供上万个存储空间对象。因此,对存储空间对象误删除的操作时有发生,而当用户执行“删除存储空间”操作时,存储系统会将该存储空间对象相关的配置、元数据以及存储的资源全部删除,用户无法继续使用该存储空间对象。一般情况下,一个存储空间对象会存储上千甚至是上亿个文件,删除存储空间对象后,存储的所有数据都不可恢复,从而造成很大的损失。
目前,还没有针对误删除存储空间对象的防护措施。
发明内容
本发明实施例提供一种存储空间对象的处理方法及设备,能够有效地防护误删除,减少因误删除造成的损失。
第一方面,提供了一种存储空间对象的处理方法,该方法包括:当接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象。
结合第一方面,在第一种可能的实现方式中,具体实现可以为:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,具体实现可以为:查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
结合第一方面,在第三种可能的实现方式中,具体实现可以为:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,具体实现可以为:当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
结合第一方面的第三种可能的实现方式或第四种可能的实现方式,在第五种可能的实现方式中,在对已删除且未回收状态的存储空间对象进行回收操作之前,具体实现可以为:根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;所述对处于已删除且未回收状态的存储空间对象进行回收操作,具体实现可以为:根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,具体实现可以为:所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
第二方面,提供了一种存储空间对象的处理设备,该设备包括:删除单元,用于当接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;记录单元,用于将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象。
结合第二方面,在第一种可能的实现方式中,所述记录单元还用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述设备还包括查找单元,所述查找单元用于在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
结合第二方面,在第三种可能的实现方式中,所述记录单元
还用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述设备还包括:
创建单元,用于当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
结合第二方面的第三种可能的实现方式或第四种可能的实现方式,在第五种可能的实现方式中,所述记录单元还用于:根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;所述设备还包括:回收单元,用于根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
第三方面,提供了一种存储设备,该存储设备包括:处理器、通信接口和通信总线;其中,所述处理器和所述通信接口通过所述通信总线进行通信;所述通信接口,用于接收删除存储空间对象的指令;所述处理器,用于当所述通信接口接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象。
结合第三方面,在第一种可能的实现方式中,所述处理器还用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器还用于:在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,所述方法还包括:查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器还用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器还用于:当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
结合第三方面的第三种可能的实现方式或第四种可能的实现方式,在第五种可能的实现方式中,所述处理器还用于:根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
本发明实施例当接收到删除存储空间对象的指令时,删除存储空间对象与主机之间的映射,将该存储空间对象的状态信息记录为已删除且未回收状态,以回收或者恢复该存储空间对象。本发明实施例为存储空间对象增加已删除且未回收的状态,当需要时,能够恢复该误删除的存储空间对象,从而有效地防护误删除,减少因误删除造成的损失。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是可应用于本发明实施例的场景示意图。
图2是本发明一个实施例的存储空间对象的处理方法的流程图。
图3是本发明一个实施例的删除存储空间对象的过程的示意性流程图。
图4是本发明一个实施例的创建存储空间对象的过程的示意性流程图。
图5是本发明一个实施例的恢复存储空间对象的过程的示意性流程图。
图6是本发明一个实施例的存储空间对象的处理设备的结构框图。
图7是本发明另一个实施例的存储空间对象的处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是可应用于本发明实施例的场景示意图。
本发明实施例的应用场景如图1所示,在图1中描述了3个主机,分别是主机101、主机102和主机103;4个存储设备,分别是存储设备105、存储设备106、存储设备107和存储设备108,但仅仅是为了描述方便。图1中主机和存储设备的数目可以是一个或多个,本发明实施例对此并不限定。
在本发明实施例中,主机可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在主机内部,安装有操作系统以及其他应用程序。
存储设备可以包括当前技术已知的存储设备,如独立磁盘冗余阵列(RedundantArrays of Inexpensive Disks,RAID)、磁盘簇(Just a Bunch Of Disks,JBOD)、直接存取存储器(Direct Access Storage Device,DASD)的一个或多个互连的磁盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储设备。
存储设备对外提供存储空间对象,存储空间对象可以是在存储设备上的用户可见的一段逻辑区域,在图1中,存储空间对象以逻辑单元(Logical UnitNumber,LUN)为例。应理解,本发明实施例并不限于此,存储空间对象还可以是存储池(pool)、RAID组等。在图1中,存储设备105提供了4个LUN,分别是LUN11、LUN12、LUN13和LUN14,应理解,存储空间对象的数目可以是一个或多个,本发明实施例对此并不限定。
存储设备中的处理器109用于执行可执行模块,例如计算机程序等。用户可以在主机上通过连接设备访问存储设备中的存储空间对象,在存储空间对象中获取存储的数据,或者将数据存储在存储空间对象中。
在现有技术中,当用户对存储空间对象进行删除,例如,用户执行删除存储设备105中的LUN 11的操作时,存储设备105中的处理器109接收到删除LUN 11的指令,会将LUN11相关的配置、元数据以及存储的数据全部删除,删除以后用户将无法继续使用该存储空间对象,但如果删除有误,该存储空间对象中的数据也无法进行恢复,从而造成很大的损失。
为了解决上述问题,本发明实施例提供一种存储空间对象的处理方法和设备,能够有效地防护误删除,减少因误删除造成的损失。
图2是本发明一个实施例的存储空间对象的处理方法的流程图。图2的方法由存储空间对象的处理设备执行,具体的,可以由存储设备中的处理器执行。
201,当接收到删除存储空间对象的指令时,删除存储空间对象与主机之间的映射。
对于大多数存储设备而言,并不直接对操作系统呈现存储设备所包含的物理磁盘本身,而是将各物理磁盘提供的存储空间映射为一段逻辑区域,即存储空间对象供用户使用。因此,操作系统对磁盘进行的读写操作实际上都是在存储空间对象层面进行的操作。
当接收到删除存储空间对象的指令时,处理器将删除存储空间对象与主机之间的映射,在删除存储空间对象与主机之间的映射之后,该存储空间对象对用户来说即不可见。
202,将该存储空间对象的状态信息记录为已删除且未回收状态,以恢复该存储空间对象。
在现有技术中,存储空间对象的状态信息可以为两种,一种是未使用状态,另一种是已使用状态,未使用状态是指该存储空间对象尚未分配给主机使用,具体的,存储空间对象没有分配给主机使用是指没有创建该存储空间对象与主机的映射;已使用状态是指存储空间对象已经分配给主机使用,具体的,存储空间对象已经分配给主机使用是指已经创建该存储空间对象与主机的映射。
需要说明的是,在现有技术中在执行存储空间对象删除指令时,即将存储空间对象的状态由已使用状态修改为未使用状态,同时删除该存储空间对象对应的配置参数、元数据和存储的数据。
在本发明实施例中,可以在该存储空间对象的属性中增加一种状态:已删除且未回收状态,当步骤201删除存储空间对象与主机之间的映射之后,可以在该存储空间对象的属性将其状态记录为:已删除且未回收状态。对于已删除且未回收状态的存储空间对象,不会对其对应的配置参数、元数据和存储的数据进行删除,仅删除其与主机之间的映射。通过上述方案,为存储空间对象增加已删除且未回收的状态,在存储系统中保留了处于已删除且未回收状态的存储空间对象的配置参数、元数据和存储的数据,当需要时,即能够恢复该误删除的存储空间对象,从而有效地防护误删除,减少因误删除造成的损失。
可选的,作为一个实施例,可以将存储空间对象的状态信息记录在存储空间对象的属性中。
可选地,作为另一个实施例,存储空间对象的处理设备可以更改存储空间对象的状态信息。例如,当对处于已使用状态的存储空间对象进行删除操作时,已使用状态的存储空间对象的状态信息更改为已删除且未回收状态。又例如,当对处于已删除且未回收状态的存储空间对象进行回收操作时,将已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。再例如,当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。等等。其中,处于已使用状态的存储空间对象可对外提供业务,处于已删除且未回收状态的存储空间对象不可对外提供业务且可恢复为已使用状态的存储空间对象,以及处于未使用状态的存储空间对象不可对外提供业务且不可恢复为已使用状态的存储空间对象。
应理解,上述例子仅仅是示例性的,而非要限制本发明的范围。
因此,在本发明实施例中,当用户误删除存储空间对象时,已使用状态的存储空间对象变为已删除且未回收状态的存储空间对象,并在存储系统中保留了存储空间对象的配置参数、元数据和存储的数据。可以对已删除且未回收状态的存储空间对象进行恢复操作,能够恢复成已使用状态的存储空间对象,存储的所有数据得到恢复,且可对外提供业务。从而有效地防护误删除,减少因误删除造成的损失。
可选地,作为另一个实施例,当接收到创建LUN的操作指令时,存储空间对象的处理设备可以根据未使用状态的存储空间对象创建已使用状态的存储空间对象。进一步地,根据未使用状态的存储空间对象的配置参数创建已使用状态的存储空间对象。未使用状态的存储空间的配置参数可以包括至少下列之一:未使用状态的存储空间对象的性能参数、已删除且未回收状态的存储空间对象的删除时间和未使用状态的存储空间对象的容量。
例如,当需要创建已使用状态的存储空间对象时,可以评估当前未使用状态的存储空间的容量阈值。如果需要创建的存储空间对象(已使用状态)的容量小于存储系统中所有未使用状态的存储空间的容量,则可以直接创建已使用状态的存储空间对象。又例如,可以评估当前未使用状态的存储空间的性能阈值,选择与需要创建的存储空间对象的性能相似或一致的未使用状态的存储空间来创建。等等。
可选地,可以对已删除且未回收状态的存储空间对象进行回收操作,将回收操作后变成未使用状态的存储空间对象创建成已使用状态的存储空间对象。进一步地,根据已删除且未回收状态的存储空间对象的优先级确定是否进行回收操作,将进行了回收操作的已删除且未回收状态的存储空间对象创建为已使用状态的存储空间对象。优先级是根据已删除且未回收状态的存储空间对象的配置参数设置的。其中,已删除且未回收状态的存储空间对象的配置参数可以包括至少下列之一:已删除且未回收状态的存储空间对象的性能参数,已删除且未回收状态的存储空间对象的删除时间和已删除且未回收状态的存储空间对象的容量。
例如,按照删除时间设置已删除且未回收状态的存储空间对象的优先级,越晚删除的优先级越高,当对已删除且未回收状态的存储空间对象进行回收来创建已使用状态的存储空间对象时,可以选择优先级较低的,即对删除时间较早的已删除且未回收状态的存储空间对象执行回收操作,在存储系统中保留的配置参数和存储的数据被删除掉,不再保留。这样,可以最大程度地保留存储的数据,延长存储空间对象的可恢复时间。
当然,也可以考虑已删除且未回收状态的存储空间对象的容量或性能参数等配置参数的优先级来选择先回收的已删除且未回收状态的存储空间对象。如可以确定先回收性能最高的还是性能最低的已删除且未回收状态的存储空间对象,或者确定先回收容量最大的还是容量最小的已删除且未回收状态的存储空间对象。还可以综合考虑配置参数中的多个来确定先回收的已删除且未回收状态的存储空间对象。这里的性能参数可以是该存储空间对象每秒处理IO命令的次数或者其他性能参数。
可选地,如果需要创建的存储空间对象的潜力阈值(例如容量阈值或性能阈值等)超过了存储系统中未使用状态的存储空间对象的潜力阈值时,则可以回收已删除且未回收状态的存储空间对象。
因此,创建已使用状态的存储空间对象时,可以根据需要创建的存储空间对象选择合适的已删除且未回收状态的存储空间对象和/或未使用状态的存储空间对象,提高灵活性。
应理解,上述例子仅仅是示例性的,而非要限制本发明的范围。
下面结合图3至图5的例子更加详细的描述本发明实施例。在图3至图5中,存储空间对象以LUN为例,应理解,本发明实施例不限于此,存储空间对象还可以是存储池或RAID组等。
图3是本发明一个实施例的删除存储空间对象的过程的示意性流程图。
301,接收删除LUN的操作指令。
在执行删除LUN操作之前,所述LUN的状态信息为已使用状态。
302,存储空间对象的处理设备删除LUN与主机之间的映射。
存储空间对象的处理设备,具体可以是存储设备中的处理器。当接收到删除LUN的指令时,存储设备中的处理器将删除存储空间对象与主机之间的映射,在删除LUN与主机之间的映射之后,该LUN对用户来说即不可见。此时,LUN不可对外提供业务但可恢复使用。
303,存储空间对象的处理设备在存储系统内部保留LUN的配置参数、元数据和存储的数据。
在现有技术中,执行存储空间对象删除指令时,会删除该LUN对应的配置参数、元数据和存储的数据。而在本发明实施例中,不会对该LUN对应的配置参数、元数据和存储的数据进行删除。
304,存储空间对象的处理设备记录LUN的配置参数。
例如,配置参数可以包括至少下列之一:已删除且未回收状态的存储空间对象的性能参数,已删除且未回收状态的存储空间对象的删除时间和已删除且未回收状态的存储空间对象的容量。
305,存储空间对象的处理设备将LUN的状态信息从已使用状态更改为已删除且未回收状态。
可选地,执行步骤306,根据记录的配置参数设置该已删除且未回收状态的LUN的优先级。例如,可以按照删除时间设置该已删除且未回收状态的LUN的优先级。
应理解,上述例子中记录的配置参数仅仅是示例性的,而非要限制本发明的范围。还应注意的是,无论是基于何种原因导致存储空间对象删除的,如用户误删除或者系统故障等情况,都落入本发明的范围。
因此,当用户误删除存储空间对象时,已使用状态的存储空间对象变为已删除且未回收状态的存储空间对象,并在存储系统中保留了存储空间对象的配置参数、元数据和存储的数据。从而有效地防护误删除,减少因误删除造成的损失。
图4是本发明一个实施例的创建存储空间对象的过程的示意性流程图。
401,接收创建LUN的操作指令。
404,建立未使用状态的LUN与主机的映射,并将所述未使用状态的LUN的状态信息修改为已使用状态。
当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。
当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。此处以存储空间对象为逻辑单元(Logical Unit Number,LUN)为例说明。
创建后已使用状态的LUN会显示在系统管理界面上。
采用本发明实施例的技术方案,在创建已使用状态的存储空间对象时,可以根据需要创建的存储空间对象选择合适的未使用状态的存储空间对象,提高灵活性。
在本发明另外一个实施例中,在建立该未使用状态的LUN与主机之间的映射之前还可以包括以下步骤:
402,存储空间对象的处理设备判断存储系统中未使用状态的LUN是否满足需要创建的LUN的需求。
例如,判断存储系统中未使用状态的LUN的容量阈值是否大于需要创建的LUN的容量阈值,或者判断存储系统中未使用状态的LUN的性能阈值是否大于需要创建的LUN的性能阈值。等等。
可选地,如果存储空间对象的处理设备判断出当前未使用状态的LUN不满足需要创建的LUN的需求时,则执行步骤403。如果存储空间对象的处理设备判断出当前未使用状态的LUN满足需要创建的LUN的需求,则执行步骤404。
应理解,上述例子的判断条件仅仅是示例性的,而非要限制本发明的范围。
403,存储空间对象的处理设备回收已删除且未回收状态的LUN。
对已删除且未回收状态的LUN进行回收后,该LUN的状态信息修改为未使用状态。且将在存储系统中保留的被回收的LUN的配置参数和存储的数据删除掉,不可以再恢复为已使用状态的LUN。在将已删除且未回收状态的LUN回收以后,即可执行步骤402。
可选地,根据已删除且未回收状态的LUN的优先级确定进行回收操作,优先级可以是根据已删除且未回收状态的LUN的配置参数设置的。例如,优先级按照已删除且未回收状态的LUN的删除时间设置的,越晚删除的优先级越高,当对已删除且未回收状态的LUN进行回收时,可以选择优先级较低的,即对删除时间较早的LUN进行回收。这样,可以最大程度地保留存储的数据,延长存储空间对象的可恢复时间。
可选地,可以考虑已删除且未回收状态的LUN的容量或性能等配置参数的优先级来选择先回收的已删除且未回收状态的LUN。例如,可以确定先回收与需要创建的LUN的性能相当的已删除且未回收状态的LUN。又例如,可以确定先回收容量最小的已删除且未回收状态的LUN,或者确定先回收容量最大的已删除且未回收状态的LUN。还可以综合考虑配置参数中的多个来确定先回收的已删除且未回收状态的LUN。等等。
应理解,上述例子仅仅是示例性的,而非要限制本发明的范围。
图5是本发明一个实施例的恢复存储空间对象的过程的示意性流程图。
501,接收LUN恢复操作的指令;
505,将已删除且未回收状态的LUN的状态信息更改为已使用状态;
当LUN的状态信息为已删除且未回收状态时,只是将该LUN与主机之间的映射删除了,使得该LUN对用户来说是不可见的,但与现有技术不同的是,并未删除该LUN对应的配置参数、元数据和存储的数据,因此可以对该LUN执行恢复操作。具体的,可以将该LUN的状态信息更改为已使用状态,对于已使用状态的LUN来说,可对外提供业务,恢复后LUN也可以显示在系统管理界面上。
需要说明的是,在本发明实施例中用户事先知道该存储设备具有恢复因误操作而删除的LUN功能,因此需要恢复某个LUN的时候,可以以输入命令行等方式发出恢复LUN的指令。
采用本发明实施例的技术方案可以对误操作删除的LUN进行恢复。存储的所有数据得到恢复,且可对外提供业务。从而有效地防护误删除,减少因误删除造成的损失。
在本发明另外一个实施例中,在执行步骤505之前还可以包括以下步骤:
502,存储空间对象的处理设备查找待恢复LUN的状态。
503,存储空间对象的处理设备判断待恢复LUN是否已回收。
如果待恢复LUN的状态信息为已删除且未回收状态,即待恢复LUN没有回收,则可以执行步骤505,如果待恢复LUN的状态信息为未使用状态,则待恢复LUN不可恢复为已使用状态的LUN(步骤504)。
因此,在本发明实施例中,可以对已删除且未回收状态的存储空间对象进行恢复操作,能够恢复成已使用状态的存储空间对象,存储的数据得到恢复,且可对外提供业务。从而有效地防护误删除,减少因误删除造成的损失。
图6是本发明一个实施例的存储空间对象的处理设备的结构框图。图6的存储空间对象的处理设备600包括删除单元601和记录单元602。
删除单元601,用于当接收到删除存储空间对象的指令时,删除存储空间对象与主机之间的映射。
记录单元602,用于将该存储空间对象的状态信息记录为已删除且未回收状态,以回收或者恢复该存储空间对象。
通过上述方案,为存储空间对象增加已删除且未回收的状态,在存储系统中保留了处于已删除且未回收状态的存储空间对象的配置参数、元数据和存储的数据,当需要时,即能够恢复该误删除的存储空间对象,从而有效地防护误删除,减少因误删除造成的损失。
存储空间对象的处理设备600可实现图2至图5的实施例中涉及存储空间对象的处理设备的操作,因此为避免重复,不再详细描述。
可选的,作为一个实施例,存储空间对象是指存储设备内一段物理的或逻辑的存储空间,它可以是存储池、RAID组或LUN等。应理解,本发明实施例对此并不限定。
可选地,在一种实现方式下,记录单元602还可以用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。在另一种实现方式下,记录单元602还可以用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。其中,处于已使用状态的存储空间对象可对外提供业务,处于已删除且未回收状态的存储空间对象不可对外提供业务且可恢复为已使用状态的存储空间对象,以及处于未使用状态的存储空间对象不可对外提供业务且不可恢复为已使用状态的存储空间对象。
可选地,在再一种实现方式下,设备600还可以包括查找单元605,用于在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,查找已删除且未回收状态的存储空间对象的状态,确定已删除且未回收状态的存储空间对象没有被回收。
因此,当用户误删除存储空间对象时,已使用状态的存储空间对象变为已删除且未回收状态的存储空间对象,并在存储系统中保留了存储空间对象的配置参数、元数据和存储的数据。可以通过对已删除且未回收状态的存储空间对象进行恢复操作,能够恢复成已使用状态的存储空间对象,存储的所有数据得到恢复,且可对外提供业务。从而有效地防护误删除,减少因误删除造成的损失。
可选地,设备600还包括创建单元603,创建单元603用于当接收到创建存储空间对象的指令时,建立未使用状态的存储空间对象与主机的映射,并将未使用状态的存储空间对象的状态信息修改为已使用状态。
可选地,记录单元602还用于:根据已删除且未回收状态的存储空间对象的配置参数设置已删除且未回收状态的存储空间对象的优先级。设备600还包括回收单元604,回收单元604用于根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
可选地,已删除且未回收状态的存储空间对象的配置参数可以包括至少下列之一:已删除且未回收状态的存储空间对象的性能参数,已删除且未回收状态的存储空间对象的删除时间和已删除且未回收状态的存储空间对象的容量。
因此,创建已使用状态的存储空间对象时,可以根据需要创建的存储空间对象选择合适的已删除且未回收状态的存储空间对象和/或未使用状态的存储空间对象,提高灵活性。
图7是根据本发明另一实施例的存储空间对象的处理设备的结构示意图。存储空间对象的处理设备700可包括:通信接口701、处理器702、总线703和存储器704。
通信接口701、处理器702和存储器704通过总线703相互连接;总线703可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器702可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器702可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器704,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器704可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。
通信接口701,用于接收删除存储空间对象的指令。
处理器702执行存储器704所存放的程序,用于当通信接口701接收到删除存储空间对象的指令时,删除存储空间对象与主机之间的映射。处理器702,还用于将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象。
上述如本发明图2至图5任一实施例揭示的方法可以由处理器702实现。因此为避免重复,不再详细描述。
可选的,作为一个实施例,存储空间对象是指存储设备内一段物理的或逻辑的存储空间,它可以是存储池、RAID组或LUN等。应理解,本发明实施例对此并不限定。
可选地,在一种实现方式下,处理器702还可以用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。在另一种实现方式下,处理器702还可以用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将已删除且未回收状态的存储空间对象的状态信息更改为未使用状态。其中,处于已使用状态的存储空间对象可对外提供业务,处于已删除且未回收状态的存储空间对象不可对外提供业务且可恢复为已使用状态的存储空间对象,以及处于未使用状态的存储空间对象不可对外提供业务且不可恢复为已使用状态的存储空间对象。
可选地,在再一种实现方式下,处理器702还可以用于在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,查找已删除且未回收状态的存储空间对象的状态,确定已删除且未回收状态的存储空间对象没有被回收。
因此,当用户误删除存储空间对象时,已使用状态的存储空间对象变为已删除且未回收状态的存储空间对象,并在存储系统中保留了存储空间对象的配置参数、元数据和存储的数据。可以通过对已删除且未回收状态的存储空间对象进行恢复操作,能够恢复成已使用状态的存储空间对象,存储的所有数据得到恢复,且可对外提供业务。从而有效地防护误删除,减少因误删除造成的损失。
可选地,处理器702还用于当接收到创建存储空间对象的指令时,建立未使用状态的存储空间对象与主机的映射,并将未使用状态的存储空间对象的状态信息修改为已使用状态。
可选地,处理器702还用于根据已删除且未回收状态的存储空间对象的配置参数设置已删除且未回收状态的存储空间对象的优先级;根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
可选地,已删除且未回收状态的存储空间对象的配置参数可以包括至少下列之一:已删除且未回收状态的存储空间对象的性能参数,已删除且未回收状态的存储空间对象的删除时间和已删除且未回收状态的存储空间对象的容量。
因此,创建已使用状态的存储空间对象时,可以根据需要创建的存储空间对象选择合适的已删除且未回收状态的存储空间对象和/或未使用状态的存储空间对象,提高灵活性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种存储空间对象的处理方法,其特征在于,所述方法应用于存储系统,所述存储系统包括主机和存储设备,所述方法包括:
当所述存储设备接收到所述主机发送的删除存储空间对象的指令时,所述存储设备删除所述存储空间对象与所述主机之间的映射;
所述存储设备将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;
在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,所述方法还包括:所述存储设备查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当对处于已删除且未回收状态的存储空间对象进行恢复操作时,所述存储设备将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
3.一种存储空间对象的处理方法,其特征在于,所述方法应用于存储系统,所述存储系统包括主机和存储设备,所述方法包括:
当所述存储设备接收到所述主机发送的删除存储空间对象的指令时,所述存储设备删除所述存储空间对象与所述主机之间的映射;
所述存储设备将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;
所述方法还包括:
当对处于已删除且未回收状态的存储空间对象进行回收操作时,所述存储设备将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态;
当所述存储设备接收到所述主机发送的创建存储空间对象的指令时,所述存储设备建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
4.根据权利要求3所述的方法,其特征在于,在对已删除且未回收状态的存储空间对象进行回收操作之前,所述方法还包括:
所述存储设备根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;
所述对处于已删除且未回收状态的存储空间对象进行回收操作,包括:
所述存储设备根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
5.根据权利要求3或4所述的方法,其特征在于,所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
6.一种存储空间对象的处理设备,其特征在于,包括:
删除单元,用于当接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;
记录单元,用于将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;
所述设备还包括查找单元,
所述查找单元用于在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
7.根据权利要求6所述的设备,其特征在于,所述记录单元
还用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
8.一种存储空间对象的处理设备,其特征在于,包括:
删除单元,用于当接收到删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;
记录单元,用于将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;还用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态;
所述设备还包括:
创建单元,用于当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
9.根据权利要求8所述的设备,其特征在于,所述记录单元
还用于:根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;
所述设备还包括:
回收单元,用于根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
10.根据权利要求8或9所述的设备,其特征在于,所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
11.一种存储设备,其特征在于,包括:处理器、通信接口和通信总线;
其中,所述处理器和所述通信接口通过所述通信总线进行通信;
所述通信接口,用于接收删除存储空间对象的指令;
所述处理器,用于当所述通信接口接收到所述删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;还用于:在对处于已删除且未回收状态的存储空间对象进行恢复操作之前,查找所述已删除且未回收状态的存储空间对象的状态,确定所述已删除且未回收状态的存储空间对象没有被回收。
12.根据权利要求11所述的设备,其特征在于,所述处理器
还用于:当对处于已删除且未回收状态的存储空间对象进行恢复操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为已使用状态。
13.一种存储设备,其特征在于,包括:处理器、通信接口和通信总线;
其中,所述处理器和所述通信接口通过所述通信总线进行通信;
所述通信接口,用于接收删除存储空间对象的指令;
所述处理器,用于当所述通信接口接收到所述删除存储空间对象的指令时,删除所述存储空间对象与主机之间的映射;将所述存储空间对象的状态信息记录为已删除且未回收状态,以恢复所述存储空间对象,其中,所述已删除且未回收状态表示所述存储空间对象对应的配置参数、元数据和存储的数据未被删除;还用于:当对处于已删除且未回收状态的存储空间对象进行回收操作时,将所述已删除且未回收状态的存储空间对象的状态信息更改为未使用状态;还用于:当接收到创建存储空间对象的指令时,建立所述未使用状态的存储空间对象与主机的映射,并将所述未使用状态的存储空间对象的状态信息修改为已使用状态。
14.根据权利要求13所述的设备,其特征在于,所述处理器
还用于:根据所述已删除且未回收状态的存储空间对象的配置参数设置所述已删除且未回收状态的存储空间对象的优先级;根据所述优先级对所述已删除且未回收状态的存储空间对象进行回收操作。
15.根据权利要求13或14所述的设备,其特征在于,所述已删除且未回收状态的存储空间对象的配置参数包括至少下列之一:所述已删除且未回收状态的存储空间对象的性能参数,所述已删除且未回收状态的存储空间对象的删除时间和所述已删除且未回收状态的存储空间对象的容量。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/086961 WO2014094259A1 (zh) | 2012-12-19 | 2012-12-19 | 存储空间对象的处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104246716A CN104246716A (zh) | 2014-12-24 |
CN104246716B true CN104246716B (zh) | 2018-02-09 |
Family
ID=50977553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280003120.6A Active CN104246716B (zh) | 2012-12-19 | 2012-12-19 | 存储空间对象的处理方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104246716B (zh) |
WO (1) | WO2014094259A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3079064B1 (en) * | 2015-04-07 | 2017-11-29 | Huawei Technologies Co., Ltd. | Method and apparatus for tracking objects in a first memory |
CN110908996A (zh) * | 2018-09-18 | 2020-03-24 | 北京京东尚科信息技术有限公司 | 一种数据处理的方法和装置 |
CN112416258A (zh) * | 2020-12-03 | 2021-02-26 | 杭州宏杉科技股份有限公司 | 一种存储空间分配方法及装置 |
CN115309766B (zh) * | 2022-10-12 | 2023-03-24 | 北京奥星贝斯科技有限公司 | 一种数据库业务执行的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791873A (zh) * | 2003-05-27 | 2006-06-21 | 甲骨文国际公司 | 还原数据库系统中的对象和从属对象 |
CN101546311A (zh) * | 2008-03-27 | 2009-09-30 | 天津德智科技有限公司 | 回收站的数据处理方法及数据处理装置 |
CN102024060A (zh) * | 2010-12-31 | 2011-04-20 | 山西奥克斯电子系统工程中心 | 存储文件及恢复误删除文件的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243966A1 (en) * | 2007-04-02 | 2008-10-02 | Croisettier Ramanakumari M | System and method for managing temporary storage space of a database management system |
CN101673243B (zh) * | 2009-09-29 | 2011-09-07 | 威盛电子股份有限公司 | 数据储存装置与方法 |
-
2012
- 2012-12-19 CN CN201280003120.6A patent/CN104246716B/zh active Active
- 2012-12-19 WO PCT/CN2012/086961 patent/WO2014094259A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791873A (zh) * | 2003-05-27 | 2006-06-21 | 甲骨文国际公司 | 还原数据库系统中的对象和从属对象 |
CN101546311A (zh) * | 2008-03-27 | 2009-09-30 | 天津德智科技有限公司 | 回收站的数据处理方法及数据处理装置 |
CN102024060A (zh) * | 2010-12-31 | 2011-04-20 | 山西奥克斯电子系统工程中心 | 存储文件及恢复误删除文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014094259A1 (zh) | 2014-06-26 |
CN104246716A (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102317910B (zh) | 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统 | |
JP6344675B2 (ja) | ファイル管理方法、分散記憶システムおよび管理ノード | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN101673243B (zh) | 数据储存装置与方法 | |
CN103984641B (zh) | 一种基于精简配置技术的存储空间回收方法及其装置 | |
CN103577329B (zh) | 一种快照管理方法和装置 | |
CN108572792A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN103034592B (zh) | 数据处理方法和装置 | |
CN104246716B (zh) | 存储空间对象的处理方法及设备 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN109918318A (zh) | Ssd元数据管理方法、装置、设备及可读存储介质 | |
CN104731515B (zh) | 控制存储设备机群磨损均衡的方法及设备 | |
CN106294007B (zh) | 一种数据恢复方法及装置 | |
CN104216796B (zh) | 一种数据备份、恢复方法及电子设备 | |
CN107908571A (zh) | 一种数据写入方法、闪存装置及存储设备 | |
CN104407933A (zh) | 一种数据的备份方法及装置 | |
CN103412822A (zh) | 操作非易失性内存和数据操作的方法和相关装置 | |
CN107967122A (zh) | 一种块设备的数据写入方法、装置及介质 | |
CN106155596A (zh) | 数据写入方法及装置 | |
JP2014523596A (ja) | ファイルシステムをクリーニングするための方法及び装置並びにその記憶媒体 | |
CN105357042A (zh) | 一种高可用集群系统及其主节点和从节点 | |
CN101499028A (zh) | 一种基于非易失性存储器的数据保护方法和装置 | |
CN103761059A (zh) | 一种用于海量数据管理的多盘位存储方法及系统 | |
CN104216759A (zh) | 一种生成虚拟机的逻辑磁盘的方法,及装置 | |
CN106775481B (zh) | 数据读取方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |