存储技术简介

磁盘阵列简介
什么是磁盘阵列
磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。
冗余磁盘阵列RAID(Redundant Array of Independent Disks)技术1987年由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用(当时RAID称为Redundant Array of Inexpensive Disks 廉价的磁盘阵列),同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。

磁盘阵列的工作原理与特征
RAID的基本结构特征就是组合(Striping),捆绑2个或多个物理磁盘成组,形成一个单独的逻辑盘。组合套(Striping Set)是指将物理磁盘组捆绑在一块儿。在利用多个磁盘驱动器时,组合能够提供比单个物理磁盘驱动器更好的性能提升。
数据是以块(Chunks)的形式写入组合套中的,块的尺寸是一个固定的值,在捆绑过程实施前就已选定。块尺寸和平均I/O需求的尺寸之间的关系决定了组合套的特性。总的来说,选择块尺寸的目的是为了最大程度地提高性能,以适应不同特点的计算环境应用。
实际的计算环境依据其不同的特点,可被划分为转换速率密集(Transfer Rate Intensive)环境或需求速率密集(Request Rate Intensive),
一个计算环境若通常服务于小的用户数量和大的I/O需求,可以被认为是转换速率密集环境,工程学和科学应用属于转换速率密集,例如CAM/CAD、图象处理和数据集合等。
一个计算环境,如果它是自然存在的多用户或在线交易系统(OLTP),可以被认为是一个标准的需求速率密集, 交互式的数据库应用能产生大量的小的I/O需求,由这些应用产生的I/O负荷可被称为需求速率密集。具备独立驱动器操作功能的组合套可提供对于需求速率密集环境来说高的性能。
对于转换速率密集,I/O需求的尺寸比块尺寸大得多,这样可导致每一个I/O需求分布于所有驱动器,数据由组合套转换的速率可以增加,因为所有的驱动器可并行地传输数据,这样,组合套就象一个单磁盘一样有非常高的容许速度。
需求速率密集中I/O需求尺寸比块尺寸小很多,这将导致每一个I/O需求落于一个单个的驱动器中,        在这种情况下,由于有数个驱动器,阵列可同时处理数个需求,或者说比单磁盘快数倍。



一个单磁盘某一时刻只能满足一个处理业务,一个转换速率密集应用的阵列某一时刻虽也满足一个处理业务,但能比单磁盘转换数据速度快X倍(X是磁盘数),一个需求速率密集应用的阵列可满足的需求为单一磁盘的X倍,而其转换数据的速率与单磁盘相同。
RAID的另一特征是具备数据校验(Parity)功能,校验可被描述为用于RAID级别2,3,4,5的额外的信息,当磁盘失效的情况发生时,校验功能结合完好磁盘中的数据,可以重建失效磁盘上的数据。对于RAID系统来说,在任何有害条件下绝对保持数据的完整性(Data Integrity)是最基本的要求。数据完整性指的是阵列面对磁盘失效时保持数据不丢失的能力,由于数据的破坏通常会带来灾难性的后果,所以选择RAID阵列的基础条件是它能提供什么级别的数据完整性。
此外,数据可用性(Data Availability)也是RAID系统的指标之一,数据可用性指的是阵列内部容错能力的水平,数据可用性程度越高,可被理解为当发生越多的部件失效时而数据访问仍不丢失。一个RAID阵列能提供的高可用性级别范围可从简单的磁盘冗余到所有部件的冗余性。当选择一个阵列时,重要的是了解所选的设备是否能够满足期望的可使用时间目标。
RAID阵列能够适应不同环境,在不同类型的主机之间以及操作系统之间移动一个RAID阵列的能力越高,一般说来,可带来更好的投资保护。

磁盘阵列优点
磁盘阵列有许多优点:首先,提高了存储容量;其次,多台磁盘驱动器可并行工作,提高了数据传输率;第三,由于有校验技术,提高了可靠性:如果阵列中有一台硬磁盘损坏,利用其它盘可以重新恢复出损坏盘上原来的数据,而不影响系统的正常工作,并可以在带电状态下更换已损坏的硬盘(即热插拔功能),阵列控制器会自动把重组数据写入新盘,或写入热备份盘而将新盘用做新的热备份盘;另外磁盘阵列通常配有冗余设备,如电源和风扇,以保证磁盘阵列的散热和系统的可靠性。因其独特的特征和可靠的性能被广泛地应用于多个行业,如:ISP、医学影像、银行等在线处理业务部门、影像服务器、6石油工业、关键部门的数据中心、多媒体和数据库应用等。
对于磁盘失效的保护通过RAID技术已经成功地实现,但RAID阵列降低数据存储费用的目的没有达到,实际上,RAID阵列的价格通常比标准的磁盘驱动器更高一些。
尽管如此,RAID技术确实提供了比通常的磁盘存储更高的性能指标、数据完整性和数据可用性,尤其是在当今面临的I/O总是滞后于CPU性能的瓶颈问题越来越突出的情况下,RAID解决方案能够有效地弥补这个缺口。



接口技术简介
1.IDE即Integrated Drive Electronics,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,我们常说的IDE接口,也叫ATA(Advanced Technology Attachment)接口,现在PC机使用的硬盘大多数都是IDE兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。
IDE接口是由Western Digital与COMPAQ Computer两家公司所共同发展出来的接口。因为技术不断改进,新一代Enhanced IDE(加强型IDE,简称为EIDE)最高传输速度可高达100MB/秒(Ultra ATA/100)。
IDE接口有两大优点:易于使用与价格低廉,问世后成为最为普及的磁盘接口。但是随着CPU速度的增快以及应用软件与环境的日趋复杂,IDE的缺点也开始慢慢显现出来。Enhanced IDE就是Western Digital公司针对传统IDE接口的缺点加以改进之后所推出的新接口。Enhanced IDE使用扩充CHS(Cylinder-Head-Sector)或LBA(Logical Block Addressing)寻址的方式,突破528MB的容量限制,可以顺利地使使用容量达到数十GB等级的IDE硬盘。
在PC中,I/O设备,如硬盘驱动,不是直接与系统中央总线连接的(AT总线在AT系统,或PCI总线在之后的系统)。而I/O设备与接口芯片相连,而接口芯片与系统总线连接。
接口芯片组成了I/O设备与系统总线的桥,在系统总线协议(PCI或AT)与I/O设备协议(如IDE或SCSI)之间进行翻译。这使I/O设备可以独立于系统总线协议。
IDE接口优点:
<>; 价格低廉
<>; 兼容性非常好

2.SCSI直译为小型计算机系统专用接口(Small Computer System Interface)是一种连结主机和外围设备的接口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备。它由SCSI控制器进行数据操作,SCSI控制器相当于一块小型CPU,有自己的命令集和缓存。要了解SCSI,必须先了解它的类型,以下是STA(SCSI Trade Association,SCSI同业公会)的标准分类。





STA术语        最大总线速度MB/秒        总线宽度单位:bit        最大总线长度单位(米)        最大支持设备设备数目
                        单终结        LVD        HVD       

SCSI–1        5        8        6        -        25        8
Fast SCSI        10        8        3        -        25        8
Fast Wide SCSI        20        16        3        -        25        16
Ultra SCSI        20        8        1.5        -        25        8
Ultra SCSI        20        8        3        -        -        4
Wide Ultra SCSI        40        16        -        -        25        16
Wide Ultra SCSI        40        16        1.5        -        -        8
Wide Ultra SCSI        40        16        3        -        -        4
Ultra2 SCSI        40        8        -        12        25        8
Wide Ultra2 SCSI        80        16        -        12        25        16
Ultra3 SCSI        160        16        -        12        -        16



SCSI接口优点:
<>; 适应面广,在一块SCSI控制卡上就可以同时挂接15个设备
<>; 高性能(具有很多任务、宽带宽及少CPU占用率等特点)
<>; 具有外置和内置两种




3. Fibre Channel(光纤通道)是一种跟SCSI或IDE有很大不同的接口,它很像以太网的转换开头。以前它是专为网络设计得,后来随着存储器对高带宽的需求,慢慢移植到现在的存储系统上来了。光纤通道通常用于连接一个SCSI RAID(或其它一些比较常用的RAID类型),以满足高端工作或服务器对高数据传输率的要求。
  光纤现在能提供100MBps的实际带宽,而它的理论极限值为1.06GBps。不过现在有一些公司开始推出2.12Gbps 的产品,它支持下一代的光纤通道(即Fibre Channel II)。不过为了能得到更高的数据传输率,市面的光纤产品有时是使用多光纤通道来达到更高的带宽。
  不像SCSI,光纤通道的配线非常柔韧。如果带有光纤光学电缆(Fiber Optic Cabling),它支持最长的长度超过了10公里,所以可以说SCSI在接口电缆长度的限制上跟光纤是没法比得,因为SCSI最长接口电缆不得超过12米。

Features        Fibre Channel        SCSI
Node to Node        100m        20m
Max. Optical Distance        10,000m        12m
Current Speed        200MB/s        168MB/s
Future Speed        400MB/s        320MB/s
Max.Connections        126(loop) 16million(sw)        15
Peripherals Supported        All        Limited types
Cost Compared to SCSI        Higher but decreasing        
Serial Connectivity        Yes        No
Protocol Supported        Universal        SCSI
ANSI Standard        Yes        Yes
Dual Ported Operation        Yes        No



光纤通道优点:
<>; 具有很好的升级性
<>; 可以用非常长的光纤电缆(带有Fiber Optic Cabling时,光纤长度可以超过10公里)
<>; 具有非常宽的带宽(现在一般的光纤都具有1.06GBps,而如果采用多光纤通道可以达到更宽的带宽)
<>; 具有很强的通用性




        RAID技术简介
RAID,是Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。作为高性能的存储系统,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,已经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等
RAID技术采用若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理。磁盘阵列有许多特点:首先,提高了存储容量;其次,多台磁盘驱动器可并行工作,提高了数据传输率;第三,由于有校验技术,提高了可靠性:如果阵列中有一台硬磁盘损坏,利用其它盘可以重新恢复出损坏盘上原来的数据,而不影响系统的正常工作,并可以在带电状态下更换已损坏的硬盘(即热插拔功能),阵列控制器会自动把重组数据写入新盘,或写入热备份盘而将新盘用做新的热备份盘;另外磁盘阵列通常配有冗余设备,如电源和风扇,以保证磁盘阵列的散热和系统的可靠性。

RAID类型
逻辑驱动器(logical drives):是一个简单的由独立的物理硬盘组成的队列







逻辑容量(logical volume):   
逻辑容量是由一个或多个逻辑驱动器组成,其成员逻辑驱动器可以是相同RAID集也可以是不同的RAID集



RAID的级别

RAID Level        Description         Minimum         Data Availability        Performance  Sequential         Performance  Random
NRAID        Non- RAID        1                Drive        Drive
RAID 0        Disk Striping         N         == NRAID        R:HighestW:Highest        R:HighW:Highest
RAID 1(0+1)        Mirroring PlusStriping(if N>;1)        N+1        >;>; NRAID== RAID5        R:HighW:Medium        R:MediumW:Low
RAID 3        Striping with Parity on dedicated disk        N+1        >;>; NRAID== RAID5        R:HighW:Medium        R:MediumW:Low
RAID 5        Striping with interspersed parity        N+1        >;>; NRAID== RAID5        R:HighW:Medium        R:HighW:Low

NRAID


硬盘连续使用








NRAID 意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID 不提供资料的备余。



JBOD
单个硬盘控制

JBOD       
最小需要的硬盘数        1
容量        1
备余        No






JBOD 的含意是控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此外,JBOD并不提供资料备余的功能。

RAID 0
亦称为带区集。可以把多块硬盘(至少2块)连接在一起而组成一个容量更大的存储设备。处理数据时把数据分块并且同时读写入组成RAID的磁盘,从而大大提高I/O速率。RAID0设计简单且实现成本较低,但RAID0没有冗余或错误修复能力,并且只要组成RAID的磁盘中有一块出现故障,整个RAID系统的数据将丢失,无法进行任何补救。RAID 0可以提供更多的可用空间和更好的性能,但是整个系统是非常不可靠的,所以,在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。










RAID 1
也称为磁盘镜像,至少需要2块硬盘。每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制到镜像盘中,并且系统可以从一组镜像盘中的任何一个磁盘读取数据。RAID 1下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要在任何一对镜像盘中有一块磁盘可以使用,系统便可以正常运行;当一块硬盘失效时,系统会忽略该硬盘,转而使用相应的镜像盘读写数据,RAID 1甚至可以在一半数量的硬盘出现问题时不间断地工作。在RAID 1下,我们所能使用的空间只是所有磁盘容量总和的一半,增加了系统的成本,是所有RAID上磁盘利用率最低的一个级别。
RAID 1
最少需要的硬盘数目        2
容量        N/2
备余        Yes









RAID 3
RAID 3使用一个专门的独立磁盘存放所有的校验数据,而在剩余的磁盘中以与RAID0相似的方式分割并读写数据,即可视为“RAID3=RAID0+校验盘”。虽然RAID 3具有容错能力,但整个系统会因校验而受到影响,当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立;当我们更换了损坏的磁盘之后,系统必须一个数据块一个数据块地重建坏盘中的数据:整个过程包括读取带区,计算丢失的数据块和向新盘写入新的数据块等;所以,重建活动最好是在RAID系统空闲的时候进行,否则整个系统的性能就会受到严重的影响;鉴于这种原因,RAID 3更加适用于那些写入操作较少,读取操作较多的应用环境,例如数据库和WEB服务器等。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。不过,如果校验盘(物理)损坏的话,则全部数据都无法使用,故为了解决这一缺陷,产生了RAID5技术。
RAID 3
最小需要的硬盘数        3
容量        N-1
备余        Yes









RAID 5
在运行机制上,RAID 5和RAID 3完全相同,也是由几个数据块共享一个校验块。RAID 5和RAID 3的最大区别在于RAID 5不是把所有的校验块集中保存在一个专门的校验盘中,而是分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能,并避免了像RAID3那样因校验盘损坏而导致系统失去容错能力的严重故障。硬盘的利用率为n-1。


RAID 5
Minimum Disks required        3
Capacity        N-1
Redundancy        Yes











RAID (0+1)
结合了RAID 0 和 RAID 1 – 条块化读写的同时使用镜像操作。 RAID (0+1) 允许多个硬盘损坏,因为它完全使用硬盘来实现资料备余。如果有超过两个硬盘做RAID 1,系统会自动实现RAID (0+1)。

RAID (0+1)
最少需要的硬盘数目        4
容量        N/2
备余        Yes