虚拟还原技术的数据保护原理初探

2013-07-02 07:11易强
科学导报·学术论坛 2013年6期
关键词:数据保护

易强

[摘要]虚拟还原技术是一种广泛使用的数据保护方式,它工作在系统的最底层,先于操作系统;它备份的数据并不是数据区的数据,只是主引导扇区、操作系统引导扇区、文件分配表和目录区的数据。因为这几个部分的数据量极小,所以我们完全可以忽略虚拟还原数据保护技术在保存备份数据时所占用的空间和所需要的时间。

[关键词]虚拟还原;数据保护;文件存储分配。

学校机房、网吧是人员流动大,机器很多的场所。如何对硬盘中现有的操作系统和软件数据进行保护和还原就成了一个重要的课题。虚拟还原技术工作在系统的最底层,先于操作系统,具有很高的备份和还原速度,同时对用户完全透明。基于虚拟还原方式的软件也越来越受到机房管理员的青睐。

一、常用的数据保护方式

从目前的情况来看,系统的保护和还原的方法从原理上来说主要分三类,一是保护,二是还原,三为虚拟还原。具有代表性的三种软件分别是:各种网管软件;ghost备份和还原;基于还原精灵的各种数据保护软件。

(一)系统保护

系统保护,就是防止硬盘的重要信息被破坏,防止注册表改写和文件I/O操作等。用户被置于一个预先设置好的环境中,只能干此软件系统允许你干的事情,这种方法对用户的约束太多,局限很大,对操作系统进程的干预也比较多。这是一种被动防御的状态,水平高点的用户都能绕过它的防护。同时硬盘上的数据是动态变化的,它不能根据需要恢复到某一个时点的系统内容。

(二)系统还原

系统还原,就是预先将系统内容做好全部或部分备份,当系统崩溃或者混乱需要重新安装的时候,将原来的备份进行恢复,将系统内容还原到备份那个时点的内容。这种方法不干预用户的操作,不干扰系统进程。但它需要占用很大硬盘空间和大量的还原时间,阻碍了它在实际工作中的应用,除了家庭用户和一些重要部门对重要数据用这个方法以外,学校机房和网吧等一般都不采用这种办法。

(三)虚拟还原

虚拟还原的工作原理实际上是基于系统保护的,但它的保护做在系统的最底层,先于操作系统。它对系统进程有一定干扰,但是这个干扰几乎可以不被察觉。它不干预用户的任何操作,对使用者来说完全透明。虚拟还原只占用少量硬盘空间,同时它的还原速度也很快,具有系统保护和系统还原的优点,又尽可能避免了它们的一些重要缺点,所以基于虚拟还原方式的软件越来越受到机房管理员的青睐。

二、虚拟还原的工作原理探讨

我们知道,硬盘上最重要的数据区除了BOOT(引导区)外,是ROOT(根目录)和FAT(文件分配表),ROOT里面记录的是文件或子目录的属性、尺寸、日期以及它的起始簇(软盘里面是扇区)。FAT表里面记录的是每个簇的使用分配情况。

当我们向硬盘里面添加一个新文件,OS(操作系统)首先在ROOT里面将文件属性等填进去,在FAT表里面按一定算法找到一个空簇,将它标记为被该文件占用后,在ROOT里面将这个簇做为起始簇记录进去,然后将文件内容写入这个簇。如果文件没有写完,系统再在FAT里找一个空簇,将其标记为占用,然后在前一个簇的最后做一个指针向这个新的簇,形成一个单链表,接着再在这个新的簇里面继续写内容。如此重复直到文件内容完全记录完毕。最后系统根据占用的总簇数计算出文件尺寸,取出当前时间写到ROOT里面。

当我们删除一个文件的时候,系统实际上并不到每个簇去清除内容,而只是把ROOT里面文件名的首字符换成&符号,就是标记这个文件为删除,然后延着链表在FAT表中将该文件占用的所有簇释放(标记为空),这样新的文件写入的时候就可以使用这些被释放的簇。

当我们改变一个文件的属性或名字的时候,系统实际只在ROOT里面做一点改动而已。

而子目录下的文件目录信息记录在子目录所指的第一个簇,实际是个SUBROOT。

实际硬盘的存储还要复杂得多,比如它的FAT表还有个副表,用作容错处理等等。

由此我们可以推测虚拟还原软件的工作流程:

它首先将ROOT、SUBROOT以及FAT表都做个备份。然后,软件将备份的数据以及它的工作参数(密码、自动还原时间等)一起保存在硬盘上。这些空间也同时保护起来。

当用户删除文件、改名、改文件属性的时候,系统按正常情况处理,还原软件不做任何干涉。因为这些操作只针对ROOT和FAT表,并不去动数据区的任何数据。而这两个表软件已经备份过,需要的时候完全可以恢复。

最复杂的是添加新文件的情况。为了保护原来的数据,还原软件不允许在已经保护的簇进行任何的覆盖操作,即使现在的FAT表里面标记是空的,还原软件通过对照备份的FAT表,只要这个簇在表里面,它就会要求OS去找一个新的簇。这样数据区的数据就不会被覆盖。

但是OS不会知道系统里面已经装了个RECOVERY(虚拟还原软件),所以它还会按同样的算法把同一个簇找出来。这样的话会形成死循环,无法工作下去。换一种思路,如果RECOVERY在删除文件的时候也不释放FAT表,那么OS找新簇的时候就能避开已经保护的簇。或者,RECOVERY根本就是将一个虚假的ROOT,显示给我们看,让我们以为文件已经删除了,其实硬盘上的ROOT它什么也不动。当前盘中所有.COM和.EXE文件目录登记项中的首簇数都被指向一个特定的区域,实际上就是指向RECOVERY在盘中指定的位置。这也就解释了为什么基于虚拟还原的硬盘保护系统在安装时需要划分保护空间的原因。

当我们要恢复数据的时候就相当简单了,RECOVERY把备份的ROOT、SUBROOT以及FAT表全部恢复掉即可。

三、结语

由此我们已能确定虚拟还原软件是用系统保护的方式在工作,而且只是保存了很少量的数据,就能快速恢复破保护的内容。当然,虚拟还原技术也不是万能的,在实际使用中,将系统保护的权限限制与系统还原的备份功能揉合进虚拟还原软件的保护功能,是一种不错的选择。

参考文献

施威铭研究室《硬盘玩家实战》人民邮电出版社;1999年3月版

胡大威《数据结构》西安电子科技大学出版社;2013年1月版

俸远祯《计算机组成原理》电子工业出版社;1996年4月版

张夷人《微机组装与维护》清华大学出版社;2003年7月版

猜你喜欢
数据保护
欧盟最严数据保护条例生效 违反将严惩不贷
欧盟“最严”数据保护条例生效
一种增强型文件加密程序设计与实现
数据权属国内外研究述评与发展动态分析
未成年人能不能上社交网络
我国个人征信机构征信数据面临的难题分析及应对措施
基于CDM技术的IT系统数据保护实践
业务云平台容灾策略探讨
云端保护刻不容缓
网上商业数据保护立法研究