磁盘阵列技术白皮书
目 录
1.4.2.1 逻辑驱动器(logical drives):... 11
1.4.2.2 逻辑容量(logical volume): 11
1.4.3.1 DAS –direct access storage device 直接访问存储设备... 17
1.4.3.2 NAS --Network Attached Storage 网络附加存储设备... 17
1.4.4.3 SAN --Storage Area Networks 存储区域网... 17
磁盘阵列基本知识
1.1 磁盘阵列技术
1.1.1 什么是磁盘阵列
磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。
冗余磁盘阵列RAID(Redundant Array of Independent Disks)技术1987年由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用(当时RAID称为Redundant Array of Inexpensive Disks 廉价的磁盘阵列),同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。
1.1.2 磁盘阵列的工作原理与特征
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阵列的能力越高,一般说来,可带来更好的投资保护。
1.1.3 磁盘阵列优点
磁盘阵列有许多优点:首先,提高了存储容量;其次,多台磁盘驱动器可并行工作,提高了数据传输率;第三,由于有校验技术,提高了可靠性:如果阵列中有一台硬磁盘损坏,利用其它盘可以重新恢复出损坏盘上原来的数据,而不影响系统的正常工作,并可以在带电状态下更换已损坏的硬盘(即热插拔功能),阵列控制器会自动把重组数据写入新盘,或写入热备份盘而将新盘用做新的热备份盘;另外磁盘阵列通常配有冗余设备,如电源和风扇,以保证磁盘阵列的散热和系统的可靠性。因其独特的特征和可靠的性能被广泛地应用于多个行业,如:ISP、医学影像、银行等在线处理业务部门、影像服务器、石油工业、关键部门的数据中心、多媒体和数据库应用等。
对于磁盘失效的保护通过RAID技术已经成功地实现,但RAID阵列降低数据存储费用的目的没有达到,实际上,RAID阵列的价格通常比标准的磁盘驱动器更高一些。
尽管如此,RAID技术确实提供了比通常的磁盘存储更高的性能指标、数据完整性和数据可用性,尤其是在当今面临的I/O总是滞后于CPU性能的瓶颈问题越来越突出的情况下,RAID解决方案能够有效地弥补这个缺口。
1.2 SCSI技术
1.2.1 概述
SCSI直译为小型计算机系统专用接口(Small Computer System Interface)是一种连结主机和外围设备的接口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备。它由SCSI控制器进行数据操作,SCSI控制器相当于一块小型CPU,有自己的命令集和缓存。要了解SCSI,必须先了解它的类型,以下是STA(SCSI Trade Association,SCSI同业公会)的标准分类。
1.2.2 SCSI接口类型
SCSI连接器分为内置和外置两种,内置数据线的外型和IDE数据线一样,只是针数和规格稍有差别,主要用于连接光驱和硬盘。40针IDE线有40根导线,40针ATA66有80根导线,SCSI内置则分为50针、68针和80针。至于SCSI外置数据线,就有以多种规格,它们的密度均不相同,千万别弄错了。
1.2.3 SCSI ID
相信许多SCSI用户都有这种经历,插上设备之后,操作系统怎样也不认,后来检查总线,才发现是终结和ID没有设置好。ID(identify)作为SCSI设备在SCSI总线的唯一识别符,绝对不允许重复,可选范围从0到15,SCSI主控制器通常占用id 7,即是说我们可以用在设备上的ID号共有15个。
在SCSI总线中,控制器也算一个设备, 即实际最大可连接设备数目 = 理论最大支持设备数目-1。
1.2.4 总线终结器
总线终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作一个终结信号才能使用SCSI总线。常见的错误是把终结设置在ID号最高或最低的地方,而不是设置在物理终端的SCSI设备上。其实,SCSI设备总是以链形来连接的,按顺序就能分辨出哪一个是终结设备。
终结的方式有三种:自终结设备、物理总线终结器和自终结电缆。大多数新型SCSI设备都有自终结跳线,只要把非终结设备的自终结跳线设置成OFF即可避免冲突问题;物理总线终结器是一种硬件接头,又分为主动型和被动型两种,主动型使用电压调整器来进行操作,被动型利用总线上的能源信号来操作,被动型比主动型更为精确;自终结电缆可以代替物理总线终结器,也是一种硬件,它的价格非常昂贵,常用于两个主机连接同一个物理设备,如:两个服务器存取同一个物理SCSI硬盘。
通过检查SCSI ID和总线终结器,我们可以找出大多数冲突现象的解决方法,这是SCSI设备用户必须重视的一点。
1.2.5 SCSI规格公用的几个标准术语解释:
SCSI-1:它是最早SCSI,特点是:支持同步和异步SCSI外围设备,支持7台8位的外围设备,使用8位的通道宽度,传输速率为4MB/s,这现在通常是扫描仪在用的
SCSI-2:类似SCSI-1,但是可以支持同时连接7个装置,传输速率为 10-20MB/s,目前有CD-R、CD-ROM在使用。
Fast SCSI:8位的通道宽度,使用双倍的频率,传输速率为 10MB/s。
Wide SCSI:16位的通道宽度,传输速率为20MB/s。
ULTRA SCSI:8位的通道宽度,传输速率为20MB/s,其允许接口电缆的最大长度为 1.5米 。
Ultra Wide SCSI:16位的通道宽度,传输速率为40MB/s,其允许接口电缆的最大长度为 1.5米 。
ULTRA 2 SCSI:8位的通道宽度,其采用了LVD(Low Voltage Differential,低电平微分)传输模式,传输速率为40MB/s,允许接口电缆的最长为 12米 ,大大增加了设备的灵活性,支持同时挂接15个装置。
WIDE ULTRA 2 SCSI:它跟Ultra 2 SCSI差不多,也是采用LVD传输模式,允许最长接口电缆为 12米 ,可同时挂接15个装置,不同于Ultra 2 SCSI,它有16位的通道宽度,因此传输速度为80MB/s。
Ultra 160 SCSI:支持最高数据传输率为160MB/s。
Ultra320 SCSI:支持最高数据传输达到了320MB/s,是目前最新的SCSI接口类型。
Single Ended(单终结):许多旧式设备都是单终结设备,它们限制于 SCSI-1协议的 6米 长度。注意:此距离包括设备内部电缆的距离。
Differential(分差动):SCSI总线和设备可借助它来延长传输的距离,附加线的最大长度为 25米 。缺点是与单终结设备不兼容。
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 |
1.2.6 SCSI的优点与缺点
SCSI接口优点:
<> 适应面广,在一块SCSI控制卡上就可以同时挂接15个设备
<> 高性能(具有很多任务、宽带宽及少CPU占用率等特点)
<> 具有外置和内置两种
SCSI接口缺点:
<> 价格较IDE产品昂贵
<> 安装复杂
1.3 Fibre 技术
1.3.1 概述
光纤通道是一种跟SCSI或IDE有很大不同的接口,它很像以太网的转换开头。以前它是专为网络设计得,后来随着存储器对高带宽的需求,慢慢移植到现在的存储系统上来了。光纤通道通常用于连接一个SCSI RAID(或其它一些比较常用的RAID类型),以满足高端工作或服务器对高数据传输率的要求。
1.3.2 光纤的特点
光纤现在能提供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 | 160MB/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 |
1.3.3 光纤的优点与缺点
光纤通道优点:
<> 具有很好的升级性
<> 可以用非常长的光纤电缆(带有Fiber Optic Cabling时,光纤长度可以超过
10公里
)
<> 具有非常宽的带宽(现在一般的光纤都具有1.06GBps,而如果采用多光纤通道可以达到更宽的带宽)
<> 具有很强的通用性
光纤通道缺点:
<> 价格非常昂贵
<> 组建复杂
1.4 RAID技术
1.4.1 概述
RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。作为高性能的存储系统,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,已经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等
RAID技术采用若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理。磁盘阵列有许多特点:首先,提高了存储容量;其次,多台磁盘驱动器可并行工作,提高了数据传输率;第三,由于有校验技术,提高了可靠性:如果阵列中有一台硬磁盘损坏,利用其它盘可以重新恢复出损坏盘上原来的数据,而不影响系统的正常工作,并可以在带电状态下更换已损坏的硬盘(即热插拔功能),阵列控制器会自动把重组数据写入新盘,或写入热备份盘而将新盘用做新的热备份盘;另外磁盘阵列通常配有冗余设备,如电源和风扇,以保证磁盘阵列的散热和系统的可靠性。
1.4.2 RAID类型
1.4.2.1 逻辑驱动器(logical drives):
逻辑驱动器:是一个简单的由独立的物理硬盘组成的队列
1.4.2.2 逻辑容量(logical volume):
逻辑容量是由一个或多个逻辑驱动器组成,其成员逻辑驱动器可以是相同RAID集也可以是不同的RAID集
1.4.2.3 RAID的级别
RAID Level | Description | Minimum | Data Availability | Performance Sequential | Performance Random |
NRAID | Non- RAID | 1 |
| Drive | Drive |
RAID 0 | Disk Striping | N | == NRAID | R:Highest W:Highest | R:High W:Highest |
RAID 1(0+1) | Mirroring Plus Striping(if N>1) | N+1 | >> NRAID == RAID5 | R:High W:Medium | R:Medium W:Low |
RAID 3 | Striping with Parity on dedicated disk | N+1 | >> NRAID == RAID5 | R:High W:Medium | R:Medium W:Low |
RAID 5 | Striping with interspersed parity | N+1 | >> NRAID == RAID5 | R:High W:Medium | R:High W: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 和 RAID 1 – 条块化读写的同时使用镜像操作。 RAID (0+1) 允许多个硬盘损坏,因为它完全使用硬盘来实现资料备余。如果有超过两个硬盘做RAID 1,系统会自动实现RAID (0+1)。
RAID (0+1) | |
最少需要的硬盘数目 | 4 |
容量 | N/2 |
备余 | Yes |
Ø RAID 30
实施情况同Level 0数据条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高数据传输率的RAID 3配置的IT系统有益,但是它价格较贵。
RAID 0
RAID 3 RAID 3
Ø RAID 50
是建立在RAID0与RAID5基础上形成的,先用3块或更多的硬盘做成RAID5,然后将形成的低级阵列做RAID0
RAID 0
RAID 5 RAID 5
Ø 其他RAID类型
RAID 2是为大型机和超级计算机开发的。它可在工作不中断的情况下纠正数据,但是,RAID 2倾向于较高的数据校验和纠错率。
RAID 4包括较大的数据条,这样,就可以从任何驱动器读取记录。由于这种类型缺乏对多种同时写操作的支持,因而,几乎不使用。
RAID 6几乎没有进行商用。它使用一种分配在不同的驱动器上的第二种奇偶方案,它能承受多个驱动器同时出现故障,但是,性能——尤其是写操作却很差,而且,系统需要一个极为复杂的控制器。
RAID 7有一个实时嵌入操作系统用作控制器,一个高速总线用于缓存。它提供快速的I/O,但是价格昂贵。
1.4.3 RAID技术的应用
1.4.3.1 DAS –direct access storage device 直接访问存储设备
DAS是磁盘存储设备的术语,以前被用在大、中型机上。使用在PC机上还包括硬盘设备DAS的最新形式是RAID。“直接访问”指访问所有数据的时间是相同的。
1.4.3.2 NAS --Network Attached Storage 网络附加存储设备
一种特殊目的的服务器,它具有嵌入式的软件系统,可以通过网络对个种的系统平台提供文件共享服务
1.4.4.3 SAN --Storage Area Networks 存储区域网
一种高速的专用网络,用于建立服务器、磁盘阵列和磁带库之间的一种直接联接。它如同扩展的存储器总线,将专用的集线器、交换器以及网关或桥路互相连接在一起。 SAN 常使用光纤通道。一个 SAN 可以是本地的或者是远程的,也可以是共享的或者是专用的。SAN 打破了存储器与服务器之间的束缚,允许你独立地选择最佳的存储器或者是最佳的服务器,从而提高可扩性和灵活性。