2009年3月28日星期六

硬盘缺陷数据恢复探秘



















坏道让人伤心 硬盘缺陷探秘

作者: 来源: 日期:2009-2-25 14:42:34  点击次数:

26




      硬盘是目前PC系统中最主要的存储设备,同时硬盘是PC系统中出故障率最高的部件。用户在使用硬盘过程中,硬盘出现故障怎么办呢?如果还在质保期内,当然是尽量找到销售商要求保修。但现在大多数IDE硬盘质保期只有一年,而大多数用户都希望一个硬盘能使用三年以上。如果质保期过后硬盘出了故障,就得考虑更换或对它进行修理。

  笔者这几年来一直从事硬盘维修工作,经常与国内外的同行交流,查阅过大量的外文专业资料,研究使用过多种专业的硬盘修复工具,成功修复了近万个硬盘。在这里,笔者与读者探讨一些硬盘缺陷及其修复原理,同时介绍并解释一些专业修复硬盘软件中常用到的概念。但笔者暂不探讨在各种操作系统下硬盘中的数据结构问题及数据恢复问题,而是直接探讨硬盘本身的缺陷问题。

  一、缺陷的分类

  如果经检测发现某个硬盘不能完全正常工作,则称这个硬盘是“有缺陷的硬盘”(Defect Hard Disk)。

  根据维修经验,笔者将硬盘的缺陷分为六大类

  ①坏扇区(Bad sector),也称缺陷扇区(Defect sector)

  ②磁道伺服缺陷(Track Servo defect)

  ③磁头组件缺陷(Heads assembly defect)

  ④系统信息错乱(Service information destruction)

  ⑤电子线路缺陷(The board of electronics defect)

  ⑥综合性能缺陷(Complex reliability defect)

  1.坏扇区(也称缺陷扇区)

  指不能被正常访问或不能被正确读写的扇区。一般表现为:高级格式化后发现有“坏簇(Bad Clusters);用SCANDISK等工具检查发现有“B”标记;或用某些检测工具发现有“扇区错误提示”等。

  一般每个扇区可以记录512字节的数据,如果其中任何一个字节不正常,该扇区就属于缺陷扇区。每个扇区除了记录512字节的数据外,另外还记录有一些信息:标志信息、校验码、地址信息等,其中任何一部分信息不正常都导致该扇区出现缺陷。

  多数专业检测软件在检测过程中发现缺陷时,都有类似的错误信息提示,常见的扇区缺陷主要有几种情况:

①校验错误(ECC uncorrectable errors,又称ECC错误)。系统每次在往扇区中写数据的同时,都根据这些数据经过一定的算法运算生成一个校验码(ECC=Error Correction Code),并将这个校验码记录在该扇区的信息区内。以后从这个扇区读取数据时,都会同时读取其校检码,并对数据重新运算以检查结果是否与校检码一致。如果一致,则认为这个扇区正常,存放的数据正确有效;如果不一致,则认为该扇区出错,这就是校验错误。这是硬盘最主要的缺陷类型。导致这种缺陷的原因主要有:磁盘表面磁介质损伤、硬盘写功能不正常、校验码的算法差异。

  ②IDNF错误(sector ID not found),即扇区标志出错,造成系统在需要读写时找不到相应的扇区。造成这个错误的原因可能是系统参数错乱,导致内部地址转换错乱,系统找不到指定扇区;也有可能是某个扇区记录的标志信息出错导致系统无法正确辨别扇区。

  ③AMNF错误(Address Mark Not Found),即地址信息出错。一般是由于某个扇区记录的地址信息出错,系统在对它访问时发现其地址信息与系统编排的信息不一致。

  ④坏块标记错误(Bad block mark)。某些软件或病毒程序可以在部分扇区强行写上坏块标记,让系统不使用这些扇区。这种情况严格来说不一定是硬盘本身的缺陷,但想清除这些坏块标记却不容易。

  2.磁道伺服缺陷

  现在的硬盘大多采用嵌入式伺服,硬盘中每个正常的物理磁道都嵌入有一段或几段信息作为伺服信息,以便磁头在寻道时能准确定位及辨别正确编号的物理磁道。如果某个物理磁道的伺服信息受损,该物理磁道就可能无法被访问。这就是“磁道伺服缺陷”。一般表现为,分区过程非正常中断;格式化过程无法完成;用检测工具检测时,中途退出或死机,等等。


相关的主题文章:

硬盘缺陷数据恢复探秘



















坏道让人伤心 硬盘缺陷探秘

作者: 来源: 日期:2009-2-25 14:42:34  点击次数:

26




      硬盘是目前PC系统中最主要的存储设备,同时硬盘是PC系统中出故障率最高的部件。用户在使用硬盘过程中,硬盘出现故障怎么办呢?如果还在质保期内,当然是尽量找到销售商要求保修。但现在大多数IDE硬盘质保期只有一年,而大多数用户都希望一个硬盘能使用三年以上。如果质保期过后硬盘出了故障,就得考虑更换或对它进行修理。

  笔者这几年来一直从事硬盘维修工作,经常与国内外的同行交流,查阅过大量的外文专业资料,研究使用过多种专业的硬盘修复工具,成功修复了近万个硬盘。在这里,笔者与读者探讨一些硬盘缺陷及其修复原理,同时介绍并解释一些专业修复硬盘软件中常用到的概念。但笔者暂不探讨在各种操作系统下硬盘中的数据结构问题及数据恢复问题,而是直接探讨硬盘本身的缺陷问题。

  一、缺陷的分类

  如果经检测发现某个硬盘不能完全正常工作,则称这个硬盘是“有缺陷的硬盘”(Defect Hard Disk)。

  根据维修经验,笔者将硬盘的缺陷分为六大类

  ①坏扇区(Bad sector),也称缺陷扇区(Defect sector)

  ②磁道伺服缺陷(Track Servo defect)

  ③磁头组件缺陷(Heads assembly defect)

  ④系统信息错乱(Service information destruction)

  ⑤电子线路缺陷(The board of electronics defect)

  ⑥综合性能缺陷(Complex reliability defect)

  1.坏扇区(也称缺陷扇区)

  指不能被正常访问或不能被正确读写的扇区。一般表现为:高级格式化后发现有“坏簇(Bad Clusters);用SCANDISK等工具检查发现有“B”标记;或用某些检测工具发现有“扇区错误提示”等。

  一般每个扇区可以记录512字节的数据,如果其中任何一个字节不正常,该扇区就属于缺陷扇区。每个扇区除了记录512字节的数据外,另外还记录有一些信息:标志信息、校验码、地址信息等,其中任何一部分信息不正常都导致该扇区出现缺陷。

  多数专业检测软件在检测过程中发现缺陷时,都有类似的错误信息提示,常见的扇区缺陷主要有几种情况:

①校验错误(ECC uncorrectable errors,又称ECC错误)。系统每次在往扇区中写数据的同时,都根据这些数据经过一定的算法运算生成一个校验码(ECC=Error Correction Code),并将这个校验码记录在该扇区的信息区内。以后从这个扇区读取数据时,都会同时读取其校检码,并对数据重新运算以检查结果是否与校检码一致。如果一致,则认为这个扇区正常,存放的数据正确有效;如果不一致,则认为该扇区出错,这就是校验错误。这是硬盘最主要的缺陷类型。导致这种缺陷的原因主要有:磁盘表面磁介质损伤、硬盘写功能不正常、校验码的算法差异。

  ②IDNF错误(sector ID not found),即扇区标志出错,造成系统在需要读写时找不到相应的扇区。造成这个错误的原因可能是系统参数错乱,导致内部地址转换错乱,系统找不到指定扇区;也有可能是某个扇区记录的标志信息出错导致系统无法正确辨别扇区。

  ③AMNF错误(Address Mark Not Found),即地址信息出错。一般是由于某个扇区记录的地址信息出错,系统在对它访问时发现其地址信息与系统编排的信息不一致。

  ④坏块标记错误(Bad block mark)。某些软件或病毒程序可以在部分扇区强行写上坏块标记,让系统不使用这些扇区。这种情况严格来说不一定是硬盘本身的缺陷,但想清除这些坏块标记却不容易。

  2.磁道伺服缺陷

  现在的硬盘大多采用嵌入式伺服,硬盘中每个正常的物理磁道都嵌入有一段或几段信息作为伺服信息,以便磁头在寻道时能准确定位及辨别正确编号的物理磁道。如果某个物理磁道的伺服信息受损,该物理磁道就可能无法被访问。这就是“磁道伺服缺陷”。一般表现为,分区过程非正常中断;格式化过程无法完成;用检测工具检测时,中途退出或死机,等等。


相关的主题文章:

辽宁省某传媒公司 (软RAID0数据恢复)








































































客户名称

辽宁省某传媒公司 (软RAID0数据恢复成功)


设备类型 台式机PC
故障描述 RAID0,重新分区格式化.
介质类型 硬盘
介质品牌 SEAGATE
介质型号  
介质序列号  
介质接口 SATA
介质容量 320G*3
操作系统 WINDOWS XP
分区大小 900G
文件系统 NTFS
数据丢失原因 软件问题.
解决方案 沈阳凯文专业工具成功修复,500G数据
修复结果 100%恢复
恢复所用时间 3小时.
备     注  

 


相关的主题文章:

辽宁省某传媒公司 (软RAID0数据恢复)








































































客户名称

辽宁省某传媒公司 (软RAID0数据恢复成功)


设备类型 台式机PC
故障描述 RAID0,重新分区格式化.
介质类型 硬盘
介质品牌 SEAGATE
介质型号  
介质序列号  
介质接口 SATA
介质容量 320G*3
操作系统 WINDOWS XP
分区大小 900G
文件系统 NTFS
数据丢失原因 软件问题.
解决方案 沈阳凯文专业工具成功修复,500G数据
修复结果 100%恢复
恢复所用时间 3小时.
备     注  

 


相关的主题文章:

长春客车铺椅股份合作公司(HP服务器RAID5磁盘阵列数据恢复

























































































客户名称 长春客车铺椅股份合作公司(HP服务器RAID5数据恢复成功)
设备类型 HP ML370 服务器
故障描述 误操作把整个阵列误删除.服务器崩溃.
介质类型 硬盘
介质品牌 HP
介质型号 COMPAQ BD0728856A
介质序列号 AAL1P5407G5D/AAL1P5407BD2/AAL1P5407BFK
介质接口 IDE
介质容量 80G
操作系统 WINDOWS 2000 SERVER
分区大小  
文件系统 NTFS
数据丢失原因 RAID问题
解决方案 分析原RAID结构,确定为HP双循环,用自主工具直接重组阵列.
修复结果 100% 成功恢复.
恢复所用时间 2小时
备     注  





























 客户问答 | 合作伙伴| 友情链接 | 在线报修| 修复案例 硬盘数据恢复 | 数据库修复 | Raid数据修复 | 上门服务 | 联系方式

 

版权所有   沈阳凯文数据恢复中心

 数据恢复热线:13386848847(24小时)  024-81296855

 E-mail:Recovery@126.com  


地址:沈阳市和平区三好街90号艾特国际花园5-1-403    邮编:110004


相关的主题文章:

长春客车铺椅股份合作公司(HP服务器RAID5磁盘阵列数据恢复

























































































客户名称 长春客车铺椅股份合作公司(HP服务器RAID5数据恢复成功)
设备类型 HP ML370 服务器
故障描述 误操作把整个阵列误删除.服务器崩溃.
介质类型 硬盘
介质品牌 HP
介质型号 COMPAQ BD0728856A
介质序列号 AAL1P5407G5D/AAL1P5407BD2/AAL1P5407BFK
介质接口 IDE
介质容量 80G
操作系统 WINDOWS 2000 SERVER
分区大小  
文件系统 NTFS
数据丢失原因 RAID问题
解决方案 分析原RAID结构,确定为HP双循环,用自主工具直接重组阵列.
修复结果 100% 成功恢复.
恢复所用时间 2小时
备     注  





























 客户问答 | 合作伙伴| 友情链接 | 在线报修| 修复案例 硬盘数据恢复 | 数据库修复 | Raid数据修复 | 上门服务 | 联系方式

 

版权所有   沈阳凯文数据恢复中心

 数据恢复热线:13386848847(24小时)  024-81296855

 E-mail:Recovery@126.com  


地址:沈阳市和平区三好街90号艾特国际花园5-1-403    邮编:110004


相关的主题文章:

光纤网卡和HBA卡区别

光纤网卡和HBA卡区别   Post By:2009-3-27 13:36:02


在早期的SAN存储系统中,服务器与交换机的数据传输是通过光纤进行的,因为服务器是把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议,所以需要使用FC传输,因此这种SAN就叫FC-SAN,而后期出现了用IP协议封装的SAN,可以完全走普通LAN网络,因此叫做IP-SAN,其中最典型的就是现在热门的ISCSI。

这两种方式都需要对数据块进行繁重的读包解包操作,因此高性能的SAN系统是需要在服务器上安装一块专门负责解包工作以减轻处理器负担的网卡,这种网卡大家就叫它HBA卡,它除了执行解包工作外当然还可以提供一个光纤接口(如果是iSCSI HBA卡就是提供普通的RJ45接口)以用于跟对应的交换机连接;另外,HBA物理上你可以把它当作网卡一样插?CI或者PCI-E槽位里,因此这种设备的用法非常相一张网卡,很多人也就把它跟普通网卡或普通的光纤网卡混淆了。当然,有的iSCSI HBA卡就可以当作普通网卡来用,不过从价格上考虑这是非常奢侈的。


HBA的常规定义:就是连接主机I/O总线和计算机内存系统的I/O适配器。按照这个定义,像显卡就是连接视频总线和内存,网卡就是连接网络总线和内存,SCSI-FC卡就是连接SCSI或者FC总线和内存的,它们都应该算是HBA。HBA卡有FC-HBA和iSCSI HBA将来还有其他HBA卡,但是,HBA通常用在SCSI。Adapter(适配器)和NIC用于FC;而NIC也会用于以太网和令牌环网。


其实,网卡是大家常提到的一个类型设备的总称,是指安装在主机里,通过网络连接线(双绞线、光纤线缆、同轴电缆等)与网络交换机(以太网交换机、FC交换机、ISCSI交换机等)、或与其它网络设备(存储设备、服务器、工作站等)连接,从而形成一个网络的硬件设备。


那么,光纤网卡这个称呼到底是不是指光纤口HBA卡呢?


实际上大家常说的光纤网卡指的就是光纤通道网络里的HBA卡。


因传输协议的不同的,网卡可分为三种,一是以太网卡,二是FC网卡,三是iSCSI网卡。


?以太网卡:学名Ethernet Adapter,传输协议为IP协议,一般通过光纤线缆或双绞线与以太网交换机连接。接口类型分为光口和电口。光口一般都是通过光纤线缆来进行数据传输,接口模块一般为SFP(传输率2Gb/s)和GBIC(1Gb/s),对应的接口为SC、ST和LC。电口目前常用接口类型为RJ45,用来与双绞线连接,也有与同轴电缆连接的接口,不过现在已经用的比较少了。


?FC网卡:一般也叫光纤网卡,学名Fibre Channel HBA。传输协议为光纤通道协议,一般通过光纤线缆与光纤通道交换机连接。接口类型分为光口和电口。光口一般都是通过光纤线缆来进行数据传输,接口模块一般为SFP(传输率2Gb/s)和GBIC(1Gb/s),对应的接口为SC和LC。电口的接口类型一般为DB9针或HSSDC。


?ISCSI网卡:学名ISCSI HBA,传输ISCSI协议,接口类型与以太网卡相同。


“光纤网卡”一般是指FC HBA卡,插在服务器上,外接存储用的光纤交换机;而光口的以太网卡一般都叫做“光纤以太网卡”,也是插在服务器上,不过它外接的是带光口的以太网交换机。


HBA卡:FC-HBA卡(俗称:光纤网卡)、iSCSI-HBA卡(RJ45接口)


以太网卡:光纤接口的以太网卡(俗称:光纤以太网卡)

 

相关的主题文章:

2009年3月15日星期日

FAT文件系统数据恢复原理
















FAT文件系统数据恢复原理
 
 

 


 


 


 


一、硬盘的物理结构:




    硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。

硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。


二、硬盘的逻辑结构。

    硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。


三、磁盘引导原理。


3.1 MBR(master boot record)扇区:

    计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。

    MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不会夹带操作系统的性质。具有公共引导的特性。

我们来分析一段mbr。下面是用winhex查看的一块希捷120GB硬盘的mbr。



 


   你的硬盘的MBR引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这是wowocock关于磁盘mbr的反编译,已加了详细的注释,感兴趣可以细细研究一下。

    我们看DPT部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。











































































表1  图2分区表第一字段
字节位移 字段长度 字段名和定义
0x01BE BYTE 0x80    引导指示符(Boot Indicator)   指明该分区是否是活动分区。
0x01BF BYTE 0x01 开始磁头(Starting Head)
0x01C0 6位 0x01 开始扇区(Starting Sector) 只用了0~5位。后面的两位(第6位和第7位)被开始柱面字段所使用
0x01C1 10位 0x00 开始柱面(Starting Cylinder)   除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。开始柱面是一个10位数,最大值为1023
0x01C2 BYTE 0x07 系统ID(System ID) 定义了分区的类型,详细定义,请参阅图4
0x01C3 BYTE 0xFE 结束磁头(Ending Head)
0x01C4 6位 0xFF 结束扇区(Ending Sector)     只使用了0~5位。最后两位(第6、7位)被结束柱面字段所使用
0x01C5 10位 0x7B 结束柱面(Ending Cylinder) 除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。结束柱面是一个10位的数,最大值为1023
0x01C6 DWORD 0x0000003F 相对扇区数(Relative Sectors) 从该磁盘的开始到该分区的开始的位移量,以扇区来计算
0x01CA DWORD 0x00DAA83D 总扇区数(Total Sectors) 该分区中的扇区总数


注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表,图均同。


也可以在winhex中看到这些参数的意义:

    



    说明: 每个分区表项占用16个字节,假定偏移地址从0开始。如图3的分区表项3。分区表项4同分区表项3。

    1、0H偏移为活动分区是否标志,只能选00H和80H。80H为活动,00H为非活动。其余值对microsoft而言为非法值。

    2、重新说明一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(little endian format)或称反字节顺序保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。例如,相对扇区数字段的值0x3F000000的低字节在前表示为0x0000003F。这个低字节在前的格式数的十进制数为63。

    3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。 偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移6H为例,其低6位用作扇区数的二进制表示。其高两位做柱面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区从1开始编号,所以最多只能表示1024个柱面×63个扇区×256个磁头×512byte=8455716864byte。即通常的8.4GB(实际上应该是7.8GB左右)限制。实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。 在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。而是通过偏移CH~偏移FH共4个字节32位线性扇区地址来表示分区所占用的扇区总数。可知通过4个字节可以表示2^32个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEH FFH FFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。

    虽然现在的系统均采用线性寻址的方式来处理分区的大小。但不可跨柱面的原则依然没变。本分区的扇区总数加上与前一分区之间的保留扇区数目依然必须是柱面容量的整数倍。(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。如果是第一个分区,保留扇区是本分区前的所有扇区。

    附:分区表类型标志如图4

   



3.2 扩展分区:

    扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。

    通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。如图5:

    



    关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后一个逻辑驱动器之间在扩展分区表中的差异。



    除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。最后一个扩展分区表的第二个项到第四个项被使用。   































   表2  扩展分区表项的内容


扩展分区表项 分区表项的内容
第一个项 包括数据的开始地址在内的与扩展分区中当前逻辑驱动器有关的信息
第二个项 有关扩展分区中的下一个逻辑驱动器的信息,包括包含下一个逻辑驱动器的EBR的扇区的地址。如果不存在进一步的逻辑驱动器的话,该字段不会被使用
第三个项 未用
第四个项 未用


    扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该逻辑驱动器的扇区数目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱动器末尾的扇区数。


    有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。照道理说,磁盘的物理模式决定了磁盘的总容量就应该是整数个柱面的容量,为什么会有不够一个柱面的空间呢。在我的理解看来,本来现在的磁盘为了更大的利用空间,一般在物理上并不是按照外围的扇区大于里圈的扇区这种管理方式,只是为了与操作系统兼容而抽象出来CHS。可能其实际空间容量不一定正好为整数个柱面的容量吧


相关的主题文章:

FAT文件系统数据恢复原理
















FAT文件系统数据恢复原理
 
 

 


 


 


 


一、硬盘的物理结构:




    硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。

硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。


二、硬盘的逻辑结构。

    硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。


三、磁盘引导原理。


3.1 MBR(master boot record)扇区:

    计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。

    MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不会夹带操作系统的性质。具有公共引导的特性。

我们来分析一段mbr。下面是用winhex查看的一块希捷120GB硬盘的mbr。



 


   你的硬盘的MBR引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这是wowocock关于磁盘mbr的反编译,已加了详细的注释,感兴趣可以细细研究一下。

    我们看DPT部分。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于C~Z的英文字母的数目,在上图DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。











































































表1  图2分区表第一字段
字节位移 字段长度 字段名和定义
0x01BE BYTE 0x80    引导指示符(Boot Indicator)   指明该分区是否是活动分区。
0x01BF BYTE 0x01 开始磁头(Starting Head)
0x01C0 6位 0x01 开始扇区(Starting Sector) 只用了0~5位。后面的两位(第6位和第7位)被开始柱面字段所使用
0x01C1 10位 0x00 开始柱面(Starting Cylinder)   除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。开始柱面是一个10位数,最大值为1023
0x01C2 BYTE 0x07 系统ID(System ID) 定义了分区的类型,详细定义,请参阅图4
0x01C3 BYTE 0xFE 结束磁头(Ending Head)
0x01C4 6位 0xFF 结束扇区(Ending Sector)     只使用了0~5位。最后两位(第6、7位)被结束柱面字段所使用
0x01C5 10位 0x7B 结束柱面(Ending Cylinder) 除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。结束柱面是一个10位的数,最大值为1023
0x01C6 DWORD 0x0000003F 相对扇区数(Relative Sectors) 从该磁盘的开始到该分区的开始的位移量,以扇区来计算
0x01CA DWORD 0x00DAA83D 总扇区数(Total Sectors) 该分区中的扇区总数


注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表,图均同。


也可以在winhex中看到这些参数的意义:

    



    说明: 每个分区表项占用16个字节,假定偏移地址从0开始。如图3的分区表项3。分区表项4同分区表项3。

    1、0H偏移为活动分区是否标志,只能选00H和80H。80H为活动,00H为非活动。其余值对microsoft而言为非法值。

    2、重新说明一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(little endian format)或称反字节顺序保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。例如,相对扇区数字段的值0x3F000000的低字节在前表示为0x0000003F。这个低字节在前的格式数的十进制数为63。

    3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来却是6997M,就是这个原因。 偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移6H为例,其低6位用作扇区数的二进制表示。其高两位做柱面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区从1开始编号,所以最多只能表示1024个柱面×63个扇区×256个磁头×512byte=8455716864byte。即通常的8.4GB(实际上应该是7.8GB左右)限制。实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。 在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。而是通过偏移CH~偏移FH共4个字节32位线性扇区地址来表示分区所占用的扇区总数。可知通过4个字节可以表示2^32个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEH FFH FFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。

    虽然现在的系统均采用线性寻址的方式来处理分区的大小。但不可跨柱面的原则依然没变。本分区的扇区总数加上与前一分区之间的保留扇区数目依然必须是柱面容量的整数倍。(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。如果是第一个分区,保留扇区是本分区前的所有扇区。

    附:分区表类型标志如图4

   



3.2 扩展分区:

    扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。

    通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。如图5:

    



    关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后一个逻辑驱动器之间在扩展分区表中的差异。



    除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。最后一个扩展分区表的第二个项到第四个项被使用。   































   表2  扩展分区表项的内容


扩展分区表项 分区表项的内容
第一个项 包括数据的开始地址在内的与扩展分区中当前逻辑驱动器有关的信息
第二个项 有关扩展分区中的下一个逻辑驱动器的信息,包括包含下一个逻辑驱动器的EBR的扇区的地址。如果不存在进一步的逻辑驱动器的话,该字段不会被使用
第三个项 未用
第四个项 未用


    扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该逻辑驱动器的扇区数目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱动器末尾的扇区数。


    有时候在磁盘的末尾会有剩余空间,剩余空间是什么呢?我们前面说到,分区是以1柱面的容量为分区粒度的,那么如果磁盘总空间不是整数个柱面的话,不够一个柱面的剩下的空间就是剩余空间了,这部分空间并不参与分区,所以一般无法利用。照道理说,磁盘的物理模式决定了磁盘的总容量就应该是整数个柱面的容量,为什么会有不够一个柱面的空间呢。在我的理解看来,本来现在的磁盘为了更大的利用空间,一般在物理上并不是按照外围的扇区大于里圈的扇区这种管理方式,只是为了与操作系统兼容而抽象出来CHS。可能其实际空间容量不一定正好为整数个柱面的容量吧


相关的主题文章:

2009年3月13日星期五

什么叫嵌入式硬盘录像机,数据如何恢复



什么叫嵌入式硬盘录像机?与工控式硬盘录像机有什么区别?数据如何恢复

 







嵌入式硬盘录像机的性能高的原因:从硬件上主要体现在其内部板卡都集成在一块或两块主板上,经过产家在技术上的整合,其配置上要比PC机的要低,而运行的性能上能与高它一定硬件配置PC机的相比并不逊色;从软件上主要体现,其系统与硬盘录像机的操作系统完美的结合在一起,是直接对硬件进行调用,加快了反应时间,提高了运行速度,减少了很多不必要的额外功能运行,而基于Linux 、Windows 操作系统之上的硬盘录像机是绝对做不到的。

稳定性:



嵌入式硬盘录像机的稳定性高的原因:从硬件上主要体现在各部分都集成在一块主板上,对抗震、灰尘多等恶劣环境的适应能力要好;从软件上主要体现在其系统与硬盘录像机(DVR)的监控系统完整的结合在一起,不容易受到一些额外的因素影响,如操作系统的自身不稳定性和冗余的附带功能所引起的不良因素。不过也有一些劣质的嵌入式硬盘录像机的稳定性很差。

维护性:



嵌入式硬盘录像机的易维护性低的原因:主要体现在硬件上,嵌入式因集成度过高,对维护人员的专业素质同要求相当高,这对目前中国的国情来讲,这样的人才太小,一出问题基本都要发回产商进行维修,其维修成本可想而知,尤其是过了保修期。而这个过程少则一个星期,多则一两个月,这给客户使用和下次一选购造成严重的内心反感,也给很多的工程商带来相当多的麻烦,甚至客户流失;从软件上来讲,嵌入式的软件基本不需要维护,其软件维护成本远比基于Windows和Linux操作系统之上的监控系统要低得多。

抗病毒性



嵌入式硬盘录像机的抗病毒性高的原因:主要是因为其硬件、软件都是专用的,芯片存储的数据只读,不可写,并且软件的附带功能非常少,因此,病毒根本无从入手。

在如今的网上能找到很多的这方面资料,但基本都没有详细的论述,并且多多少少都会带有一些偏激的话语,给很多的人带来一些误导。希望能过通该篇文章抛砖引玉,让大家找出自己最需要的产品.如今市场上的硬盘录像机从组合(包括硬件的架构和软件的类型)上分,主要有三种产品,①是纯嵌入式硬盘录像机(硬件、软件集成在一起);②是PC式硬盘录像机(硬件、软件是完全分开,且监控系统还是基于某一操作系统(如:Windows 98/2000/XP Linux)之上);③PC嵌入式硬盘录像机(硬件、软件是分开的,但监控系统不是基于某一操作系统之上,而是把某一操作系统的内核提取出来与监控系统完美结合在一起,并以嵌入式软件的方式运行。本文主要从价格、性能、稳定、易维护性、附带功能、扩展性、抗病毒性、定制性、单机路数、网络应用性、新技术应用速度几个方面的情况下对这三种硬盘录像机进行评比。



比较结果的分析:



嵌入式硬盘录像机的价格高的原因:主要体现在其技术含量会比PC的要高,投入的前期成本大,能介入的企业相对PC式的要难且少。由此也引起另一个价格高的原因是,因为介入的企业少,其使用的硬件价格的透明性与进竞争性不够高。



PC式硬盘录像机的价格低的原因:主要体现在其硬件设备的竞争激烈、透明性高,很多都是系统集成商或工程商自行组装,节省很多的品牌费用和其它一些额外开支。另有一个非常重要的原因是因为Windows(Linux 操作系统除外,一般50元就可买到正版,也有免费版)操作系统是盗版的,但这个Windows 版DVR的优势现正随着微软在中国打击盗版的行动而在慢慢退失。



PC嵌入式硬盘录像机的价格居中的原因:主要体现在其硬件设备的竞争激烈、透明性高,很多都是系统集成商或工程商自行组装,节省很多的品牌费用和其它一些额外开支(这与PC式硬盘录像机一样),并且嵌入式的监控软件对硬件要求要比基于操作系统上的监控软件对硬件的要求较低。软件方面由于其技术含量要比基于某一操作系统上的监控系统要高,固其价格也相对要高一些。但把硬件(同路数、同采集卡的情况下)与软件结合起来,其整体价格与PC硬盘录像机(如是Windows DVR 则不算Windows操作系统的价格)的价格基本持平。



性能:



嵌入式硬盘录像机的性能高的原因:从硬件上主要体现在其内部板卡都集成在一块或两块主板上,经过产家在技术上的整合,其配置上要比PC机的要低,而运行的性能上能与高它一定硬件配置PC机的相比并不逊色;从软件上主要体现,其系统与硬盘录像机的操作系统完美的结合在一起,是直接对硬件进行调用,加快了反应时间,提高了运行速度,减少了很多不必要的额外功能运行,而基于Linux 、Windows 操作系统之上的硬盘录像机是绝对做不到的。



PC式硬盘录像机的性能低的原因:从硬件上主要体现在其都是自行组装的,其技术整合性不够高。另也有一些系统集成商和工程商在这方面并无太多的实力,对硬件知识和硬件与软件的结合性方面了解不够,造成一些高配置与低配置的搭配不当,也是一个很重要的原因。不过现在的硬件性能已经很高,且发展相当迅速,这并不足以影响PC式硬盘录像机的性能,不过性价比有所降低;从软件上主要体现在其是基于Windows和Linux操作系统之上,运行着很多监控系统不需要的功能,这不仅存在很多冗余功能,影响运行速度还是引起监控系统不稳定的主要原因之一。

PC嵌入式硬盘录像机的性能居中的原因:从硬件上的体现与PC式硬盘录像机的情况基本一样。但在软件上其是对某些硬件的直接调用相和去掉了操作系统的大部分冗余(对监控系统而言)功能。固PC嵌入式硬盘录像机对PC式硬盘录像机的性能要高出一些。



稳定性:



嵌入式硬盘录像机的稳定性高的原因:从硬件上主要体现在各部分都集成在一块主板上,对抗震、灰尘多等恶劣环境的适应能力要好;从软件上主要体现在其系统与硬盘录像机(DVR)的监控系统完整的结合在一起,不容易受到一些额外的因素影响,如操作系统的自身不稳定性和冗余的附带功能所引起的不良因素。不过也有一些劣质的嵌入式硬盘录像机的稳定性很差。



PC式的硬盘录像机的稳定性低的原因:从硬件上主要体现在各部分都是通过插卡式连结在一起,对于恶劣环境的适应能力不够好,这是PC机以来的一个通病,不过随着现在的硬件技术的发展,这已经比前几年有很大的提高,在这方面与嵌入硬盘录像机的差距已越来越少;从软件上主要体现在操作系统(Windows 、Linux)本身的稳定性上,Linux 要比Windows稳定一些。



PC嵌入式硬盘录像机的稳定性居中的原因:其硬件与PC式硬盘录像机的硬件一样,但其软件的因不是基于某一操作系统,固其能很好的消除操作本身带来不稳定性的影响。且技术含量高,一般企业没有这个能力进入,也为PC嵌入式硬盘录像机监控系统的稳定性带来另一保证。



易维护性:



嵌入式硬盘录像机的易维护性低的原因:主要体现在硬件上,嵌入式因集成度过高,对维护人员的专业素质同要求相当高,这对目前中国的国情来讲,这样的人才太小,一出问题基本都要发回产商进行维修,其维修成本可想而知,尤其是过了保修期。而这个过程少则一个星期,多则一两个月,这给客户使用和下次一选购造成严重的内心反感,也给很多的工程商带来相当多的麻烦,甚至客户流失;从软件上来讲,嵌入式的软件基本不需要维护,其软件维护成本远比基于Windows和Linux操作系统之上的监控系统要低得多。



PC式硬盘录像机的易维护性居中的原因:从硬件上主要体现在,因PC机都能自行组装,其硬件都随处可自己购买,且工程商也会有一些备用。另外对维护人员的专业素质要求也高,这样即使PC硬件有问题也能够得到很快的解决;从软件上主要体现在Windows和Linux系统太复杂,冗余功能比较多维护起来效麻烦,但最多大不了重装一次系统即可完全解决,远比嵌入式硬盘录像机要发回产商要方便快捷得多。



PC嵌入式硬盘录像机的易维护性高的原因:其硬件维护与PC式硬盘录像机一样,而嵌入式软件则与嵌入式硬盘录像机的软件基本一样,可以认为是不需要维护的。固其易维护是最高、最方便的、成本也是最低的。

 

嵌入式硬盘录像机如果数据丢失,可以与沈阳凯文数据恢复中心直接联系,我们可以进行嵌入式硬盘录像机的数据恢复服务。




相关的主题文章:

2009年3月12日星期四

磁带机、磁带库和磁盘阵列有什么区别?

磁带机、磁带库和磁盘阵列有什么区别?


磁带机

磁带机(Tape Drive)一般指单驱动器产品,通常由磁带驱动器和磁带构成,是一种经济、可靠、容量大、速度快的备份设备。这种产品采用高纠错能力编码技术和写后即读通道技术,可以大大提高数据备份的可靠性。根据装带方式的不同,一般分为手动装带磁带机和自动装带磁带机,即自动加载磁带机。



自动加载磁带机实际上是将磁带和磁带机有机结合组成的。自动加载磁带机是一个位于单机中的磁带驱动器和自动磁带更换装置,它可以从装有多盘磁带的磁带匣中拾取磁带并放入驱动器中,或执行相反的过程。它可以备份100GB-200GB或者更多的数据。自动加载磁带机能够支持例行备份过程,自动为每日的备份工作装载新的磁带。一个拥有工作组服务器的小公司可以使用自动加载磁带机来自动完成备份工作。



磁带库



磁带库是像自动加载磁带机一样的基于磁带的备份系统,它能够提供同样的基本自动备份和数据恢复功能,但同时具有更先进的技术特点。它的存储容量可达到数百PB(1pb=100万GB),可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。



磁盘阵列,简称盘阵,计算机行业使用的一种企业级存储系统。盘阵把多个磁盘组合成一个阵列,通过RAID和虚拟化等技术手段,作为一个单一的存储设备来使用。通过把数据分散在不同的物理磁盘中,盘阵可以减低数据的访问时间、提高访问速度;通过RAID等容错机制,它可以提高数据的安全性;另外,它还可以有效的利用磁盘空间。

要全面理解“磁盘阵列”,就还必须了解以下几个重要概念:

最大存储容量 是指磁盘阵列设备所能存储数据容量的极限,通俗的讲,就是磁盘阵列设备能够支持的最大硬盘数量乘以单个硬盘容量就是最大存储容量,其实这是个理论值。实际上这个数值还取决于所使用RAID(独立冗余磁盘整理)的级别,采用不同的RAID级别,有效的存储容量也就有所差别。通常,一般小型的磁盘阵列设备会支持几百GB的存储容量,适合中小型公司作为存储设备共享数据使用,而中高档的磁盘阵列设备应该支持T级别的容量(1TB = 1000GB)。

平均传输率 是指数据从磁盘阵列的硬盘里读出送到外部主机或其他地方的稳定速度,而不是突发速率,单位通常是Mb/s(兆位/秒)。这个数值取决于磁盘阵列所使用的外部主机通道和所用磁盘类型,通常使用SCSI硬盘作为阵列和FC(Fiber Channel)光纤主机通道的速率为最高,一般可达1000Mb/s以上。而采用IDE硬盘作为阵列的产品的速率就相对于较低,适合规模不大的用户群使用。

硬盘转速 是指硬盘内电机主轴的转动速度,单位是RPM(每分钟旋转次数)。其转速越高内部传输速率就越大。目前常见的IDE接口硬盘转速为5400RPM和7200RPM,而SCSI接口的硬盘的转速可达到10000RPM以上。如果是小型公司没有大量数据存储的话,用5400RPM或7200RPM的硬盘即可,而对于有大量数据要求的部门则最好选用高速SCSI硬盘,且具有热插拔的优点。

每台磁盘阵列设备都配备了一定数量的内存作为高速缓存使用,而且大多用户以后可以扩充。在磁盘阵列设备中,常见的内存类型由SDRAM(同步内存)、FLASH(闪存)等。不同的磁盘阵列产品出厂时配备的内存容量不同,一般为几十兆到数GB(1GB=1000MB)容量不等,这取决于磁盘阵列产品的应用范围,一般来讲,应用在小规模的局域网当中的磁盘阵列,如果只是应付几台设备的访问,64M以下内存容量即可。如果是上百个节点以上的访问,就得需要上G容量的内存。当然,这不是绝对的因素,磁盘阵列产品的综合性能发挥还取决于它的处理器能力、硬盘速度及其网络实际环境等因素的制约。总之,选购磁盘阵列产品时,应该综合考虑各个方面的性能参数。

MTBF,即平均无故障时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。单位为“小时”。它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。具体来说,是指相邻两次故障之间的平均工作时间,也称为平均故障间隔。它仅适用于可维修产品。同时也规定产品在总的使用阶段累计工作时间与故障次数的比值为MTBF。磁盘阵列产品一般MTBF不能低于50000小时。

磁盘阵列作为数据的存储设备,供网络用户使用,那么就需要磁盘阵列提供接口,和服务器主机或其他网络设备相连接,这个接口我们把它叫做主机通道或外接主机通道。现在大多数外接主机通道为Ultra2 SCSI和Ultra3 SCSI,部分产品由于和SAN(存储区域网络)连接具有FC(Fiber Channel光纤通道)接口。



通常,磁盘阵列有单主机通道磁盘阵列和多主机通道磁盘阵列之别: 单主机通道磁盘阵列只能接一台主机,多主机通道磁盘阵列可接多个主机系统,并同时使用,有很大的灵活扩充能力,可以群集(Cluster)的方式共用磁盘阵列。且大多数的阵列都支持73GB、36GB和18GB的硬盘,也有部分的阵列可以支持180GB的硬盘,并支持热插拔,其可支持的RAID级别有0、1(0+1)、3和5等。

相关的主题文章:

磁带机、磁带库和磁盘阵列有什么区别?

磁带机、磁带库和磁盘阵列有什么区别?


磁带机

磁带机(Tape Drive)一般指单驱动器产品,通常由磁带驱动器和磁带构成,是一种经济、可靠、容量大、速度快的备份设备。这种产品采用高纠错能力编码技术和写后即读通道技术,可以大大提高数据备份的可靠性。根据装带方式的不同,一般分为手动装带磁带机和自动装带磁带机,即自动加载磁带机。



自动加载磁带机实际上是将磁带和磁带机有机结合组成的。自动加载磁带机是一个位于单机中的磁带驱动器和自动磁带更换装置,它可以从装有多盘磁带的磁带匣中拾取磁带并放入驱动器中,或执行相反的过程。它可以备份100GB-200GB或者更多的数据。自动加载磁带机能够支持例行备份过程,自动为每日的备份工作装载新的磁带。一个拥有工作组服务器的小公司可以使用自动加载磁带机来自动完成备份工作。



磁带库



磁带库是像自动加载磁带机一样的基于磁带的备份系统,它能够提供同样的基本自动备份和数据恢复功能,但同时具有更先进的技术特点。它的存储容量可达到数百PB(1pb=100万GB),可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。



磁盘阵列,简称盘阵,计算机行业使用的一种企业级存储系统。盘阵把多个磁盘组合成一个阵列,通过RAID和虚拟化等技术手段,作为一个单一的存储设备来使用。通过把数据分散在不同的物理磁盘中,盘阵可以减低数据的访问时间、提高访问速度;通过RAID等容错机制,它可以提高数据的安全性;另外,它还可以有效的利用磁盘空间。

要全面理解“磁盘阵列”,就还必须了解以下几个重要概念:

最大存储容量 是指磁盘阵列设备所能存储数据容量的极限,通俗的讲,就是磁盘阵列设备能够支持的最大硬盘数量乘以单个硬盘容量就是最大存储容量,其实这是个理论值。实际上这个数值还取决于所使用RAID(独立冗余磁盘整理)的级别,采用不同的RAID级别,有效的存储容量也就有所差别。通常,一般小型的磁盘阵列设备会支持几百GB的存储容量,适合中小型公司作为存储设备共享数据使用,而中高档的磁盘阵列设备应该支持T级别的容量(1TB = 1000GB)。

平均传输率 是指数据从磁盘阵列的硬盘里读出送到外部主机或其他地方的稳定速度,而不是突发速率,单位通常是Mb/s(兆位/秒)。这个数值取决于磁盘阵列所使用的外部主机通道和所用磁盘类型,通常使用SCSI硬盘作为阵列和FC(Fiber Channel)光纤主机通道的速率为最高,一般可达1000Mb/s以上。而采用IDE硬盘作为阵列的产品的速率就相对于较低,适合规模不大的用户群使用。

硬盘转速 是指硬盘内电机主轴的转动速度,单位是RPM(每分钟旋转次数)。其转速越高内部传输速率就越大。目前常见的IDE接口硬盘转速为5400RPM和7200RPM,而SCSI接口的硬盘的转速可达到10000RPM以上。如果是小型公司没有大量数据存储的话,用5400RPM或7200RPM的硬盘即可,而对于有大量数据要求的部门则最好选用高速SCSI硬盘,且具有热插拔的优点。

每台磁盘阵列设备都配备了一定数量的内存作为高速缓存使用,而且大多用户以后可以扩充。在磁盘阵列设备中,常见的内存类型由SDRAM(同步内存)、FLASH(闪存)等。不同的磁盘阵列产品出厂时配备的内存容量不同,一般为几十兆到数GB(1GB=1000MB)容量不等,这取决于磁盘阵列产品的应用范围,一般来讲,应用在小规模的局域网当中的磁盘阵列,如果只是应付几台设备的访问,64M以下内存容量即可。如果是上百个节点以上的访问,就得需要上G容量的内存。当然,这不是绝对的因素,磁盘阵列产品的综合性能发挥还取决于它的处理器能力、硬盘速度及其网络实际环境等因素的制约。总之,选购磁盘阵列产品时,应该综合考虑各个方面的性能参数。

MTBF,即平均无故障时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。单位为“小时”。它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。具体来说,是指相邻两次故障之间的平均工作时间,也称为平均故障间隔。它仅适用于可维修产品。同时也规定产品在总的使用阶段累计工作时间与故障次数的比值为MTBF。磁盘阵列产品一般MTBF不能低于50000小时。

磁盘阵列作为数据的存储设备,供网络用户使用,那么就需要磁盘阵列提供接口,和服务器主机或其他网络设备相连接,这个接口我们把它叫做主机通道或外接主机通道。现在大多数外接主机通道为Ultra2 SCSI和Ultra3 SCSI,部分产品由于和SAN(存储区域网络)连接具有FC(Fiber Channel光纤通道)接口。



通常,磁盘阵列有单主机通道磁盘阵列和多主机通道磁盘阵列之别: 单主机通道磁盘阵列只能接一台主机,多主机通道磁盘阵列可接多个主机系统,并同时使用,有很大的灵活扩充能力,可以群集(Cluster)的方式共用磁盘阵列。且大多数的阵列都支持73GB、36GB和18GB的硬盘,也有部分的阵列可以支持180GB的硬盘,并支持热插拔,其可支持的RAID级别有0、1(0+1)、3和5等。

相关的主题文章:

磁带机、磁带库和磁盘阵列有什么区别?

磁带机、磁带库和磁盘阵列有什么区别?


磁带机

磁带机(Tape Drive)一般指单驱动器产品,通常由磁带驱动器和磁带构成,是一种经济、可靠、容量大、速度快的备份设备。这种产品采用高纠错能力编码技术和写后即读通道技术,可以大大提高数据备份的可靠性。根据装带方式的不同,一般分为手动装带磁带机和自动装带磁带机,即自动加载磁带机。



自动加载磁带机实际上是将磁带和磁带机有机结合组成的。自动加载磁带机是一个位于单机中的磁带驱动器和自动磁带更换装置,它可以从装有多盘磁带的磁带匣中拾取磁带并放入驱动器中,或执行相反的过程。它可以备份100GB-200GB或者更多的数据。自动加载磁带机能够支持例行备份过程,自动为每日的备份工作装载新的磁带。一个拥有工作组服务器的小公司可以使用自动加载磁带机来自动完成备份工作。



磁带库



磁带库是像自动加载磁带机一样的基于磁带的备份系统,它能够提供同样的基本自动备份和数据恢复功能,但同时具有更先进的技术特点。它的存储容量可达到数百PB(1pb=100万GB),可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。



磁盘阵列,简称盘阵,计算机行业使用的一种企业级存储系统。盘阵把多个磁盘组合成一个阵列,通过RAID和虚拟化等技术手段,作为一个单一的存储设备来使用。通过把数据分散在不同的物理磁盘中,盘阵可以减低数据的访问时间、提高访问速度;通过RAID等容错机制,它可以提高数据的安全性;另外,它还可以有效的利用磁盘空间。

要全面理解“磁盘阵列”,就还必须了解以下几个重要概念:

最大存储容量 是指磁盘阵列设备所能存储数据容量的极限,通俗的讲,就是磁盘阵列设备能够支持的最大硬盘数量乘以单个硬盘容量就是最大存储容量,其实这是个理论值。实际上这个数值还取决于所使用RAID(独立冗余磁盘整理)的级别,采用不同的RAID级别,有效的存储容量也就有所差别。通常,一般小型的磁盘阵列设备会支持几百GB的存储容量,适合中小型公司作为存储设备共享数据使用,而中高档的磁盘阵列设备应该支持T级别的容量(1TB = 1000GB)。

平均传输率 是指数据从磁盘阵列的硬盘里读出送到外部主机或其他地方的稳定速度,而不是突发速率,单位通常是Mb/s(兆位/秒)。这个数值取决于磁盘阵列所使用的外部主机通道和所用磁盘类型,通常使用SCSI硬盘作为阵列和FC(Fiber Channel)光纤主机通道的速率为最高,一般可达1000Mb/s以上。而采用IDE硬盘作为阵列的产品的速率就相对于较低,适合规模不大的用户群使用。

硬盘转速 是指硬盘内电机主轴的转动速度,单位是RPM(每分钟旋转次数)。其转速越高内部传输速率就越大。目前常见的IDE接口硬盘转速为5400RPM和7200RPM,而SCSI接口的硬盘的转速可达到10000RPM以上。如果是小型公司没有大量数据存储的话,用5400RPM或7200RPM的硬盘即可,而对于有大量数据要求的部门则最好选用高速SCSI硬盘,且具有热插拔的优点。

每台磁盘阵列设备都配备了一定数量的内存作为高速缓存使用,而且大多用户以后可以扩充。在磁盘阵列设备中,常见的内存类型由SDRAM(同步内存)、FLASH(闪存)等。不同的磁盘阵列产品出厂时配备的内存容量不同,一般为几十兆到数GB(1GB=1000MB)容量不等,这取决于磁盘阵列产品的应用范围,一般来讲,应用在小规模的局域网当中的磁盘阵列,如果只是应付几台设备的访问,64M以下内存容量即可。如果是上百个节点以上的访问,就得需要上G容量的内存。当然,这不是绝对的因素,磁盘阵列产品的综合性能发挥还取决于它的处理器能力、硬盘速度及其网络实际环境等因素的制约。总之,选购磁盘阵列产品时,应该综合考虑各个方面的性能参数。

MTBF,即平均无故障时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。单位为“小时”。它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。具体来说,是指相邻两次故障之间的平均工作时间,也称为平均故障间隔。它仅适用于可维修产品。同时也规定产品在总的使用阶段累计工作时间与故障次数的比值为MTBF。磁盘阵列产品一般MTBF不能低于50000小时。

磁盘阵列作为数据的存储设备,供网络用户使用,那么就需要磁盘阵列提供接口,和服务器主机或其他网络设备相连接,这个接口我们把它叫做主机通道或外接主机通道。现在大多数外接主机通道为Ultra2 SCSI和Ultra3 SCSI,部分产品由于和SAN(存储区域网络)连接具有FC(Fiber Channel光纤通道)接口。



通常,磁盘阵列有单主机通道磁盘阵列和多主机通道磁盘阵列之别: 单主机通道磁盘阵列只能接一台主机,多主机通道磁盘阵列可接多个主机系统,并同时使用,有很大的灵活扩充能力,可以群集(Cluster)的方式共用磁盘阵列。且大多数的阵列都支持73GB、36GB和18GB的硬盘,也有部分的阵列可以支持180GB的硬盘,并支持热插拔,其可支持的RAID级别有0、1(0+1)、3和5等。

相关的主题文章:

磁带机、磁带库和磁盘阵列有什么区别?

这是新建文章1,改名后按回车.html,请修改添加正文内容。相关的主题文章:

2009年3月9日星期一

Oracle数据库管理脚本介绍

Oracle数据库管理脚本介绍


 



Oracle中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终用户、应用的设计开发者到数据库管理员)的非常重要的信息来源。数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完成的。当采用Oracle统一安装器(Oracle Universal Installer)创建数据库时,Oracle服务器有关的字典视图和脚本最后会被自动安装。但当需要升级目前的Oracle数据库服务器时,数据库管理员必须要手工重新运行创建这些视图或脚本的SQL。安装完数据库后,Oracle数据库管理脚本就存放在操作系统中。对于UNIX和NT操作系统,分别位于不同的物理目录下。



操作系统 脚本目录位置

UNIX $ORACLE_HOME/rdbms/admin

NT %ORACLE_HOME%\rdbms\admin



Oracle中几乎所有的系统管理脚本都保存在该文件目录下,该目录下含有上百个不同文件。这些不同的文件都有什么作用呢?本文将详细讨论组成Oracle数据库管理脚本的命名规范。这样用户看到某个文件大概就可以知道该文件主要用途是什么。该目录下的文件按照功能不同可分为4大类,Oracle为了容易区分这几类不同的文件,对于文件的命名遵从一定的规则。见表2所示。



命名规则 功能描述

cat*.sql 关于目录和数据字典信息

dbms*.sql 数据库中关于包的说明

prvt*.plb 加密过的包代码

utl*.sql 数据库其他功能的表和视图



下面来详细介绍这四种不同类型的脚本功能:



1、cat*.sql 脚本



该类脚本主要用于创建数据字典视图。其中,脚本catalog.sql 和 catproc.sql 是创建数据库后必须要运行的两个脚本。这两个脚本的功能说明见表3所示。



脚本 脚本说明

catalog.sql 创建系统常用的数据字典视图和同义词

catproc.sql 运行服务器端所需要的PL/SQL脚本



(1) catalog.sql



该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:



基本PL/SQL环境,包括PL/SQL的声明:



- 数据类型



- 预定义例外



- 内建的过程和函数



- SQL操作等



审计



导入/导出



SQL*Loader



安装选项



2)catproc.sql



该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:



警告(Alerts)



管道(Pipes)



日志分析(LogMiner)



大对象(Large objects)



对象(Objects)



高级队列(Advanced queuing)



复制选项( Replication option)



其他的一些内建包和选项(Other built-ins and options)



(3)其他脚本



在该目录下还有其他一些脚本用来扩展Oracle数据库服务器功能。如,catadt.sql 脚本用来创建RDBMS中用来显示兆数据信息的数据字典视图。catnoadt.sql 脚本用来删除这些表和视图。



2、dbms*.sql 和 prvt*.plb 脚本



这两类脚本用来创建扩展Oracle服务器功能的系统预定义的一些Oracle包的对象。这些程序均用来完成数据库管理任务。大多数的SQL脚本在运行catproc.sql脚本时被执行。一些额外的脚本必须由数据库管理员另外单独执行。例如,dbmspool.sql 脚本,用来显示在共享池中对象的大小并且为了减少共享池碎块可以将其在SGA中标记为保持或可删除。



3、utl*.sql 脚本



该类脚本只有在数据库需要另外的视图和表时才需要运行。例如,脚本utlxplan.sql,用来创建一个表,该表用于观察SQL语句的运行计划(Execution Plan)。



需要注意的是,绝大多数数据库管理脚本都必须在用户SYS下运行。数据库管理员如果打算运行这些脚本,最好首先阅读脚本内容中的相关信息,了解应该以什么用户来运行这些脚本。

 
相关的主题文章:

Oracle数据库管理脚本介绍

Oracle数据库管理脚本介绍


 



Oracle中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终用户、应用的设计开发者到数据库管理员)的非常重要的信息来源。数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完成的。当采用Oracle统一安装器(Oracle Universal Installer)创建数据库时,Oracle服务器有关的字典视图和脚本最后会被自动安装。但当需要升级目前的Oracle数据库服务器时,数据库管理员必须要手工重新运行创建这些视图或脚本的SQL。安装完数据库后,Oracle数据库管理脚本就存放在操作系统中。对于UNIX和NT操作系统,分别位于不同的物理目录下。



操作系统 脚本目录位置

UNIX $ORACLE_HOME/rdbms/admin

NT %ORACLE_HOME%\rdbms\admin



Oracle中几乎所有的系统管理脚本都保存在该文件目录下,该目录下含有上百个不同文件。这些不同的文件都有什么作用呢?本文将详细讨论组成Oracle数据库管理脚本的命名规范。这样用户看到某个文件大概就可以知道该文件主要用途是什么。该目录下的文件按照功能不同可分为4大类,Oracle为了容易区分这几类不同的文件,对于文件的命名遵从一定的规则。见表2所示。



命名规则 功能描述

cat*.sql 关于目录和数据字典信息

dbms*.sql 数据库中关于包的说明

prvt*.plb 加密过的包代码

utl*.sql 数据库其他功能的表和视图



下面来详细介绍这四种不同类型的脚本功能:



1、cat*.sql 脚本



该类脚本主要用于创建数据字典视图。其中,脚本catalog.sql 和 catproc.sql 是创建数据库后必须要运行的两个脚本。这两个脚本的功能说明见表3所示。



脚本 脚本说明

catalog.sql 创建系统常用的数据字典视图和同义词

catproc.sql 运行服务器端所需要的PL/SQL脚本



(1) catalog.sql



该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:



基本PL/SQL环境,包括PL/SQL的声明:



- 数据类型



- 预定义例外



- 内建的过程和函数



- SQL操作等



审计



导入/导出



SQL*Loader



安装选项



2)catproc.sql



该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:



警告(Alerts)



管道(Pipes)



日志分析(LogMiner)



大对象(Large objects)



对象(Objects)



高级队列(Advanced queuing)



复制选项( Replication option)



其他的一些内建包和选项(Other built-ins and options)



(3)其他脚本



在该目录下还有其他一些脚本用来扩展Oracle数据库服务器功能。如,catadt.sql 脚本用来创建RDBMS中用来显示兆数据信息的数据字典视图。catnoadt.sql 脚本用来删除这些表和视图。



2、dbms*.sql 和 prvt*.plb 脚本



这两类脚本用来创建扩展Oracle服务器功能的系统预定义的一些Oracle包的对象。这些程序均用来完成数据库管理任务。大多数的SQL脚本在运行catproc.sql脚本时被执行。一些额外的脚本必须由数据库管理员另外单独执行。例如,dbmspool.sql 脚本,用来显示在共享池中对象的大小并且为了减少共享池碎块可以将其在SGA中标记为保持或可删除。



3、utl*.sql 脚本



该类脚本只有在数据库需要另外的视图和表时才需要运行。例如,脚本utlxplan.sql,用来创建一个表,该表用于观察SQL语句的运行计划(Execution Plan)。



需要注意的是,绝大多数数据库管理脚本都必须在用户SYS下运行。数据库管理员如果打算运行这些脚本,最好首先阅读脚本内容中的相关信息,了解应该以什么用户来运行这些脚本。

 
相关的主题文章:

Access数据导入到SQLServer2005

Access数据导入到SQLServer2005

 



普通的SQL语法导入SQL2005建表就不用说了.



如何将数据导入到SQL2005呢.



其实方法如下:



EXEC sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1;

GO

RECONFIGURE;

GO



INSERT INTO 表名(字段1,字段2,字段3)



SELECT 字段1,字段2,字段3



FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\数据库名.mdb";Jet OLEDB:Database Password
相关的主题文章:

Access数据导入到SQLServer2005

Access数据导入到SQLServer2005

 



普通的SQL语法导入SQL2005建表就不用说了.



如何将数据导入到SQL2005呢.



其实方法如下:



EXEC sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1;

GO

RECONFIGURE;

GO



INSERT INTO 表名(字段1,字段2,字段3)



SELECT 字段1,字段2,字段3



FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\数据库名.mdb";Jet OLEDB:Database Password
相关的主题文章:

2009年3月7日星期六

Linux主流文件系统格式













Linux主流文件系统格式
 










    文件系统指文件存在的物理空间。在Linux系统中,每个分区都是一个文件系统,都有自己的目录层次结构。Linux的最重要特征之一就是支持多种文件系统,这样它更加灵活,并可以和许多其它种操作系统共存。Virtual File System(虚拟文件系统)使得Linux可以支持多个不同的文件系统。由于系统已将Linux文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。虚拟文件系统是为Linux用户提供快速且高效的文件访问服务而设计的。


随着Linux的不断发展,它所支持的文件格式系统也在迅速扩充。特别是Linux 2.4内核正式推出后,出现了大量新的文件系统,其中包括日志文件系统ext3、ReiserFS、XFSJFS和其它文件系统。Linux系统核心可以支持十多种文件系统类型:JFS、 ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、 SMB、SysV、PROC等。


下面介绍Linux下几个最常用的文件系统,其中包括ext、ext2、ext3、JFS、XFS、ReiserFS等。


ext


ext是第一个专门为开发的Linux的文件系统类型,叫做扩展文件系统。它是1992年4月完成的,对Linux早期的发展产生了重要作用。但是,由于其在稳定性、速度和兼容性上存在许多缺陷,现在已经很少使用了。


ext2


ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,它又被称为二级扩展文件系统。ext2是1993年发布的,设计者是Rey Card。它是Linux文件系统类型中使用最多的格式,并且在速度和CPU利用率上较为突出,是GNU/Linux系统中标准的文件系统。它存取文件的性能极好,对于中、小型的文件更显示出优势,这主要得益于其簇快取层的优良设计。ext2可以支持256字节的长文件名,其单一文件大小和文件系统本身的容量上限与文件系统本身的簇大小有关。在常见的Intel x86兼容处理器的系统中,簇最大为4KB,单一文件大小上限为2048GB, 而文件系统的容量上限为6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都使用ext2作为默认的文件系统。 


ext2也有一些问题。由于它的设计者主要考虑的是文件系统性能方面的问题,而在写入文件内容的同时,并没有写入文件的meta- data(和文件有关的信息,例如权限、所有者及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的meta- data。如果出现写入文件内容之后,但在写入文件的meta-data之前系统突然断电,就可能造成文件系统就会处于不一致的状态。在一个有大量文件操作的系统中,出现这种情况会导致很严重的后果。另外,由于目前Linux的 2.4内核所能使用的单一分割区最大只有2048GB,尽管文件系统的容量上限为6384G,但是实际上能使用的文件系统容量最多也只有2048GB。


ext3


在讲解ext3、JFS、XFS、ReiserFS日志格式文件系统之前,先介绍一些日志式文件系统基础。


日志式文件系统起源于Oracle、Sybase等大型数据库。由于数据库操作往往是由多个相关的、相互依赖的子操作组成,任何一个子操作的失败都意味着整个操作的无效性,对数据库数据的任何修改都要恢复到操作以前的状态。Linux日志式文件系统就是由此发展而来的。日志文件系统通过增加一个叫做日志的、新的数据结构来解决这个“fsck”问题。这个日志是位于磁盘上的结构。在对元数据做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,所以日志文件具有可伸缩性和健壮性。在分区中保存日志记录文件好处是:文件系统写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,则在下次系统启动时就会读日志记录文件的内容,恢复到没有完成的写操作,这个过程一般只需要两三分钟时间。


ext3是由开放资源社区开发的日志文件系统,早期主要开发人员是Stephen Tweedie。ext3被设计成是ext2的升级版本,尽可能方便用户从ext2向ext3迁移。ext3在ext2的基础上加入了记录元数据的日志功能,努力保持向前和向后的兼容性,也就是在保有目前ext2的格式之下再加上日志功能。和ext2相比,ext3提供了更佳的安全性,这就是数据日志和元数据日志之间的不同。ext3是一种日志式文件系统,日志式文件系统的优越性在于由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此,每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。如果在文件系统尚未卸下前就关机 (如停电),那么重开机后就会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。然而,这个过程是相当耗时的,特别是容量大的文件系统不能百分之百保证所有的资料都不会流失,特别在大型的服务器上可能会出现问题。除了与ext2兼容之外,ext3还通过共享ext2的元数据格式继承了ext2的其它优点。比如,ext3用户可以使用一个稳固的fsck工具。由于ext3基于ext2的代码,所以它的磁盘格式和ext2 的相同,这意味着一个干净卸装的ext3文件系统可以作为ext2文件系统毫无问题地重新挂装。如果现在使用的是ext2文件系统,并且对数据安全性要求很高,这里建议考虑升级使用ext3。


ext3最大的缺点是,它没有现代文件系统所具有的、能提高文件数据处理速度和解压的高性能。此外,使用ext3文件系统要注意硬盘限额问题,在这个问题解决之前,不推荐在重要的企业应用上采用ext3+Disk Quota(磁盘配额)。  


JFS


JFS是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。 2000年2月,IBM宣布在一个开放资源许可证下移植Linux版本的JFS文件系统。JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。与非日志文件系统相比,它的突出优点是快速重启能力,JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。虽然JFS主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,但还可以用于想得到高性能和可靠性的客户机配置,因为在系统崩溃时JFS能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。使用数据库日志处理技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时或几天。


JFS的缺点是,使用JFS日志文件系统性能上会有一定损失,系统资源占用的比率也偏高,因为当它保存一个日志时,系统需要写许多数据。


ReiserFS


ReiserFS的第一次公开亮相是在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布。ReiserFS 3.6.x(作为Linux 2.4一部分的版本)是由Hans Reiser和他的Namesys开发组共同开发设计的。SuSE Linux也对它的发展起了重大的帮助。Hans和他的组员们相信最好的文件系统是能够有助于创建独立的共享环境或命名空间的文件系统,应用程序可以在其中更直接、有效和有力地相互作用。为了实现这一目标,文件系统就应该满足使用者对性能和功能方面的需要。那样使用者就能够继续直接地使用文件系统,而不必建造运行在文件系统之上(如数据库之类)的特殊目的层。ReiserFS 使用了特殊的、优化的平衡树(每个文件系统一个)来组织所有的文件系统数据,这为其自身提供了非常不错的性能改进,也能够减轻文件系统设计上的人为约束。另一个使用平衡树的好处就是,ReiserFS 能够像其它大多数的下一代文件系统一样,根据需要动态地分配索引节,而不必在文件系统创建时建立固定的索引节。这有助于文件系统更灵活地适应面临的各种存储需要,同时提供附加的空间有效率。


ReiserFS被看作是一个更加激进和现代的文件系统。传统的Unix文件系统是按磁盘块来进行空间分配的,对于目录和文件等的查找使用了简单的线性查找。这些设计在当时是合适的,但随着磁盘容量的增大和应用需求的增加,传统文件系统在存储效率、速度和功能上已显得落后。在 ReiserFS的下一个版本-Reiser 4,将提供了对事务的支持。ReiserFS突出的地方还在于其设计上着眼于实现一些未来的插件程序,这些插件程序可以提供访问控制列表、超级链接,以及一些其它非常不错的功能。在http://www.namesys.com/v4/v4.html中,有Reiser 4的介绍和性能测试。


ReiserFS一个最受批评的缺点是,每升级一个版本都将要将磁盘重新格式化一次,而且它的安全性能和稳定性与ext3相比有一定的差距。因为 ReiserFS文件系统还不能正确处理超长的文件目录,如果创建一个超过768字符的文件目录,并使用ls或其它echo命令,将有可能导致系统挂起。在http://www.namesys.com/ ;网站可以了解关于ReiserFS的更多信息。


XFS


XFS是一种非常优秀的日志文件系统,它是由SGI于20世纪90年代初开发的。XFS推出后被业界称为先进的、最具可升级性的文件系统技术。它是一个全 64位、快速、稳固的日志文件系统,多年用于SGI的IRIX操作系统。当SGI决定支持Linux社区时,它将关键的基本架构技术授权于Linux,以开放资源形式发布了他们自己拥有的XFS的源代码,并开始进行移植。此项工作进展得很快,目前已进入beta版阶段。作为一个64位文件系统,XFS可以支持超大数量的文件(9000×1GB),可在大型2D和3D数据方面提供显著的性能。XFS有能力预测其它文件系统薄弱环节,同时提供了在不妨碍性能的情况下增强可靠性和快速的事故恢复。


XFS可为Linux和开放资源社区带来如下新特性:


◆可升级性 XFS被设计成可升级,以面对大多数的存储容量和I/O存储需求;可处理大型文件和包含巨大数量文件的大型目录,以满足21世纪快速增长的磁盘需求。 XFS有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用的文件远远大于现在最大的文件系统。


◆优秀的I/O 性能典型的现代服务器使用大型的条带式磁盘阵列,以提供达数GB/秒的总带宽。XFS可以很好地满足I/O请求的大小和并发I/O请求的数量。XFS可作为 root文件系统,并被LILO支持,也可以在NFS服务器上使用,并支持软件磁盘阵列RAID)和逻辑卷管理器(Logical Volume Manager,LVM)。SGI最新发布的XFS为1.0.1版,在http://oss.sgi.com/projects/XFS/ ;可以下载它。


由于XFS比较复杂,实施起来有一些难度(包括人员培训等),所以目前XFS主要应用于Linux企业应用的高端。


其它文件系统


上面介绍了六种主要文件系统,下面简单介绍一些其它文件系统。


◆Minix 是Linux支持的第一个文件系统,对用户有很多限制,性能低下,有些没有时间标记,文件名最长l4个字符。Minix文件系统最大缺点是只能使用64MB的硬盘分区,所以目前已经没有人使用它了。


◆Xia 是Minix文件系统修正后的版本,在一定程度上解决了文件名和文件系统大小的局限。但是没有新的特色,目前很少有人使用。


◆ISO9660 标准CDROM文件系统,通用的Rock Ridge增强系统,允许长文件名。


◆NFS Sun公司推出的网络文件系统,允许多台计算机之间共享同一文件系统,易于从所有这些计算机上存取文件。


◆SysV 是System V/Coherent在Linux平台上的文件系统。


除了上面这些Linux文件系统外,Linux也可以支持基于Windows和Netware的文件系统,例如UMSDOS、 MSDOS、VFAT、HPFS、SMB和NCPFS等。兼容这些文件系统对Linux用户也是很重要的,毕竟在桌面环境下Windows文件系统还是很流行的,而Netware网络也有许多用户,Linux用户也需要共享这些文件系统的数据。


◆UMSDOS Linux下的扩展MSDOS文件系统驱动,支持长文件名、所有者、允许权限、连接和设备文件。允许一个普通的MSDOS文件系统用于Linux,而且无须为它建立单独的分区。


◆MSDOS 是在DOS、Windows和某些OS/2操作系统上使用的一种文件系统,其名称采用“8+3”的形式,即8个字符的文件名加上3个字符的扩展名。


◆VFAT 是Windows 9x和Windows NT/2000下使用的一种DOS文件系统,其在DOS文件系统的基础上增加了对长文件名的支持。


◆HPFT 高性能文件系统(High Performance File System,HPFS)是微软的LAN Manager中的文件系统,同时也是IBM的LAN Server和OS/2的文件系统。HPFT能访问较大的硬盘驱动器,提供了更多的组织特性,并改善了文件系统的安全特性。


◆SMB 是一种支持Windows for Workgroups、Windows NT和Lan Manager的基于SMB协议的网络操作系统。


◆NCPFS 是一种Novell NetWare使用的NCP协议的网络操作系统。


◆NTFS 是Windows NT/2000操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。


文件系统是操作系统用于明确磁盘或分区上文件的方法和数据结构,即在磁盘上组织文件的方法。文件系统是整个操作系统中重要的组成部分,是操作系统正常运行的基本条件。了解Linux文件系统对于深入学习、研究Linux是非常重要的





相关的主题文章: