|
戴士剑老师的旧文:
一、基本概念
信息时代,最宝贵的无疑是用户的核心数据。建立、处理、存储、保护、使用和销毁这些数据,即信息的全生命周期运动,构成了信息时代社会信息流的大动脉。在2000年之前,人们花费在存储系统上的资金尚不到整个IT投资的15%,而如今,其比例早就超过50%,甚至高达85%。如何保护大到国家,小到个人的各个主体的核心数据,保证信息系统安全可靠地运行,是当前整个信息界的核心工作内容之一。伴随着观念和技术的进步,有关安全的概念也经历了计算安全、信息安全,和全面的信息保障,并成为国家战略安全的重要组成部分。
如何保护核心数据,永远是一个发展的课题,也经历了多重反复,并随着信息化发展的深入,其重心由最初的以计算为核心,转移到了以存储子系统为核心,整个信息技术的发展史,更多的是一部存储技术的发展史,是以保护核心资源为主,而不是以计算机能力为主。存储技术也从最早的软盘,发展到现在的NAS、SAN等网络存储,并有多种安全可靠的备份工具可以使用。但是,人们往往混淆了两个最基本的概念:备份恢复与灾难恢复,虽然现在备份恢复炒的很热,但备份恢复与我们这里所说的恢复技术并不是一回事。
备份恢复,确切的说,应该是备份/载入(Backup/Restore),或者备份/重建(Backup/Rebuild),它是一种典型的预防措施,其关键和核心是在系统正常时做好备份,一旦出现各种意外或灾难,造成在线数据不可访问时,能够迅速将备份的数据导入系统运行状态,恢复系统的正常运行,或者直接用备份系统接替出现问题的系统,即常用的双机备份体系,由备份系统提供服务。
为实现这个目标,不仅要求有详细的备份计划和管理措施,并要实际进行测试,确保备份可靠可用,还可以通过网络进行异地备份,以防止灾难性的毁坏,911事件中,有很多公司因为没有采用异地备份,悄然消失了,而采用异地备份的公司,却顺利地恢复了业务。
而灾难恢复(Recovery),本意是指出现各种数据丢失后,通过底层技术手段,进行灾后数据重建。显然,它是一个事后的补救措施,而不是预防措施。只是由于人们的误解,或者说,人们对数据恢复技术的不了解,而将备份恢复与灾难恢复混为一谈了。如果一定要将灾难恢复用于表述为Restore,那么,Recovery又该用哪个词来描述呢?是不是应该更改为Salvation,以示两者之间的差别?
不管词义表述上有什么不同,总之,二者表述的即不是同一个过程,也不是同一种技术。备份/恢复(Backup/Restore)指的是正常情况下通过备份管理程序或直接简单使用文件复制功能对需要保护的数据做一份拷贝(或等价于拷贝的操作),其备份与恢复操作都建立在系统正常运行的基础之上,两者可视为互逆操作,其意义如图1所示。
图1 备份/恢复(Backup/Restore)
而灾难恢复(Recovery)的本意与此相对应,指的是如果图1中提供服务的整体出现故障(无论圆内有没有备份措施),无法再对外提供服务,对操作系统或文件系统而言,需要的数据文件已经不复存在,不经过数据恢复操作,已经得不到数据,所进行的数据恢复操作。如果有备份,当然是使用备份直接载入(Restore),因为备份就是为这个目的而建立的,但是,很多时候我们也会发现,备份并不能完全满足我们的需求,比如,一般备份并不是强实时备份,备份的数据与当前数据并不完全一致,或者备份本身就有问题,不能载入等等,这种情况下,并不等于数据就彻底丢失,如散架的RAID阵列,通过数据恢复专家对存储底层进行操作,将不可见的数据恢复出来,正是灾难恢复大显身手的地方,这样的恢复操作,才是数据恢复技术的本义。本专栏所介绍的数据恢复技术,就是指的这种恢复技术,而不是备份/恢复技术。
二、数据丢失的原因
造成数据丢失的原因非常多,既有客观的自然规律,也有人为因素。客观的自然规律包括:
- 阵列卡失效,或阵列信息丢失
- NAS或SAN系统故障,或失败
- 存储网络信息混乱
- 存储系统故障
- 硬盘子系统故障
- 电源故障(导致数据损坏)
- 系统软件故障
- 文件系统混乱
- 文件损坏
- 硬件失效
- 自然灾害(如火灾、洪水、地震等)
- 其他一些客观因素
人为因素包括误操作和有意破坏,如:
- 人为误操作
- 非正常插拔设备导致无法访问
- 硬件如硬盘失手摔坏
- 病毒
- 忘记密码
- 盗窃或蓄意破坏
- 木马
- 黑客
- 工业间谍
- 其他如国家之间的信息战等等
特别是,当前世界局势依然动荡不安,美国为了实现控制全球,独霸世界,阻止多极化发展的政治野心,在到处炫耀武力的同时,还凭借其技术优势,推行信息霸权,拓展信息疆域,并不断加强针对我军的信息战、网络战的准备活动。因此,我国网络安全、信息安全面临的形势更为严峻。
几乎所有的数据丢失都是可以恢复的,既不是说,软件造成的数据丢失可以恢复,硬件造成的数据丢失不可恢复,也不是说,有意造成的数据丢失不可恢复,有意造成的数据丢失不可恢复。但限于技术和成本的考虑,也不是所有的数据丢失都值得去恢复。目前来看,不可或不易恢复的数据,集中在文件严重损坏、分区碎片严重、文件确实被覆盖、高密级加密的口令彻底遗失和盘片严重划伤这几种情况。其他情况一般都是可以比较容易地恢复的。正是因为有很多人不了解数据恢复技术,造成了很多不必要的损失。
三、数据恢复技术层次
数据恢复的研究对象包括各种存储系统,而存储是有体系有层次的,因此,数据恢复技术的研究也是有体系有层次的,如图2所示。
图2 存储系统层次关系
其中,第一层:网络层,通过网络技术实现远程备份。
本层次基本上归于远程网络和远程同步技术,通过高速网络实现系统的无缝备份。本层次没有特别的恢复技术,只是在操作中,注意检查备份的有效性,并在出现问题时,避免让损坏的数据破坏掉正常的数据。第二层:网络存储层,是一种基于独立系统的存储体系,除传统的直接附加存储(DAS)外,该存储系统一般都有自己的操作系统,因此,可为各种平台应用提供统一的兼容的数据服务。主要包括:存储区域网络(SAN)和网络附加存储(NAS)两种形式。
DAS是Direct Attached Storage的缩写,指“直接附加存储”,将外置存储设备通过连接电缆,直接连接到一台服务器上,如图3所示:
图3 直接附加存储(DAS)
采用直接附加存储方案的服务器结构如同PC机架构,外部数据存储设备采用SCSI技术或者FC(Fibre Channel)技术,直接挂接在内部总线上,数据存储是整个服务器结构的一部分,在这种情况下往往是数据和操作系统都未分离。
DAS这种直连方式,能够解决单台服务器的存储空间扩展、高性能传输需求,并且单台外置存储系统的容量已经发展到若干TB,随着大容量硬盘的推出,单台外置存储系统容量还会上升。此外,DAS还可以构成基于磁盘阵列的双机高可用系统,满足数据存储对高可用的要求。
这种存储系统体制下,如果操作系统出现故障,导致存储系统不能读取,其操作往往与操作系统直接相关,如果操作系统正常,而存储子系统不正常,可以通过对存储子系统进行操作,恢复其可用性。
NAS是英文Network Attached Storage的缩写,通常翻译为网络附加存储,其结构如图4所示:
图4 网络附加存储(NAS)
NAS作为一个网络附加存储设备,采用了信息技术中流行的嵌入式技术,使得NAS具有无人值守、高度职能、性能稳定、功能专一的特点。NAS设备内置优化的独立存储操作系统,可以有效、紧密地释放系统总线资源,全力支持I/O存储,同时NAS设备一般集成本地的备份软件,可以不经过服务器将NAS设备中的重要数据进行本地备份,而且NAS设备提供硬盘RAID、冗余的电源和风扇以及冗余的控制器,可以满足保证NAS的稳定应用。
NAS设备主要用来实现在不同操作系统平台下的文件共享应用,与传统的服务器或DAS存储设备相比,NAS设备的安装、调试、使用和管理非常简单,采用NAS可以节省一定的设备管理与维护费用。
NAS设备提供RJ-45接口和单独的IP地址,可以将其直接挂接在主干网的交换机或其他局域网的Hub上,通过简单的设置(如设置机器的IP地址等)就可以在网络即插即用地使用NAS设备,而且进行网络数据在线扩容时也无需停顿,从而保证数据流畅存储。
因此,NAS是一个独立的存储子系统,出现问题后,需要直接对其进行恢复操作,其问题可能出在其自身的系统上,也可能出在存储设备上。
SAN是Storage Area Network的缩写,指的是“存储区域网络”,其结构如图5所示:
图5 存储区域网络(SAN)
SAN采用光纤通道Fibre Channel(FC)技术,FC是ANSI为网络和通道I/O接口建立的一个标准集成,支持多种高级协议,它的最大特性是将网络和设备的通讯协议与传输物理介质隔离开。这样多种协议可在同一个物理连接上同时传送,高性能存储体和宽带网络使用单I/O接口,使得系统的成本和复杂程度大大降低。 光纤通道支持多种拓扑结构,主要有:点到点(Links)、仲裁环(FC-AL)、交换式网络结构(FC-XS) 。
SAN是企业级存储的解决方案,当前企业存储方案所遇到的两个问题是:数据与应用系统紧密结合所产生的结构性限制,以及目前小型计算机系统接口(SCSI)标准的限制。SAN中,存储设备通过专用交换机连接到一群计算机上,在该网络中提供了多主机连接,允许任何服务器连接到任何存储阵列,让多主机访问存储器和主机间互相访问一样方便,这样不管数据置放在那里,服务器都可直接存取所需的数据。
SAN和NAS最大的区别就在于NAS有文件系统和管理系统,而SAN却没有这样的系统功能,其功能仅仅停留在文件管理的下一层,即数据管理。SAN和NAS并不是相互冲突的,是可以共存于一个系统网络中的,但NAS通过一个公共的接口实现空间的管理和资源共享,SAN仅仅是为服务器存储数据提供一个专门的快速后方通道。因此,SAN的数据提取与分析更加复杂。
第三层:磁盘阵列。第二层的存储网络基本上都使用磁盘阵列作为基本的存储设备。在这个层次上,主要是解决阵列散架、阵列卡损坏、磁盘掉线等故障,显然,要想成功恢复数据,对单个磁盘的操作是没有任何意义的,必须对所有磁盘进行操作(RAID5可以减少一块),以重建RAID才能够得到数据。
目前RAID主要通过两种方式实现,一种是硬RAID,用专门的控制器来完成,也就是常说的RAID卡;另一种是软RAID,用软件的方法来实现。
过去RAID一直是高端服务器才应用的设备,与高档SCSI硬盘配合使用。SCSI RAID稳定性好、速度快,但SCSI硬盘和SCSI接口RAID卡价格高昂,往往只在高档服务器上使用。近来随着技术的发展和产品成本的不断下降,IDE硬盘和SATA硬盘的性能都有了很大提升,加之RAID芯片的普及,使得RAID技术也应用到了IDE硬盘和SATA硬盘上,有些主板就直接集成了RAID控制芯片,所以,RAID已大有普及之势。
RAID类型主要有:RAID0、1、2、3、4、5、6、7以及一些组合方式如RAID10等,常用的RAID类型主要有RAID0、RAID1和RAID5。
RAID0是无冗余、无校验的磁盘阵列,实现RAID0至少需要两个以上硬盘,它将两个以上的硬盘合并成一块,数据同时分散在每块硬盘中。因此,如果组成该RAID0的硬盘数量为N,其带宽就是单块硬盘的N倍,理论速度也同样是单块硬盘的N倍,但是由于数据并不是保存在一个硬盘上,而是分成数据块保存在不同硬盘上,所以安全性也下降N倍,只要任何一块硬盘损坏就会丢失所有数据。
RAID0是最简单的一种RAID形式,目的是把多块硬盘连接在一起形成一个容量更大的存储设备。图6是一个由四块硬盘组成的RAID0:
图6 RAID0数据分布图
RAID1又被称为磁盘镜像,至少需要两个硬盘共同构建,互为镜像。磁盘镜像(disk mirroring)技术,是在工作磁盘(working disk)之外再加一额外的备份磁盘(backup disk),两个磁盘所存储的数据完全一样,数据写入工作磁盘的同时亦写入备份磁盘,也就是将一块硬盘的内容完全复制到另一块硬盘上,所以一个两块硬盘所构成的RAID1阵列,其容量仅等于一块硬盘的容量。
RAID5的数据以块为单位分布到各个硬盘上,其数据分布情况如图7所示。
图7 RAID5数据分布图
其奇偶校验码存在于所有磁盘上,其中“P1”为数据“A、B、C”的校验值,“P2”为数据“D、E、F”的校验值,“P3”为数据“G、H、I”的校验值,“P4”为数据“J、K、L”的校验值,以此类推。
RAID5的校验块被分散保存在不同的磁盘上,这样就可以确保对校验块进行的读写操作在所有的RAID磁盘中进行均衡,从而避免出现瓶颈。
RAID7是优化的高速数据传送磁盘结构,这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。
RAID7可以看做是一种存储计算机,它与其他RAID标准有明显区别,RAID7所有的I/O传送均是非同步进行的,即每个I/O接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取,这样提高了系统的并行性,提高系统访问数据的速度,NAS与SAN就是基于RAID7的思想发展起来的。
除RAID1和极少数情况外,所有RAID中的信息,都不能孤立的进行获取,都必须建立在RAID工作正常的基础上才可以获取到需要的数据。
第四层:磁盘级。无论上层采用什么方式,归根到底,存储系统都少不了作为基本存储单元而存在的磁盘,尤其是硬盘,因此,硬盘这一级别是整个存储体系的基石。
而硬盘是一个精密的集磁、电、机械装置于一体的智能化设备,因此,硬盘的技术发展及其在整个数据恢复技术体系中,都有着重要的地位和作用。
磁盘级通常用于解决磁盘数据不能正常访问的处理。以硬盘为例,通常包括三个层次,第一个层次是硬盘数据的逻辑问题,这种问题较好解决,一般对上归入RAID级,对下归入文件系统级。第二个层次是硬盘访问的问题。即硬盘不能正常读写,很显然,这种情况下必须首先解决硬盘的正常访问问题,才可以更进一步的恢复数据,一般出现这种问题有两种情况,一种情况是硬盘自己的管理系统出现问题,可以通过专业的修复工具进行修复,另一种情况可能是硬件出现问题,如电机损坏,磁头损坏等等,需要在专门的环境下进行修理。第三个层次是数据被覆盖,必须从存储机理上加以解决。
第五层:文件系统级。如果是文件系统出现问题,导致数据不可得,就通过技术手段重建文件系统,如分区表损坏时,重建分区表,系统就完全回到正常状态,所有的文件都可以正常访问等。象常说的误分区、误格式化、病毒破坏、误删除等等,都属于该层次的操作。本层次与操作系统是联系在一起的,不同的操作系统,不同的文件系统,其恢复手段与恢复效果都不一样。
第六层:文件级。文件级包含了多种情况,如很多时候,文件系统损坏的比较严重,恢复的效果不是很理想,特别是除文本文件外,基本上各种类型的文档都有自己特定的格式,如果有损坏,就不能正常打开,这时就需要对这些文件格式有所了解,如一个受损的WORD文档,用程序是无法正常打开显示其内容的,但可能只是文件头部分损坏,里面含有大量信息的文字并没有丢失,就可以通过技术手段,将文字信息提取出来,以获取必要的数字信息,或者一个视频资料,如果部分损坏,不能直接播放,但稍经处理,就可以播放没有损坏的部分,完全可以获取必要的视频资料。还有就是如判断文档的出处,以及加密与解密,信息隐藏等都是文件级的工作。目前,全世界大约有2-3万种文件格式,所以,文件级是差别最大、应用最复杂、需要解决问题最多的级别,包括系统本身的一些格式信息,也都可以归入这一级。
四、国内外研究现状及应用领域
目前,国际上对数据恢复技术的基本分类如图8所示。
图8 数据恢复技术的基本分类
其中软恢复指的是存储系统,或操作系统,或文件系统层次上的数据丢失,这种丢失是多方面的,如系统软硬件故障、死机、病毒破坏、黑客攻击、木马破坏、误操作、阵列数据丢失等等;对于一般文件系统来说,这方面的研究工作起步较早,国内外研究的都比较深。这方面的主要难点是:文件碎片的恢复处理、文档修复和密码恢复。
硬恢复指的是由于硬件故障所造成的数据丢失,如磁盘电路板损坏、盘体坏、磁道坏、磁盘片损坏、硬盘内部系统区严重损坏等,这种情况几乎都会出现系统不认盘或认盘困难等症状,恢复起来难度较大,如果是内部盘片数据区严重划伤,会造成数据彻底丢失,而无法恢复数据。稍有常识的用户,在出现这种情况(如移动硬盘跌落)后,不会反复加电尝试,也就不会人为的造成大面积的划伤,因此,这种情况一般还是能够恢复大部分数据的。
大型数据库系统往往存储着一些非常重要的数据,其组成复杂,一般都有较完善的保护措施,所以一般不会出现小问题,只要出现问题,基本上都是较难处理的问题,恢复的难度较大。典型的大型数据库系统主要是SQL Server,Informix,Sybase,Oracle和IBM UDB/DB2等。
异型操作系统的数据恢复,指的是不常用的,比较少见的操作系统下的数据恢复,如MAC、OS2、嵌入式系统、手持系统、实时系统等。
数据被覆盖后,再要恢复的话,难度非常大,这与其他四类数据恢复有着质的区别,目前只有硬盘厂商及少数几个国家的特殊部门能够做到,它的应用,一般都与国家安全有关。
国内在软恢复方面研究的较深,但与国外专业公司相比,仍然有一定的差距。硬恢复、数据库和异形系统方面,以美国和俄罗斯为龙头,这是因为主要技术都掌握在西方国家手里,而水平相差最大的是覆盖恢复,据说美国军方可以恢复覆盖6~9次的数据,俄罗斯可以恢复覆盖3~4次的数据,IBM自己耗资6亿美元的研究成果是可以恢复覆盖2~3次的数据,由于这些都涉及到国家核心机密,具体的细节和可靠性都尚不可知,不过,日本对涉密载体要求必须低级格式化6~9次方可回收,还是能够说明这一问题的。
我国这方面的深入研究起步较晚,特别是缺少基本的经费投入,但现在已由国家投资建设了一个专业的数据安全实验研究中心,结合已有的研究基础,有一个长期的研究规划,相信很快就能有一批研究成果来服务社会的。
很显然,数据恢复技术的一个最大应用就是在数据出现问题时快速进行恢复,毕竟,信息的复制虽然很容易,但信息的重建却非常的困难,无论是重建时间,还是重建费用,都让人无法忍受,而有些信息甚至根本就不可能重建。
根据3M公司对8000名网络微机用户的调查发现,硬盘的每次失效将造成5天以上的无效工作日。而在一个典型的商业应用中,重建1000MB的数据,平均要耗时3.5个月,费用为95000美元。由此可见,信息存储对最终用户来说是何等的重要,可以说,它是信息时代的数字财富。
随着信息化进程的不断推进,随着人类对信息资源的依赖程度的不断增长,随着信息设备的普及应用,随着淘汰、损坏设备的增多,信息毁损和窃取手段的增多,数据恢复技术将日益显示出其重要性。
由于其操作工具、操作过程、操作手段的特殊性,数据恢复技术的用途很广,概而言之,它可用来:
1.恢复:对丢失的数据进行恢复和重建,使数据失而复得;
2.保密技术检查:对涉密机构的信息设备进行保密技术检查,确认有无违规现象;
3.技术检测:对追回的失控设备(比如被抢、被盗、丢失的存储设备)进行技术检测,确认失控设备中的信息有无非法访问记录、有无泄密事件存在;
4.安全销毁:对需要清除的信息进行安全销毁,使之不可恢复;
5.窃密:对敌方或竞争对手进行窃密;
6.取证:计算机犯罪、违规取证;
7.教育:保密宣传教育;
8.信息战。
在上述每一个应用领域,又可有很多的具体应用。
|
|