Posts Tagged ‘硬盘’

linux DD 硬盘读写速度测试命令

1. 首先用自带的dd命令先测一下, 块大小为8k

dd只能提供一个大概的测试结果,而且是连续IO 而不是随机IO

读测试
# time dd if=/dev/sda2 of=/dev/null bs=8k count=8388608
8388608+0 records in
8388608+0 records out
68719476736 bytes (69 GB) copied, 516.547 seconds, 133 MB/s
real   8m36.926s
user   0m0.117s
sys    0m55.216s
#因为/dev/sda2是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。

写测试
# time dd if=/dev/zero f=/opt/iotest bs=8k count=8388608
8388608+0 records in
8388608+0 records out
68719476736 bytes (69 GB) copied, 888.398 seconds, 77.4 MB/s
real   14m48.743s
user   0m3.678s
sys    2m47.158s
#因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

读写测试
# time dd if=/dev/sda2 f=/opt/iotest bs=8k count=8388608
8388608+0 records in
8388608+0 records out
68719476736 bytes (69 GB) copied, 1869.89 seconds, 36.8 MB/s
real   31m10.343s
user   0m2.613s
sys    3m25.548s

这几天又破费钱了,买了个7200转的笔记本硬盘想着提升性能

   其实我这边硬盘够用,一个1T的移动硬盘也装不完,但是笔记本总觉得硬盘太慢就老想着升级成7200转的笔记本盘,今天终于如愿收到物品,买了个三星500G,7200转的,也安装在电脑上用了。

不过这系统搞乎了好久,好像笔记本的光驱已经坏了,后来有换U盘安装,也不行,最后只能在PE下盘对盘对拷,还好小到大能考进去,120多G,一个是接USB移动硬盘的,考了3、4个小时,真汗。。。。。

晚上终于安装启动,发现效果比以前是要好很多,不知道是不是新的缘故,测了几次速最好的平均读取有100M/S,突发180M/S多,比以前的是要好点,用起来速度感觉也好很多。

但是明显盘的转动震动感变大了很多,但是也无所谓了,就将就着用吧。呵呵

IDE、SATA与SATA II的优缺点

现在的技术发展实在太快,很多人还没弄清SATA到底有什么好,SATA II又来了。在传统的IDE、潮流的SATA与前卫的SATA II硬盘之间,到底有着什么样的区别?几种不同的硬盘各自价格等方面又是怎么样?相信很多朋友都想知道。
  在深入了解新标准之前,有必要回顾一下原有的技术。长期以来,硬盘技术的进步,都着重于传输速度和容量两个方面。基本上认识电脑以来,大家就一直在使用Ultra ATA。这种延用已久的接口技术,有好些方面都显得过时而需要改进了:

  大家都知道,数据线太粗,安装不方便,严重影响机箱内空气流通,不利于机箱散热,是传统IDE接口即Ultra ATA硬盘的至命缺点。不过,IDE硬盘还有很多其它方面的局限性,大概就不是很多人都清楚了。

主从盘相互影响

  普遍情况下,一块主板只有两个IDE接口,每个接口可以挂两个IDE设备。但同一个接口的两个设备是共用带宽的,对速度的影响非常大。所以稍有常识的人,都会把硬盘和光驱分开两条IDE线连接到主板上

  这样,IDE有个很大的问题,就是虽然一块主板可以连接4个设备,但事实上只要超过两个,速度就大大下降。

  更大的问题是,同一条线上两个设备要严格按主/从设置才能正常运行。象图中这种西数WD400 JB,主硬盘还有两种不同设置,一条IDE线只接这块硬盘的时候按右边的设置,带从盘的时候则要按中间的设置方式。据亲身经验,如果没带从盘而按中间的方式设了,会出现五花八门百思不得其解的问题——有时可以启动,有时报告找不到硬盘,有时启动过程中报告硬盘错误之类——每次启动可能出现不同的问题。

不支持热拔插

  并行ATA在支持设备热插拔方面能力有限,这一点对服务器方面的应用非常重要。因为服务器通常采用RAID的方式,任何一块硬盘坏了都可以热拔插更换,而不影响数据的完整性,确保服务器任何情况下都正常开着。具有热插拔支持功能的SCSI和光纤通道占据了企业级应用的几乎全部市场,并行ATA空有价格优势而不能获得一席之地,主要原因就是它不支持热拔插。

不够完善的错误检验技术

  Ultra DMA引入了基于CRC的数据包出错检测,该技术是ATA-3标准的组成部分。但是,没有任何一种并行ATA标准提供命令和状态包的出错检测。尽管命令和状态包出错的范围和几率都小,但它们出错的可能性也不容忽略。

使用过时的5伏电压

  处理器核心从几个方面要求向低电压过渡。较低电压允许更快的信号陡变,这对提高速度、降低热耗至关重要。现在的CPU核心电压基本上都小于2伏,为保持与系统主板上其它芯片的互操作性,通常使用3.3伏的外部电压分离出来,5伏电压成为过时的标准。虽然大部分目前的 ATA/ATAPI-6标准为并行ATA设备指定的直流电压供应为3.3V (± 8%),但一些模式的接收器大于4伏,所以要使用过时的5伏电压。

接口速度的可升级性差

  另外,Ultra ATA是受并行总线特性的限制,带宽容易受到限制,经过多次升级,目前最高传输率也只是133M字节/秒。

SATA比IDE优越在哪些地方?

  SATA不再使用过时的并行总线接口,转用串行总线,整个风格完全改变。

  SATA与原来的IDE相比有很多优越性,最明显的就是数据线从80 pin变成了7 pin,而且IDE线的长度不能超过0.4米,而SATA线可以长达1米,安装更方便,利于机箱散热。除此之外,它还有很多优点:

一对一连接,没有主从盘的烦恼

  每个设备都直接与主板相连,独享150M字节/秒带宽,设备间的速度不会互相影响。

支持热拔插

  热拔插对于普通家庭用户来说可能作用不大,但对于服务器却是至关重要。事实上,SATA在低端服务器应用上取得的成功,远比在普通家庭应用中的影响力大。

数据传输更加可靠

  SATA提高了错误检查的能力,除了对CRC对数据检错之外,还会对命令和状态包进行检错,因此和并行ATA相比提高了接入的整体精确度,使串行ATA在企业RAID和外部存储应用中具有更大的吸引力。

低电压信号

  SATA的信号电压最高只有0.5伏,低电压一方面能更好地适应新平台强调3.3伏的电源趋势,另一方面有利于速度的提高。

带宽升级潜力大

  SATA不依赖于系统总线的带宽,而是内置时钟。刚推出的这一代SATA内置1500MHz时钟,可以达到150M字节/秒的接口带宽。由于不再依赖系统总线频率,每一代SATA升级带宽的增加都是成倍的:下一代300M字节/秒,再下一代可以达到600M字节/秒

SATA仍然存在的几点不足

  在国内,现在买IDE的人恐怕比买SATA的人多很多。主要有三个方面的原因:

  首先,SATA的诸多先进性总体上对个人电脑用户意义不是太大,它最大的意义的反而是适应了入门级企业应用的需要。

  其次,nForce4、915之前的那些主板使用SATA硬盘,在安装操作系统的时候需要用到软盘,就象SCSI硬盘那样,增添了用户的麻烦。

  另外,国内用户的电脑配置相对落后,很多人都是旧电脑升级大容量硬盘,稍老点的主板还不支持SATA硬盘。

  所以,SATA最大的成功在于吸引了很多低端入门级服务器的用户。但在企业级应用方面,它又仍然在很多方面有待改进:

单线程的机械底盘

  SATA毕竟只是ATA,它的机械底盘是为8×5线程设计的,而SCSI的机械底盘是24×7多线程设计,能更好地满足服务器多任务的需要。所以SATA虽然在单任务的测试中不比SCSI差,但面对大数据吞吐量的服务器,还是有差距的。除了速度之外,面对多任务数据读取,硬盘磁头频繁地来回摆动,使硬盘过热是SATA最大的问题。

形同虚设的热拔插功能

  在实际应用中,RAID硬盘阵列是由多个硬盘组成的,必须知道具体哪一块硬盘坏了,热拔插更换才有意义。SATA硬盘虽然可以热拔插,但SATA组成的阵列在某块硬盘损坏的时候,不能象SCSI、FC和SAS那样,具有SAF-TE机制用指示灯显示,知道具体坏的是哪一块,热拔插替换的时候,如果取下的是好硬盘,就容易使数据出错。所以在实际应用中,SATA的热拔插功能有点形同虚设的味道。

速度慢

  SATA相对于SCSI和FC速度慢,主要原因是机械底盘不同,不适应服务器应用程序大量非线性的读取请求。所以SATA硬盘用来做视频下载服务器还不错,用在网上交易平台则力不从心。

  SATA 1.0控制器的传输速度效率不高,虽然标称具有150MB/s的峰值速度,事实上最快的SATA硬盘速度也只有60MB/s。

整个解决方案价格不

  虽然SATA硬盘相对于SCSI硬盘来说很便宜,但整个的SATA方案并不便宜。主要原因是SATA 1.0控制器的每个接口只能连接一个硬盘,8个硬盘组成的阵列需要8个接口,把每个接口300多元的花费算进去,就不便宜了。

SATA II与准SATA II

  很多人到现在都还不是太清楚SATA与Ultra ATA相比有什么区别与好处,这也难怪。因为连Intel刚推出SATA的时候,也没想到这个为个人用户而改进的方案,结果会在入门级服务器和工作站等企业应用的前前景更为广大——也正因为这样,2004年才专门成立了SATA IO(SATA国际组织)。

  前面那么多介绍,是结合现实情况与SATA官方白皮书整理的,从中已经可以发现,说到SATA优缺点,更多的是从企业应用而不是个人与家庭应用的角度考虑的。

  现在经常听到“NCQ硬盘”和“SATA II硬盘”这两个名词,它们是SATA向下一代——SATA II发展的两个不同阶段的产品:

  第一阶段是在SATA的基础上加入NCQ原生指令排序、存储设备管理(Enclosure Management)、底板互连、数据分散/集中这四项新特性。

  第二阶段是在第一阶段的基出上作进一步改进,加入了双宿主主动式故障替换、与多个硬盘高效连接、3.0Gb(即300MB/s)接口带宽等特性。

“NCQ硬盘”的改进:不仅仅是NCQ这么简单

  由于SATA II的第一阶段几项改进中,NCQ原生指令排序技术对个人用户意义比较大,所以也只有这一项技术比较多人了解。其实SATA II第一阶段加入的技术包括如下几项:

NCQ原生指令排序

  Native command queuing:什么是NCQ呢?这是SCSI早就使用的一种技术,只是最近才应用于SATA硬盘。

  传统台式机硬盘都用线性形式处理请求,这种方式潜在很不好的方面,要理解其中原理,必须对硬盘物理结构有个基本了解。硬盘里面是圆盘状的,很象CD光盘。每一个圆盘由许多同心圆划分为一条条磁道,磁道又分出扇区。每个圆盘由一个或多个磁头负责读取。如果数据分布在同一磁道,寻找数据的速度是最快的。在不同磁道之间移动则消耗很多时间。假设要读取三块数据,其中一块在圆盘最外边的磁道上,一块在圆盘最里面的磁道上,还有一块在圆盘最外边的磁道上。传统的硬盘,会依次先读取圆盘最外面的数据,然后读取最里面的数据,最后再回头读取最外面的数据。这样一来,磁头移来移动消耗的寻道时间多,效率就低了。如果把磁头移动减到最少,寻道时间就会相应减少。这就是NCQ的目的所在——NCQ可以重新编排指令,不让磁头从外移到内再移到外,而是在移向圆盘内圈之前就读取外圈的两块数据。

  现在大家应该明白了,CPU的速度对硬盘性能影响微乎其微,但NCQ技术则可以明显改善硬盘性能,特别是对前面提到的SATA多线程性能差、容易磁头频繁来回摆动、硬盘容易过热这些方面有很大改善。

机架管理(Enclosure Management)

  前面提到SATA的热拔插技术,由于阵列中有一块硬盘出现故障的时候,不知道具体坏的是哪一块而形同虚设。SATA II第一阶段即拥有NCQ技术的SATA硬盘,加入了机架管理技术,正是用来解决这一问题的。

背板互连(Backplane Interconnect)

  SATA用于数据发送的导线数量很小,因而出现了为外部RAID使用而部署的底板。

  该底板是一块物理线路板,通常集成到机架的后面板上,上面嵌入了通过刻在线路板上的导线连接到中心控制器插件的多个设备接头。值得注意的是,中心控制器与主机的接口可以按任意一种协议来设计,可以是SCSI、光纤通道或iSCSI。底板的使用可使设备咬住接头并紧密结合。

  当然,受到FR4材质信号衰减的限制,中心控制器和SATA设备接头之间蚀刻线路的最大长度必须限制在18英寸以内。虽然这种限制表面上局限了底板端子和SATA机架的设计,而事实上,标准机架为19英寸宽,因此,在一个1U到3U的机架内,为SATA而蚀刻的最大导线长度足以从一个位置适中的中心控制器连接到所有设备接头。

SATA II不等于300MB/s

  首先,是接口带宽从原来的150MB/s扩展到了300MB/s。但SATA II不能与300MB/s划等号,因为它包含了SATA II第一阶段的NCQ等技术,以及更多的其它技术:
其次,SATA II可以通过Port Multiplier,让每一个SATA接口可以连接4-8个硬盘,即主板有4个SATA接口,可以连接最多32个硬盘。
  另外,还有一个非常有趣的技术,叫Dual host active fail over。它可以通过Port Selector接口选择器,让两台主机同时接一个硬盘。这样,当一台主机出现故障的时候,另一台备用机可以接管尚为完好的硬盘阵列和数据,这就确保服务器不管在某块硬盘损坏,或是某坏CPU之类的其它配件损坏的情况下,仍能正常运作。

结语:给个人电脑用户的特别提示

  最后,相信大家对IDE、SATA、NCQ、SATA II已经有了比较整体的认识。或许很多关于服务器方面的技术还不太明白,其实这没关系,最重要的是获得这样一个概念:SATA、SATA II的改进,大多数不是为个人电脑用户而设的。

  SATA对个人电脑用户真正有意义的地方,也就是让机箱散热更加良好。但与此同时,如果你的主板不支持SATA II,在获得这样一个好处的同时,安装windows操作系统会比较麻烦——需要插入SATA的驱动软盘。所以IDE用户千万别以为SATA更先进,改用更先进的SATA硬盘会有多大的性能提升。

  使用支持NCQ技术的硬盘,对喜欢同时运行很多个程序的用户可能会有速度上的改进,而且由于磁头比较少来回摆动,硬盘会比较长寿,温度也会比较低。但前面没有提到的一个必要前提是,必须主板和硬盘都支持NCQ技术才起作用。

  至于SATA II,唯一对个人电脑用户有意义的就是300MB/s的带宽——当然,SATA II全都是支持NCQ的。不过千万别指望带宽比原来增加了一倍,就可以获得接近于SATA两倍的速度,因为目前硬盘的速度主要是受硬盘内部数据传输率的限制,而不在于接口带宽,接口带宽的增加对个人用户带来的速度改善,是微乎其微的。同样,SATA II的好处——支持NCQ和300MB/s的带宽,必须要主板支持,在只支持SATA I的主板上使用SATA II硬盘,就连“微乎其微”的改善也不会有。

  总体来说,SATA、NCQ以至完整的SATA II,对一般个人电脑用户的意义不是非常大,它们最大的意义在于为企业应用提供了SCSI、FC之外的廉价存储解决方案——当然如果几种硬盘的价格相差很小的话,尽可能选最先进的SATA II是没错的。如果担心新技术会不成熟存在某些未知缺陷,继续选择SATA I硬盘甚至是IDE硬盘,也是相当不错的方案。

USB-ZIP+与USB-HDD+的区别

 随着大容量U盘的普及,人们越来越期望用U盘代替光盘来实现操作系统安装、电脑维护等工作。目前主要的启动方式有USB-HDD,USB-ZIP和USB-CDROM等三种,前两种方式一般可以用HP U盘格式化工具、USBoot、FlashBoot等通用工具制作,USB-CDROM方式则需要U盘芯片(包括主控、闪存等)对应的专用“量产工具”(PDT)来实现。从大量网友的实践经验看,这几种方式均有一定的局限性,比如USB-HDD/USB-ZIP互不兼容,而有些电脑的BIOS往往仅支持其中的一种,从而导致无法启动;而U盘对应的量产工具一般很难找到,找到了也不容易成功,还可能导致硬件损坏,量产成功后想再还原成U盘也比较困难。制作高兼容性启动U盘有没有其他选择呢?答案是肯定的,这就是U+ 启动技术。

USB-HDD  
硬盘仿真模式,DOS启动后显示C:盘,HP U盘格式化工具制作的U盘即采用此启动模式。此模式兼容性很高,但对于一些只支持USB-ZIP模式的电脑则无法启动。

USB-HDD+  
增强的USB-HDD模式,DOS启动后显示C:盘,兼容性高于USB-HDD模式。但对仅支持USB-ZIP的电脑无法启动。

USB-ZIP 
USB-ZIP(大软盘模式): 启动后U盘的盘符是A;
USB-ZIP大容量软盘仿真模式,此模式在一些比较老的电脑上是唯一可选的模式,但对大部分新电脑来说兼容性不好,特别是2GB以上的大容量U盘。FlashBoot制作的USB-ZIP启动U盘即采用此模式。
USB-ZIP+增强的USB-ZIP模式,在DOS启动后显示A:盘,有些显示C:盘(根据电脑的BIOS支持情况不同),支持USB-ZIP/USB-HDD双模式启动,从而达到很高的兼容性。其缺点在于有些支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致大容量U盘的兼容性有所降低。

USB-ZIP+
增强的USB-ZIP模式,支持USB-HDD/USB-ZIP双模式启动(根据电脑的不同,有些BIOS在DOS启动后可能显示C:盘,有些BIOS在DOS启动后可能显示A:盘),从而达到很高的兼容性。其缺点在于有些支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致4GB以上大容量U盘的兼容性有所降低。

AHCI介绍

IDE:早期硬盘接口,IDE模式是将SATA硬盘映射成IDE模式,这样在使用SATA硬盘安装系统的时就不需要安装SATA硬盘驱动了
RAID:多块硬盘,具体参照网上其它文章
AHCI:AHCI模式则与IDE模式相反,安装系统时需要安装SATA驱动,而且只有这个模式才能打开NCQ功能

AHCI (Advanced Host Controller Interface 高级主机控制器接口),是一种允许软件与SATA储存设备沟通的硬件机制,可让SATA

储存设备启用高级SATA功能,例如原生指令序列及热插拔。ACHI详细定义了一个内存架构规范给予硬件制造商,规范如何在系统内

存与SATA储存设备间传输资料,目前(2007年7月)最新AHCI规范为1.2版。

许多SATA设备控制器可个别启用AHCI功能或与RAID功能合并使用,英代尔就建议如果在其支援AHCI芯片组上使用RAID功能,采取

AHCI模式组建RAID可以获得最大弹性,因为AHCI可在完成安装的操作系统中切换RAID组建模式。

Windows Vista核心已完全支援AHCI,Linux从系统核心2.6.19版起支援,其他较旧操作系统则需要相关硬件制造商提供驱动程式才

可以支援。

硬盘监控,硬盘信息检查软件

该软件对硬盘信息已经很全了,一个软件就够用。

我用微点,提示有可疑动作,不过该软件基本没事。主要是他运行要获取系统相关信息。

2.jpg  大小: 64.81 K 尺寸: 500 x 405 浏览: 141 次 点击打开新窗口浏览全图

hdtunepro

硬盘大小计算方法

     很多人在硬盘买来之后看到都小于实际硬盘的大小都以为被JS给载了,到处说为什么我买的硬盘是比如160G的,怎么才140几G?这种情况确实很多存在,其实这事硬盘生产厂家是安装1G=1000m来计算的,但是实际上是1G=1024M,所以实际大小肯定要比硬盘所标的小,硬盘越大相差的损失的也就越大。

可以一个简单的计算公式进行计算

比如一个160G硬盘的实际大小计算

160G÷1.024÷1.024÷1.024=149.0116119384765625

想去硬盘、键盘、笔记本

    感觉自己电脑的80G 的硬盘越来越小了,现在东西都放不下。很多网站的内容都没有备份还放在服务器上,想去买个硬盘过来,做备份用。放放电影放放软件等东西。
不过今天去具体网站上看了下160G的都要四百多。不知道要不要买的。钱啊,这年头赚赚不容易,花花可真是那个快。硬盘买了,都想买个键盘,键盘是配机的时候买的,已经用了好几年了,电脑也老了。感觉键盘按起来真硬,也想更新换代了。。。
    这些东西都比较小,价钱不是很多,但是我感觉电脑都老爷了,而且这么大个搬来搬去真的麻烦,想在过年的时候买个笔记本。天哪,那可要好多钱啊。。。

硬盘 RAID0、 1~~~RAID5 介绍

硬盘镜像(RAID 0)

硬盘分段的方法把数据写到多个硬盘,而不是只写到一个盘上,这也叫作RAID O,在磁盘阵列子系统中,数据按系统规定的“段”(Segment)为单位依次写入多个硬盘,例如数据段1写入硬盘0,段2写入硬盘1,段3写入硬盘2等等。当数据写完最后一个硬盘时,它就重新从盘0的下一可用段开始写入,写数据的全过程按此重复直至数据写完。

           段由块组成,而块又由字节组成。因此,当段的大小为4个块,而块又由256个字节组成时,依字节大小计算,段的大小等于1024个字节。第1~1024字节写入盘0,第1025~2048字节写盘1等。假如我们的硬盘子系统有5个硬盘,我们要写20,000个字节.

总之,由于硬盘分段的方法,是把数据立即写入(读出)多个硬盘,因此它的速度比较快。实际上,数据的传输是顺序的,但多个读(或写)操作则可以相互重迭进行。这就是说,正当段1在写入驱动器0时,段2写入驱动器1的操作也开始了;而当段2尚在写盘驱动器1时,段3数据已送驱动器2;如此类推,在同一时刻有几个盘(即使不是所有的盘)在同时写数据。因为数据送入盘驱动器的速度要远大于写入物理盘的速度。因此只要根据这个特点编制出控制软件,就能实现上述数据同时写盘的操作。

           遗憾的是RAID 0不是提供冗余的数据,这是非常危险的。因为必须保证整个硬盘子系统都正常工作,计算器才能正常工作,例如,假使一个文件的段1(在驱动器0),段2(在驱动器1),段3(在驱动器2),则只要驱动器0, 1, 2中有一个产生故障,就会引起问题;如果驱动器1故障,则我们只能从驱动器物理地取得段1和段3的数据。幸运的是可以找到一个解决办法,这就是硬盘分段和数据冗余。

硬盘镜像(RAID 1)

           硬盘镜像(RAID 1)是容错磁盘阵列技术最传统的一种形式,在工业界中相对地最被了解,它最重要的优点是百分之百的数据冗余。RAID 0通过简单地将一个盘上的所有数据拷贝到第二个盘上(或等价的存储设备上)来实现数据冗余,这种方法虽然简单且实现起来相对较容易,但它的缺点是要比单个无冗余硬盘贵一倍,因为必须购买另一个硬盘用作第一个硬盘的镜像。

硬盘镜像最简单的形式,是通过把二个硬盘连结在一个控制器上来实现的。图4说明了硬盘镜像。数据写在某一硬盘上时,它同时被写在相应的镜像盘上。当一个盘驱动器发生故障,计算器系统仍能正常工作,因为它可以在剩下的那块好盘上操作数据。

           因为二个盘互为镜像,哪个盘出故障都无关紧要,二是盘在任何时间都包含相同的数据,任何一个都可以当作工作盘。在硬盘镜像这个简单的RAID方式中,仍能采用一些优化速度的方法,例如平衡读请求负荷。当多个用户同时请求得到数据时,可以将读数据的请示分散到二个硬盘中去,使读负荷平均地分布在二个硬盘上。这种方法可观地提高了读数据的性能,因为二个硬盘在同一时刻读取不同的数据片。但是硬盘镜像不能改善写数据的性能。被“镜像”的硬盘也可被镜像到其它存储设备上,例如可擦写光盘驱动器,虽然以光盘作镜像盘没有用硬盘的速度快,但这种方法比没有使用镜像盘毕竟减少了丢失数据的危险性。

           总之,镜像系统容错性能非常好,并可以提高读数据的速度;它的缺点是需要双份硬盘,因此价格较高。

硬盘分段和数据冗余(RAID2~5)

           硬盘分段改善了硬盘子系统的性能,因为向硬盘读写数据的速度与硬盘子系统中硬盘数目成正比地增加,但它的缺点是硬盘子系统中任一硬盘的故障都会导致整个计算器系统失败。整个分段的硬盘子系统部能作镜像,如果已经用了4个硬盘进行分段,我们可以再增加4个分段的硬盘作为原来4个硬盘的镜像。很明显这是昂贵的(虽然可能比镜像一个昂贵的大硬盘来得便宜)。可以不用镜像而用其它数据冗余的方法来提供高容错性能。可以选择一神奇偶码模式来实现上述方法,可以外加一个专作奇偶校验用的硬盘(如在RAID 3中),或者可把奇偶校验数据分散分布在磁盘阵列的全部硬盘中。

不管用何种级别的RAID,磁盘阵列总是用异或(XOR)操作来产生奇偶数据,当子系统中有一个硬盘发生故障时,也是用异或操作重建数据。下列简单分析了XOR是怎样工作的。

           硬盘 A B C 奇偶盘 (A, B, C 异或的结果)
数据 1 0 1 0

           首先记住在XOR操作中,2个数异或的结果是真(即“1”)时,这二个数中有且一个数为1(另一个为0)。我们假设A, B, C中B盘故障,此时可将A, C和奇偶数据XOR起来,得到B盘失去的数据0;同样如C盘故障,我们可将A, B盘和奇偶盘的数据XOR,得到C盘原先的数据1。

           如果推广到7个盘的硬盘子系统:

           硬盘 A B C D E F 奇偶位
数据 0 0 0 1 0 1 0

           如果丢失B盘数据,我们可以XOR A, C, D, E, F和奇偶位来得到失去的B盘数据0。而XOR A, B, C, D, E, F和奇偶位可恢复D盘的数据1。

           采用专用的奇偶校验盘(如上所述,即RAID 3),当同时产生多个写操作时,每次操作都要对奇偶盘进行写入。这将产生I/O瓶颈效应。

           RAID 5把奇偶位信息分散分布在硬盘子系统的所有硬盘上(而不是使用专用的校验盘0,这就改善了上述RAID 3中的奇偶盘瓶颈效应。图5说明了RAID 5的一种配置,图中奇偶信息散布在子系统的每个硬盘上。利用每个硬盘的一部分来组成校验盘,写入硬盘的奇偶位信息将较均匀地分布在所有硬盘上。所以某个用户可能把它的一个数据段写在硬盘A,而将奇偶信息写在硬盘B,第二个用户可能把数据写在硬盘C,而奇偶信息写在硬盘D。从这里也可看出RAID 5的性能会得到提高。

           这种方法将提高硬盘子系统的事务处理速度。所谓事务处理,是指处理从许多不同用户来的多个硬盘I/O操作,由于可能同时有很多用户与硬盘打交道,迅速向硬盘写入数据,有时几乎是同时进行的,这种情况下,用分布式奇偶盘的方式比起用专用奇偶盘,瓶颈效应发生的可能性要小。

           对硬盘操作来说,RAID 5的写性能比不上直接硬盘分段(指没有校验信息的RAID 0)。因为产生或存储奇偶码需要一些额外操作。例如,在修改一个硬盘上的数据时,其它盘上对应段的数据(即使是无关的数据)也要读入主机,以便产生必要的奇偶信息。奇偶段产生后(这要花一些时间)