为什么需要磁盘阵列? 如何增加磁盘的存取(acces)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,一直是电脑专业人员和用户的困忧;而大容量磁盘的价 格非常昂贵,对用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。
过去十年来,CPU的处理速度几乎是几何级数的跃升,内存(memory)的 存取速度亦大幅增加,而数据储存装置——它要是磁盘(hard disk)——的存取 速度相较之下。较为缓慢。整个I/0吞吐量不能和系统匹配,形成电脑系统的瓶 颈,降低了电脑系统的整体性能(throughout)若不能有效的提升磁盘的存取速 度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。
目前改进磁盘存取速度的方式主要有两种。一是磁盘快取控制(disk cache controller),它将从磁盘读取的数据存在快取内存(cache memory)中以减少磁 盘存取的次数。数据的读写都在cache内存中进行,大幅增加存取的速度,如要读 取的数据不在cache内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方 式在单工期环境(Single—tasking envioronment)如DOS之下。对大量数据的 存取有很好的性能(量小且频繁的存取则不然)。但在多任务(multi—tasking)环 境之下(因为要不停的作数据交换(swapping)的动作)或数据库(database) 的存取(因每一记录都很小)就不能显示其性能。这种方式没有任何安全保障。
其一是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单 一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据 时,阵列中的相关磁盘一起动作:大幅减低数据的存取时间,同时有更佳的空间 利用率。磁盘阵列所利用的不同的技术,称为RAID level,不同的level针对不 同的系统及应用,以解决数据安全的问题。
一般高性能的磁盘阵列都足以硬件的形式来达成、进—步的把磁盘cache控制 及磁盘阵列结合在—个控制器(RAID controler)或控制卡个,针对个同的用户 解决人们对磁盘输出/入系统的四大要求:
(1)增加存取速度。
(2)容错(fault tolerance),即安全性。
(3)有效的利用磁盘空间。
(4)尽量的平衡CPU,内存及磁盘的性能并异,提高电脑的整体工作性能。
磁盘阵列原理
1987年,加州伯克利大学的一位人员发表了名为“磁盘阵列研究”的论文, 正式提到了RAID也就是滋盘阵列,论文提出廉价的5.25”及3.5”的硬盘也能如 大机器上的8”盘能提供人容量、高性能和数据的一致性,并详述了RAIDl至5 的技术。 磁盘阵列针对不同的应用使用的不同技术,称为RAID level,RAID是Redundant Array of Inexpenslve Disks的缩写,而每一level代表一种技术,目前 业界公认的标准是RAID0—RAID5。这个level并个代表技术的高低,level5并不高于level3,level1也个低于level4。字于要选样哪一种RAID level的产品,纯视用户的操作环境(Operating envir0nment)及应用(application)而定,与level 的高低没有必然的关系。RAID0没有安全的保障,仅其快速,所以适合高速I/0 的系统;RAIDl适用于需安全性又要兼顾速度的系统,RAID2及RAID3适用于 大型电脑及影像、CAD/CAM等处理;RAID5多用于0LTP,因有余融机构及 大型数据处理中心的迫切需要,故使用较多而较有名气,但也因此形成很多人对 磁盘阵列的误解,以为磁盘阵列非要RAID5不可;RAID4较少使用、和RAID5 有其共同之处,但RAID4适合大量数据的存取。其它如RAID6,RAID7。乃至 RAIDl0、50、100等,都是厂商各做各的,并无一致的标准,在此不作说明。