一种存储设备数据销毁方法及装置技术领域
本发明涉及存储技术领域,特别是涉及一种存储设备数据销毁方法及装置。
背景技术
在SAN(Storage Area Network,存储域网络)中,进行数据存储通常需要以下几个
步骤:
步骤一:在存储设备上建立存储池(Pool);
步骤二:选择硬盘创建RAID(Redundant Array of Independent Disk,独立冗余
磁盘阵列),并将创建的RAID加入到存储池中;
步骤三:在存储池中的RAID上建立LUN(Logical Unit Number,逻辑单元号),LUN
可以由存储池中的一个RAID上的部分空间组成,还可以由存储池中多个RAID上的部分空间
组成,即跨RAID创建,但是LUN只能使用该存储池中的RAID提供的空间。
通过以上步骤可以建立一个或多个LUN,用户可以在LUN上建立文件系统并进行数
据的存储。随着计算机技术的快速发展,对于存储设备中数据的安全性的关注程度越来越
高。
当存储设备中的数据被利用完毕,不再需要时,可以对存储设备的硬盘中的数据
进行销毁处理,避免数据泄露。
目前,常用的一种数据销毁方法是,仅针对用户指定的LUN中的数据进行擦除处
理,因为每一个LUN可能是由存储池中的一个RAID上的部分空间组成的,还可能是由存储池
中跨RAID上的部分空间组成的,仅对用户指定的LUN中的数据进行擦除处理,非授权用户利
用数据恢复技术将很容易恢复LUN中的残留数据,导致数据泄露。
发明内容
本发明的目的是提供一种存储设备数据销毁方法及装置,以彻底删除硬盘中的原
有数据,有效防止非授权用户利用数据恢复技术将硬盘中的残留数据恢复,避免数据泄露
导致的安全隐患。
为解决上述技术问题,本发明提供如下技术方案:
一种存储设备数据销毁方法,包括:
接收用户针对目标逻辑单元号LUN中数据的删除指令;
确定所述目标LUN所在的目标存储池;
对所述目标存储池中所有硬盘进行覆写处理,以销毁所述目标存储池中所有硬盘
的原有数据。
在本发明的一种具体实施方式中,在所述对所述目标存储池中所有硬盘进行覆写
处理之前,还包括:
输出显示针对待进行覆写处理的所述目标存储池的提示信息。
在本发明的一种具体实施方式中,所述对所述目标存储池中所有硬盘进行覆写处
理,包括:
利用SANITIZE命令对所述目标存储池中所有硬盘进行覆写处理。
在本发明的一种具体实施方式中,所述SANITIZE命令对应多个销毁模式,所述利
用SANITIZE命令对所述目标存储池中所有硬盘进行覆写处理,包括:
针对所述目标存储池中的每个硬盘,依次调用所述SANITIZE命令对应的多个销毁
模式对该硬盘进行覆写处理。
在本发明的一种具体实施方式中,在所述利用SANITIZE命令对所述目标存储池中
所有硬盘进行覆写处理之后,还包括:
针对所述目标存储池中的每个硬盘,如果接收到该硬盘返回的覆写错误消息,则
调用dd命令对该硬盘进行覆写处理。
一种存储设备数据销毁装置,包括:
删除指令接收模块,用于接收用户针对目标逻辑单元号LUN中数据的删除指令;
目标存储池确定模块,用于确定所述目标LUN所在的目标存储池;
覆写模块,用于对所述目标存储池中所有硬盘进行覆写处理,以销毁所述目标存
储池中所有硬盘的原有数据。
在本发明的一种具体实施方式中,还包括:
提示信息输出模块,用于在所述对所述目标存储池中所有硬盘进行覆写处理之
前,输出显示针对待进行覆写处理的所述目标存储池的提示信息。
在本发明的一种具体实施方式中,所述覆写模块,具体用于:
利用SANITIZE命令对所述目标存储池中所有硬盘进行覆写处理。
在本发明的一种具体实施方式中,所述SANITIZE命令对应多个销毁模式,所述覆
写模块,具体用于:
针对所述目标存储池中的每个硬盘,依次调用所述SANITIZE命令对应的多个销毁
模式对该硬盘进行覆写处理。
在本发明的一种具体实施方式中,所述覆写模块,还用于:
在所述利用SANITIZE命令对所述目标存储池中所有硬盘进行覆写处理之后,针对
所述目标存储池中的每个硬盘,如果接收到该硬盘返回的覆写错误消息,则调用dd命令对
该硬盘进行覆写处理。
应用本发明实施例所提供的技术方案,在接收到用户针对目标LUN中数据的删除
指令后,确定目标LUN所在的目标存储池,对目标存储池中的所有硬盘进行覆写处理,以销
毁目标存储池中所有硬盘的原有数据。目标LUN可能是目标存储池中的一个RAID上的部分
空间组成的,还可能是目标存储池中跨RAID创建的,对目标存储池中的所有硬盘进行覆写
处理,可以彻底删除硬盘中的原有数据,有效防止非授权用户利用数据恢复技术将硬盘中
的残留数据恢复,避免数据泄露导致的安全隐患。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
图1为本发明实施例中一种存储设备数据销毁方法的实施流程图;
图2为本发明实施例中一种存储设备数据销毁装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式
对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,为本发明实施例所提供的一种存储设备数据销毁方法的实施流程
图,该方法可以包括以下步骤:
S110:接收用户针对目标逻辑单元号LUN中数据的删除指令。
当用户需要删除某个LUN上的数据时,可以发出针对该LUN中数据的删除指令。
接收到用户针对目标LUN中数据的删除指令后,可以继续执行步骤S120的操作。
S120:确定目标LUN所在的目标存储池。
一个存储池可以包含多个RAID和多个LUN,LUN是利用该存储池中的一个或多个
RAID的部分空间组成的。
在接收到用户针对目标LUN中数据的删除指令时,可以根据建立目标LUN时记录的
信息或者根据目标LUN的标识,确定该目标LUN所在的目标存储池。
S130:对目标存储池中所有硬盘进行覆写处理,以销毁目标存储池中所有硬盘的
原有数据。
在步骤S120确定目标LUN所在的目标存储池后,可以对目标存储池中所有硬盘进
行覆写处理,即在目标存储池中所有硬盘上写入数据,新写入的数据覆盖原有数据,这样可
以彻底销毁目标存储池中所有硬盘的原有数据。
在本发明实施例中,硬盘可以是固态硬盘SSD,还可以是硬盘驱动器HDD。
应用本发明实施例所提供的方法,在接收到用户针对目标LUN中数据的删除指令
后,确定目标LUN所在的目标存储池,对目标存储池中的所有硬盘进行覆写处理,以销毁目
标存储池中所有硬盘的原有数据。目标LUN可能是目标存储池中的一个RAID上的部分空间
组成的,还可能是目标存储池中跨RAID创建的,对目标存储池中的所有硬盘进行覆写处理,
可以彻底删除硬盘中的原有数据,有效防止非授权用户利用数据恢复技术将硬盘中的残留
数据恢复,避免数据泄露导致的安全隐患。
在本发明的一种具体实施方式中,步骤S130可以包括以下步骤:
利用SANITIZE命令对目标存储池中所有硬盘进行覆写处理。
SANITIZE命令的作用是,销毁硬盘的原有数据。在实际应用中,可以对目标存储池
中所有硬盘下发SANITIZE命令,对目标存储池中所有硬盘进行覆写处理。
SANITIZE命令对应多个销毁模式,如OVERWRITE销毁模式、BLOCK ERASE销毁模式
和CRYPTOGRAPHIC ERASE销毁模式。
其中,OVERWRITE销毁模式可以指定对硬盘擦除的次数以及用什么数据进行擦除;
BLOCK ERASE销毁模式可以通过写入硬盘物理块出厂时的数据来擦除硬盘上的原
有数据;
CRYPTOGRAPHIC ERASE销毁模式主要针对SED盘,即自加密硬盘,通过更改SED盘的
加密密钥,使得硬盘的原有数据不可访问。
针对目标存储池中的每个硬盘,可以根据该硬盘属性,选择SANITIZE命令对应的
某个销毁模式对该硬盘进行覆写处理。
在本发明的一种具体实施方式中,可以针对目标存储池中的每个硬盘,依次调用
SANITIZE命令对应的多个销毁模式对该硬盘进行覆写处理。
为便于理解,举例说明。
SANITIZE命令对应的多个销毁模式分别为:OVERWRITE销毁模式、BLOCK ERASE销
毁模式和CRYPTOGRAPHIC ERASE销毁模式。针对目标存储池中的每个硬盘,在一个销毁接口
中,可以先调用OVERWRITE销毁模式对该硬盘进行覆写处理,如果该硬盘未返回覆写成功消
息,则调用BLOCK ERASE销毁模式对该硬盘进行覆写处理,如果该硬盘仍未返回覆写成功消
息,则调用CRYPTOGRAPHIC ERASE销毁模式对该硬盘进行覆写处理。
在本发明的一个实施例中,在利用SANITIZE命令对目标存储池中所有硬盘进行覆
写处理之后,还可以包括以下步骤:
针对目标存储池中的每个硬盘,如果接收到该硬盘返回的覆写错误消息,则调用
dd命令对该硬盘进行覆写处理。
在实际应用中,一个存储池中包含众多的硬盘,并不是所有的硬盘都支持
SANITIZE命令。
针对目标存储池中的每个硬盘,在利用SANITIZE命令对该硬盘进行覆写处理时,
如果该硬盘不支持SANITIZE命令,则将无法对该硬盘进行成功覆写,该硬盘可以返回覆写
错误信息。如果接收到该硬盘返回的覆写错误消息,则可以调用dd命令对该硬盘进行覆写
处理。
dd命令为Linux系统自身的销毁命令,通过往硬盘中写入数据以对原有数据进行
覆盖,销毁原有数据。
具体的,可以利用现有技术的覆写标准对硬盘进行覆写处理。比如,DoD5220.22-
M-E标准、DoD5220.22-M-ECE标准、Gutmann标准等。
其中,DoD5220.22-M-E标准是指覆写所有可能的区域,首先用8位字符覆写一次,
再用其补码覆写一次,最后用随机码覆写一次;
DoD5220.22-M-ECE标准是指写入三次随机数,两次覆写数据,两次覆写数据的反
码;
Gutmann标准是新西兰奥兰克大学的Peter Gutmann教授提出的35次数据擦除方
案,是目前公认的最安全的数据擦除方案。
具体如何利用上述覆写标准对硬盘进行覆写处理为现有技术,本发明实施例对此
不再赘述。
在本发明的一个实施例中,在步骤S130之前,还可以包括以下步骤:
输出显示针对待进行覆写处理的目标存储池的提示信息。
在对目标存储池中所有硬盘进行覆写处理之前,可以输出显示针对待进行覆写处
理的目标存储池的提示信息,以便用户通过该提示信息获知当前将要对目标存储池中的所
有硬盘进行覆写处理。
输出显示的该提示信息中可以包含“确认”、“取消”按钮,如果用户点击“确认”按
钮或者用户不进行任何点击操作,则可以认为用户认可该覆写处理方式,可以继续执行步
骤S130的操作,如果用户点击“取消”按钮,则可以认为用户并不认可该覆写处理方式,当前
不能销毁该目标存储池中的其他数据,在这种情况下,不再执行步骤S130的操作,可以依据
实际情况进行其他处理。
本发明实施例所提供的技术方案还可以有效解决由SSD盘组成的LUN或者由SSD盘
和HDD盘混合组建的LUN无法通过覆写方式实现数据销毁的问题。
SSD的寿命受限于对其的读写次数。对同一个存储单元不断地进行编写和擦除操
作,容易导致该存储单元受到永久性的损害。为避免这种情况发生,SSD中配置有均衡磨损
算法,即Wear-Leveling算法。均衡磨损算法是指将擦除/写入循环平均地分配到SSD的所有
存储单元中,这样就避免了对同一个存储单元持续不断地进行擦除/写入操作,从而有效地
延长了SSD的寿命。
一个SSD由多个独立的NAND Flash芯片组成,每个NAND Flash芯片由一个块阵列
组成,每一个块就是一系列的名为page(页)的存储单元的集合。
在将数据写入NAND Flash的存储单元之前,必须对该存储单元进行擦除操作。最
小的擦除单元是block(块),最小的写入或者读取单元是page。
针对均衡磨损算法,SSD中块单元可以分成两种类型:数据块和空闲块。数据块是
闪存的主要部分,并且受到均衡磨损算法和数据存储器的影响。空闲块的数目在整个闪存
中占一定比例,如百分之二,主要用于缓冲均衡磨损算法。闪存中块会根据均衡磨损准则在
数据块池和空闲块池相互转换。
FTL(Flash Translation Layer,闪存转换层)提供对逻辑地址到物理地址映射的
管理,同时对闪存和无效块映射进行擦除计数管理。每个块的擦除次数都会被记录在一个
叫做擦除计数表(ECT)的表格中。当对块进行一次擦除时,ECT会将该块的擦除次数自动加
一。
通过均衡磨损算法,可以保证数据的编写和循环的擦除被均匀地分布到NAND
Flash的所有块中,可以避免因重复不断地对同一个存储区域进行擦除/写入而让该存储单
元出现永久性损坏的问题。当出现一个写数据请求时,先在ECT的空闲块池中查找一个擦除
计数值最小的块单元,查找到后,将数据写入,并将该块送入到数据块池。然后将新块的物
理地址与主机发送过来的逻辑地址在转换映射表上建立彼此的映射关系。
通过这种做法,即使重复地对同一个逻辑地址进行写数据,由于逻辑地址和物理
地址之间的映射关系发生了变化,所以数据自然不会在同一个物理块上进行重复写入。数
据写入后,就需要将与主机写入的逻辑地址最初相映射的物理数据块进行擦除,然后更新
ECT块擦除计数值,并将块送入空闲块池,修改ECT中的块组信息。
但是,因为均衡磨损算法仅是对逻辑地址最初相映射的物理数据块进行擦除操
作,对于这种通过简单的擦除操作删除的数据是可以通过恢复技术恢复的。本发明实施例
是通过对目标存储池所有硬盘进行覆写处理的方式,彻底删除了硬盘中的数据,安全性更
高。
相应于上面的方法实施例,本发明实施例还提供了一种存储设备数据销毁装置,
下文描述的一种存储设备数据销毁装置与上文描述的一种存储设备数据销毁方法可相互
对应参照。
参见图2所示,该装置可以包括以下模块:
删除指令接收模块210,用于接收用户针对目标逻辑单元号LUN中数据的删除指
令;
目标存储池确定模块220,用于确定目标LUN所在的目标存储池;
覆写模块230,用于对目标存储池中所有硬盘进行覆写处理,以销毁目标存储池中
所有硬盘的原有数据。
应用本发明实施例所提供的装置,在接收到用户针对目标LUN中数据的删除指令
后,确定目标LUN所在的目标存储池,对目标存储池中的所有硬盘进行覆写处理,以销毁目
标存储池中所有硬盘的原有数据。目标LUN可能是目标存储池中的一个RAID上的部分空间
组成的,还可能是目标存储池中跨RAID创建的,对目标存储池中的所有硬盘进行覆写处理,
可以彻底删除硬盘中的原有数据,有效防止非授权用户利用数据恢复技术将硬盘中的残留
数据恢复,避免数据泄露导致的安全隐患。
在本发明的一种具体实施方式中,还包括:
提示信息输出模块,用于在对目标存储池中所有硬盘进行覆写处理之前,输出显
示针对待进行覆写处理的目标存储池的提示信息。
在本发明的一种具体实施方式中,覆写模块230,具体用于:
利用SANITIZE命令对目标存储池中所有硬盘进行覆写处理。
在本发明的一种具体实施方式中,SANITIZE命令对应多个销毁模式,覆写模块
230,具体用于:
针对目标存储池中的每个硬盘,依次调用SANITIZE命令对应的多个销毁模式对该
硬盘进行覆写处理。
在本发明的一种具体实施方式中,覆写模块230,还用于:
在利用SANITIZE命令对目标存储池中所有硬盘进行覆写处理之后,针对目标存储
池中的每个硬盘,如果接收到该硬盘返回的覆写错误消息,则调用dd命令对该硬盘进行覆
写处理。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它
实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装
置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分
说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元
及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执
行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存
储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术
领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说
明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通
技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些
改进和修饰也落入本发明权利要求的保护范围内。