1.数据完整性概述存储是计算机中的数据可以说每天都在增加,与此同时,需要访问这些数据的人数也在增长,这样,无疑对数据的完整性的潜在需求也随之而增长。数据完整性这一术语用来泛指与损坏和丢失相对的数据的状态,它通常表明数据的可靠与准确性是可以信赖的,同时,在不好的情况下,意味着数据有可能是无效的,或不完整的。数据完整性方面的要点:存储器中的数据必须和它被输入时或最后一次被修改时的一模一样;用来建立信息的计算机、外围设备或配件都必须正确地工作;数据不能被其他人非法利用。本章将从数据完整性和完整性的一般解决方法二个方面来论述数据完整性。1.1.数据完整性对数据完整性来说,危险常常来自一些简单的计算不周、混淆、人为的错误判断或设备出错等导致的数据丢失、损坏或不当的改变。而数据完整性的目的就是保证计算机系统,或计算机网络系统上的信息处于一种完整和未受损坏的状态。这意味着数据不会由于有意或无意的事件而被改变或丢失。数据完整性的丧失意味着发生了导致数据被丢失或被改变的事情。为此,首先将检查导致数据完整性被破坏的常见的原因,以便采用适当的方法以予解决,从而提高数据完整性的程度。在分布式计算环境中,或在计算机网络环境中,如果通过PC、工作站、服务器、中型机和主机系统来改善数据完整性已变得一天比一天困难。原因何在?许多机构为了给它们的用户提供尽可能好的服务都采用不同的平台来组成系统,这仿佛拥有不同的硬件平台一样,使这些机构一般都拥有使用不同文件系统和系统服务的机器。E-mail交换系统成了对协同工作的网络系统的需求;协议的不同需要网关或协议的转换;系统开发语言和编译器的不同也产生了应用上兼容性的问题,凡此种种,造成了系统之间通信上可能产生的问题。其结果使之处于一种充满了潜在的不稳定性和难于预测的情况之当。一般地来说,影响数据完整性的因素主要的有如下5种:硬件故障网络故障逻辑问题意外的灾难性事件人为的因素1、硬件故障任何一种高性能的机器都不可能长久地运行下不发生任何故障,这也包括了计算机,常见的影响数据完整性的硬件故障有:磁盘故障I/O控制器故障电源故障存储器故障介质、设备和其它备份的故障芯片和主板故障2、网络故障在LAN上,数据在机器之间通过传输介质高速传递,用来连接机器设备的线缆总是处在干扰和物理损伤在内的多种威胁之中,使计算机之间难于通信或根本无法通信的事件,最终导致数据的损毁或丢失。网络上的故障通常发生如下三个方面:网络接口卡和驱动程序实际上是不可分割的。在大多数的情况下,网络接口卡、驱动程序的故障并不损害数据,仅仅使使用者无法访问数据。但是,当网络服务器上的网络接口卡发生故障时,服务器一般会停止运行,这就很难保证被打开的那些文件是否被损坏。网络中被传输的数据对网络所造成的压力往往是很大的。网络设备,例如路由器和网桥中的缓冲区不够大就会发生操作阻塞的现象,从而导致数据包的丢失。相反,如果路由器和网桥的缓冲容量太大,由于调度如此大量的信息流所造成的延时极有可能导致会话超时。此外,网络布线设计上不正确性也可能网络故障,影响到数据的完整性。辐射本身就具有电子移动的能力,所以,辐射会给数据造成损坏是会自然的。控制辐射的办法,采用屏蔽双绞线或光纤系统进行网络的布线。3、逻辑问题软件也是威胁数据完整性的一个重要因素。由于软件问题而影响数据完整性的有下列几种途径:软件错误文件损坏数据交换错误容量错误不恰当的需求操作系统错误这里:软件错误包括形式多样的缺陷,通常与应用程序的逻辑有关。文件损坏是由于一些物理的或网络的问题导致文件被破坏。文件也可能由于系统控制或应用逻辑中一些缺陷而造成损坏。颇为叫人烦恼的是如果被损坏的文件自己又被其它的过程调用而生成新的数据,这些新生成的数据是错的,这是一类很难应付的问题。当文件转换过程中生产的新的文件,如果不具有正确的格式时便产生数据交换错误。当软件在运行时,系统容量,如内存等的不够也是导致出错的原因。所有的操作系统都有自己的错误,这是众所周知的,无需大惊小怪。此外,系统的应用程序接口(API)被第三方开发商用来为最终用户提供服务,这第三方根据公开发布的API功能来编写其软件产品,如果这些API不像所说的那样工作就会发生数据被破坏的事件。在软件开发过程中,需求分析,需求报告没有正确地反映用户要求做的工作,系统只能停在那里,生成一堆无用的数据。这种情况在数字位数已被固定而输入的数字位数已被固定而输入的数字位数超出了这个限制时是很典型的。如果出错检查程序未能发现这一情况,程序就会产生错误的数据。4、灾难性事件常见的灾难性事件有:水灾火灾风暴——龙卷风、台风、暴风雪等工业事故蓄意破坏/恐怖活动5、人为因素由于人类的活动数据完整性所造成的影响是多方面的。人类给数据完整性带来的常见的威胁包括:意外事故缺乏经验压力/恐慌通信不畅蓄意的包袱破坏和窃取1.2.提高数据完整性的办法提高数据完整性的可行的解决办法有二个方面的内容:首先,采用预防性的技术防范危及数据完整性事件的发生,其次,一旦数据的完整性受到损坏时采取有效的恢复手段,恢复被损坏的数据。下面所列出的是一些恢复数据完整性和防止数据完整性丧失的技术:备份镜像技术归档转储分级存储管理奇偶检验灾难恢复计划故障发生前的预前分析电源调节系统系统安全程序备份备份是用来恢复出错系统或防止数据丢失的一种最常用的办法。通常所说的Backup是一种做备份的操作,它把正确的完整的数据拷贝到磁带等介质上,万一系统的数据完整性受到了不同程度的损坏,可以用备份系统将最近一次的系统备份恢复到机器上去。作为一个网络管理员或系统员没有任何借口可以不做备份。镜像技术镜像技术是物理上的镜像原理在计算机技术上的具体应用,它所指的是将数据原样从一台计算机(或服务器)上拷贝到另一台计算机(或服务器上)。镜像技术在计算机系统中具体执行时一般有二种方法:逻辑地将计算机系统或网络系统中的文件系统按段拷贝到网络中的另一台计算机或服务器上严格地在物理层上进行,例如建立磁盘驱动器、I/O驱动子系统和整个机器的镜像。归档在计算机及其网络系统中,归档有二层意思:其一,将文件从网络系统的线存储器上拷贝到磁带或光学介质上以便长期保存;其二,将文件从网络的在线存储器上拷贝的同时删除旧文件,使网络上的剩余存储空间变大一些。通过归档,也可以把在线存储器上删除的文件转入永久介质上的措施加强对文件系统的保护。转储转储与备份有其相同之处,但也有不同的地方。转储是指那些用来恢复的磁带是如何到别处去的。这是与备份的最大不同之处。分级存储管理分级存储管理(hierarchicalstoragemanagement——HSM)与归档很相似,它是一种能将软件从在线存储器上归档到靠近在线存储器上的自动系统,也可以进行相反的过程。从实际使用的情况来看,它对数据完整性较使用归档方法具有更多的好处,但风险也更大。奇偶校验奇偶校验提供一种监视的机制来保证不可预测的内存错误不致于会引起服务器出错以至造成数据完整性的丧失。灾难恢复计划灾难给计算机落系统带来的破坏是巨大的,而灾难恢复计划是在废墟上如何重建系统的指导性文件。故障前预兆分析故障前预兆分析是根据部件的损坏或老化等情况并非一下子完全破坏的,而是有一过程,在这过程中,出错的次数不断增加,设备的动作也开始变得有点不可思议,根据分析,判断问题的结症,以便做好排除的准备。电源调节这里所说的电源是指不间断电源,它是一个完整的服务器系统的重要组成部分,当系统失去电力供应时,这种后援的系统开始运做,从而保证系统的正常工作。除了不间断电源以外,电源调节还为网络系统提供恒定平衡的电压。因为,当负载变化时,电网的电压可能会有所波动,这样可能影响到系统的正常运行,因此,这种电源调节的稳压设备是很有价值的。系统安全程序2.网络备份系统网络备份系统存在一个目的是,尽可能地恢复计算机或计算机网络系统所需要的数据和系统信息。网络备份实际上不仅仅是指网络上各计算机的文件备份,它实际上包含了整个网络系统的一套备份体系。主要包括如下几个方面:文件备份和恢复数据库备份和恢复系统灾难恢复备份任务管理由于LAN系统的复杂性随着各种不同的操作平台和网络应用软件的增加而日趋增加,要对系统所做的完全备份的难度也有所增加,并非简单的拷贝所能解决的,需要经常作调整,对那种简单的要求进折衷。2.1.备份与恢复操作的种类对于大多数网络管理员来说,备份和恢复是一项繁重的任务,每天都要小心翼翼,不敢有半点的闪失。而备份的最基本的一个问题是:为保证能恢复全部系统,需要备份多少以及何时进行备份?2.1.1备份全盘备份所谓全盘备份是将所有的文件写入备份介质。全盘备份的方法较流行,因为这是克服系统不安全的最直接了当的方法,操作起来也较简单。通过这种方法网络管理员可以很清楚地知道从备份之日起便可以恢复网络系统上的所以信息。尽管如此,往往会有很多数据使网络管理员无法每天做全盘备份而只能在周末进行全盘备份。其实,出于多方面的考虑,其中包括设备上的困难,很少有人喜欢大动干戈地进行全盘备份。增量备份增量备份指的是只备份那些上次备份之后已经作过更改的文件,即备份已更新的文件。增量备份是进行备份的最有效的方法。试想,如果每天只需做增量备份,除了大大节省时间外,系统的性能和容量问题也可以得到很好的改善。任何事物都有其二重性,增量备份的确具有不少的优点,但它通常依靠文件的系统属性来识别作过改变的文件,这有时是并不可靠的。当然,这种不利的一面可能通过建立一个文件系统数据库或某种记录来标识新近更新的文件,这样可能会很精确可靠,但也更可能导致其它的系统问题,有些问题或许是无法预见的。增量备份存在的另一个问题是,从所有磁带中恢复数据所用的时间可能会很长。对于一个有经验的网络管理员通常把增量备份和全盘备份一起使用,这样可以提供快速备份。这种方法可以减少恢复时所需的磁带数。差别备份差别备份是指备份上次全盘备份之后更新过的所以文件的一种方法。它与增量备份相类似,所不同的只是在全盘备份之后的每一天中它都备份在那次全盘备份之后所更新的所有文件,仅此而已。因此,在下一次全盘备份之前,日常备份工作所需要的时间会一天比一天更长一些。差别备份可以根据数据文件属性的改变,也可以根据对更新文件的追踪来进行。差别备份的主要优点是全部系统只需二组磁带就可以恢复——最后一次全盘备份的磁带和最后一次差别备份的磁带。按需备份所谓的按需备份是指在正常的备份安排之外额外进行的备份操作。这种备份操作实际上经常会遇到。例如,只想备份若干个文件或目录,也可能只要备份服务器上的所以必需的信息,以便能进行更安全的升级。按需备份也可以弥补冗余管理或长期转储的日常备份的不足。排除排除严格来说不是一种备份的方法。它只是把不想备份的文件保证不会被拷贝到介质上去的一类方法。其原因,这些文件可能很大,但又并不重要;也可能出于技术上的考虑,因为在备份这些文件时总是导致出错而又没有排除这种故障的好办法。2.1.2恢复操作恢复操作通常可以分成如下二类:全盘备份恢复个别文件恢复此外,还有一种被称为重定向恢复的恢复操作。全盘恢复全盘恢复通常用在灾难事件发生之后或进行系统升级重组及合并时。使用时的办法较简单,只需将存放在介质上的给定系统的信息全部转储到它们原来的地方。根据所使用的备份办法的不同可以使用几组磁带来完成。根据经验,一般将用来备份的最后一个磁带作为恢复操作时最早使用的一个磁带。这是因为这个磁带保存着现在正在使用的文件,而最终用户总是急于在系统纠错之后使用它们。然后再使用最后一次全盘备份的磁带或任何有最多的文件所在的磁带。在这之后,使用所有有关的磁带,顺序就无所谓了。恢复操作之后应当检查最新的错误登记文件,以便及时了解有没有发生文件被漏掉的情况。个别文件恢复个别文件恢复的草较要求进行全盘恢复常见得多。其原因无非是最终用户的水平不高而导致。通常,用户需要存在介质上的文件的最后一个版本,因为,用户刚刚弄坏了或删除了该文件的在线版本。对于大多数的备份产品来说,这是一种相对简