磁盘阵列设备的选型与选购.docx
《磁盘阵列设备的选型与选购.docx》由会员分享,可在线阅读,更多相关《磁盘阵列设备的选型与选购.docx(28页珍藏版)》请在冰豆网上搜索。
磁盘阵列设备的选型与选购
磁盘阵列模式的选型
在RAID技术中,分为几种不同的阵列模式,它们对整个服务器磁盘读写和数据安全保护性能都不一样。
具体如何选择,同样需要根据相应企业的网络规模和应用需求而定,而不能一味地追求高性能。
本节先来回顾一下RAID的几种模式(俗称“RAID级别”)。
1.JBOD模式
JBOD(JustBundleofDisks,简单磁盘捆绑),通常又称为Span。
其实JBOD并不是真正意义上的RAID模式,只是在近几年才被一些厂家提出,并被广泛采用的。
也有人把它归为串联式的RAID0,因为其目的纯粹是为了增加硬盘的容量。
Span是在逻辑上把几个物理磁盘一个接一个串联到一起,从而提供一个大的逻辑磁盘。
Span上的数据简单地从第一个磁盘开始存储,当第一个磁盘的存储空间用完后,再依次从后面的磁盘开始存储数据。
存储原理如图7-37所示。
Span存取性能完全等同于对单一磁盘的存取操作,也不提供数据安全保障,只是简单地提供一种利用磁盘空间的方法。
其存储容量等于组成span的所有磁盘容量的总和。
2·RAID0(无差错控制的条带化阵列)
RAID0又称为Stripe(条带化)或Striping,是所有RAID规格中速度最快但可靠性最差的磁盘阵列模式,因为RAID0不仅可以将多块磁盘连接起来形成一个容量更大的存储设备,而且还可以获得成倍数级增长的性能提升。
如连接的是两块磁盘,则性能为单磁盘的两倍,如果连接的是3块,则性能是单磁盘的3倍,但通常最多只能连接4块磁盘,所以最高可提高磁盘读写性能到单磁盘的4倍。
与串联式JBOD模式的读写顺序不同,并行模式的RAID0在读写时可同时对多个磁盘进行并行操作。
写入时,数据会以设定的交叉存储区域(带区集,Striping)的大小为单位均匀分割成等量的数据块,然后被分别存放到几个磁盘中;而在读取时,目标数据则被同时从多块磁盘中同时取出并经控制器组合成完整的文件。
在这种磁盘阵列中,数据条带按系统规定的“段"为单位依次写入多个磁盘,例如,数据段A写入磁盘O,段B写入磁盘1,段C写入磁盘2等,依此类推。
当一个数据条带最后一个数据段在最后一个磁盘中写完后,再返回到磁盘1的下一可用磁盘空间继续写下一个数据条带,依此类推,直到本次所存数据全部存储完毕。
存储原理如图7-38所示。
由于采用了磁盘分段的方法,分割数据可以将I/O负载平均分配到所有的驱动器中,是把数据立即写入(读出)多个磁盘,因此它的速度比较快,使得性能显著提高。
实际上,数据的传输是有顺序的,但多个读(或写)操作则可以相互重叠进行。
这就是说,正当段1在写入磁盘O时,段2写入磁盘1的操作也开始了;而当段2还在磁盘1进行写入操作时,段3数据已送到磁盘2;依此类推,在同一时刻则可以有几个磁盘(甚至是所有磁盘)在同时写数据。
因为数据送入盘驱动器的速度要远大于写入物理盘的速度。
理论上性能可以提高n一1倍(n为阵列磁盘数),目前这一阵列模式最多可连接4个磁盘,所以最高可提高性能3倍。
但是,RAID0却没有数据保护能力,可靠性仅为单磁盘系统的1/n。
如果一个磁盘出现故障,那么数据就会全盘丢失,因为它并没有采取数据冗余措施。
例如,假使一个文件的段A(在磁盘O),段B(在磁盘1),段C(在磁盘2),则只要磁盘O、1、2中有一个产生故障,就会引起问题;如果磁盘1产生故障,则我们只能从磁盘物理地取得段A和段C的数据,中间段B的数据就不能恢复了。
因此,RAID0不适用于关键任务环境,但非常适合于视频、图像的制作和编辑。
3.RAID1(镜像结构)
如果说RAID0为了取得高性能而牺牲了安全性,那么RAID1便恰好相反。
RAID1的设计目的是打造一个安全性极高的存储系统。
简言之,它是用一个磁盘作为主磁盘的实时镜像,以确保在主磁盘出现故障时能及时从镜像磁盘中得到恢复,提高了数据存储的安全性。
但也因此而损失了至少一半容量——镜像磁盘只能够作为主磁盘的备份,真正有效的容量只能单单依靠一个主磁盘。
RAID1也被称为“镜像",因为它是将一个磁盘上的数据完全复制到另一个磁盘上,百分之百地实现数据冗余。
可以说它是走向RAID0的另一个极端。
我们知道,RAID0只考虑了增加磁盘容量和提高磁盘读写性能,但却没有采取任何数据冗余措施,使得RAID0没有任何数据安全保障,一旦阵列中的某一个磁盘出现了故障,则整个阵列中的数据都可能遭遇破坏,不能恢复。
而此处的RAID1则采取了100%的数据冗余,把阵列中的其中一个磁盘上的数据全部动态复制下来。
这样即使其中一个磁盘发生故障,数据仍能完整地进行数据恢复。
但它却不能提高磁盘容量,也不能提高磁盘读写性能,因为数据在同一时刻仍只是写入一个磁盘中。
RAID1实现的原理如图7-39所示。
由此可见,RAID1的优点就是可以提供100%的数据冗余,数据安全比较有保障。
但RAID1的缺点是不能提高磁盘读写性能,而且磁盘利用率低,只有50%。
相对来说成本也就要比单个无冗余磁盘贵一倍,因为必须购买另一个磁盘用作第一个磁盘的镜像。
RAID1可以由软件或硬件方式实现,也是需要两块磁盘。
4.RAID2(帝海明码校验)
前面介绍的RAID0磁盘分段改善了磁盘子系统的性能,因为向磁盘读写数据的速度与磁盘子系统中磁盘数目成正比地增加,但它的缺点是磁盘子系统中任一磁盘的故障都会导致整个计算器系统失败。
在RAID1中,是把整个分段的磁盘子系统用作镜像,如果已经用了4个磁盘进行分段,我们可以再增加4个分段的磁盘作为原来4个磁盘的镜像,很明显这是昂贵的(虽然可能比镜像一个昂贵的大磁盘来得便宜)。
是否可以不用镜像而用其他数据冗余的方法来提供高容错性能呢?
经过专家们的研究,最终发现有一种神奇偶码模式可以达到目的,可以外加专用奇偶校验盘(女~IRAID2和RAID3中),或者把奇偶校验数据分散分布在磁盘阵列的全部磁盘中,也就是采用分布式奇偶校验数据(如RAID5)。
RAID2是为大型机和超级计算机开发的带海明码校验磁盘阵列,这主要是由这种级别的RAID特点决定的。
因为在这种RAID模式中,磁盘驱动器组中的第1个、第2个、第4个……第2的耽次幂个磁盘驱动器是专门的校验盘,用于校验和纠错,余下的才用于数据存储,磁盘利用率相当低。
如图7-40所示结构中:
7个磁盘驱动器组建的RAID2,第1、2、4个磁盘驱动器是纠错盘,其余的用于存放数据。
由于有多个磁盘是专门用于校验,所以磁盘的利用率比较低,而且是磁盘组中磁盘数越少,磁盘的利用率越低。
RAID2对大数据量的读写具有极高的性能,但少量数据读写时性能反而不好,所以RAID2实际使用较少。
RAID2所需的磁盘数至少是3块。
5.RAID3(带奇偶校验码的并行传送)
RAID3为带有专用奇偶位(parity)的条带,是RAID0的一种改进RAID模式,但它也采用了上述介绍的RAID2模式中的奇偶校验技术。
在每个条带片上都有相当于一“块"那么大的空间用来存储冗余信息,即奇偶位。
也就是相对于RAID0中的“条带"来说多了一个存储奇偶校验位的“块",需要专门一块磁盘来存储,如图7-41所示。
奇偶位是编码信息,如果某个磁盘的数据有误,或者磁盘发生故障,就可以用它来恢复数据。
在数据密集型环境或单一用户环境中,组建RAID3对访问较长的连续记录有利。
配置这种RAID3所需的磁盘数至少3块。
6·RAID4(带奇偶校验码的独立磁盘结构)
RAID4也是带奇偶校验码的独立磁盘结构,与RAID3很相似,不同的是RAID4对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。
RAID3是一次一横条(条带),而RAID4一次一竖条。
所以RAID3常需访问阵列中所有的磁盘驱动器,而RAID4只零访问有用的磁盘驱动器,这样读数据的速度大大提高了。
但在写数据方面,需将从数据磁盘驱动器和校验磁盘驱动器中恢复出的旧数据与新数据校验,然后再将更新后的数据和检验位写入磁盘驱动器,所以处理时间较RAID3长。
配置这种RAID4也必须至少有3块磁盘。
7.RAID5(带分布式奇偶校验的独立磁盘结构)
RAID5被称为“带分布式奇偶位的条带",是目前应用最广的一种磁盘阵列方式。
它与R.AID3比较类似,每个条带上也都有相当于一个“块’’那么大的地方被用来存放奇偶位。
但与RAID3不同的是,RAID5把奇偶位信息随机地也分布在所有的磁盘上,而并非单独用一个磁盘来存储(如图7-42所示),这样可大大减轻奇偶校验盘的负担。
RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。
因为奇偶校验码在不J司的磁盘上,所以提高了可靠性。
但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。
RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。
而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。
在RAID5中有“写损失",即每一次写操作,将产生4个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID5级别尽管有一些容量上的损失,但却能提供较为完美的整体性能,既可有相当程擘上的磁盘读写性能和容量上的提高,同时又提供了一定程度上的数据安全冗余,因而也是被广泛应用的一种磁盘阵列方案。
它适合于输入/输出密集、高读/写比率的应用程序,如事务处理等。
配置这种RAID也必须至少有3块磁盘。
8·RAID6(带有两种分布存储的奇偶校验码的独立磁盘结构)
RAID6是带有两种分布存储的奇偶校验码的独立磁盘结构,是使用了分配在不同的磁盘上的第二种奇偶校验的增强型RAID5,如图7-43所示。
不过由于它的配置过于复杂,所增加的第二个奇偶校验并不是很实用,所以实际应用很少见。
很明显RAID6的优点就是由于采取了两种奇偶校验方法,增强了数据冗余能力,所以它能承受多个驱动器同时出现故障,数据安全更有保障。
RAID6的缺点相比来说更为明显:
首先,由于引入了第二种奇偶校验,所以整个磁盘阵列的磁盘利用率比RAID5还要低(至少需要4块磁盘);其次,两种奇偶校验,用于计算奇偶校验值和验证数据正确性所花费的时间和系统资源比较多,造成了系统的负载较重,大大降低整体磁盘性能;最后,系统需要一个极为复杂的RAID控制器。
正因有这么多不足之处,所以它并没有得到多少实际应用。
9.RAID7(优化的高速数据传送磁盘结构)
RAID7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。
RAID7存储计算机操作系统(StorageComputerOperatingSystem)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。
通过存储计算机操作系统来设定和控制读写速度,可使主机I/0传递性能达到最佳。
如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。
RAID7采用的是非同步访问方式,极大地减轻了数据读写瓶颈,提高了I/O速度。
所谓非f司步访问,即RAID7的每个I/0接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。
如果RAID7有Ⅳ个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理Ⅳ-1个主机系统随机发出的读/写指令,从而显著地改善了I/O应用,如图7-44所示。
RAID7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高了I/O速度。
RAID7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。
但配置相当复杂,成本高,在实际应用中也比较少见。
1O.RAID10(RAID0+1)(高可靠性与高效磁盘结构)
丽面介绍的RAID0虽然有高性能,但安全性差,而RAID1刚好相反,能否把两者结合起来呢?
这便产生了二者的综合体~RAID0+1模式(也被称为“镜像阵列条带”)。
RAID0+1既具有RAID0的高性能又具有RAID1的安全性,而实现RAID0+1模式的方法是将两组RAID0的磁盘阵列互为镜像,形成一个RAID1阵列,这样每次写入数据时,RAID控制器会将数据同时写入两组RAID0阵列中,如图7-45所示。
尽管RAID0+1兼具RAID0高性能和RAID1高安全性的优点,但它至少需要4个硬盘,成本巨大,而且容量利用率也只有50%,普通用户是绝对无法承受的,目前多见于既要求高性能又要求安全性的视频服务器系统中。
11.RAID30
RAID30也被称为“专用奇偶位阵列条带"。
它具有RAID0和RAID3的特性,由两组RAID3的磁盘(每组3个磁盘)组成阵列,使用专用奇偶位,而这两种磁盘再组成一个RAID0的阵列,实现跨磁盘抽取数据,如图7-46所示。
RAID30提供容错能力,并支持更大的卷容量。
像RAID10一样,RAID30也提供高可靠性,因为即使有两个物理磁盘驱动器失效(每个阵列中一个),数据仍然可用。
RAID30至少要有6个磁盘,配置成本较高,磁盘利用率也较低,所以实际应用中也比较少见。
它最适合非交互的应用程序,如视频流、图形和图像处理等。
这些应用程序顺序处理大型文件,而且要求高可用性和高速度。
12.RAID50
RAID5O被称为“分布奇偶位阵列条带",与RAID3O类似,但它是同时具有RAID5和RAIDO的共同特性。
它由两组RAID5磁盘组成(每组最少3个磁盘),每一组都使用了分布式奇偶位,而两组RAID5磁盘再组建成RAIDO模式,实现跨磁盘抽取数据,如图7—47所示。
图7.47RAID50存储原理RAID50提供可靠的数据存储和优秀的整体性能,并支持更大的卷容量。
即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。
RAID50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。
这些应用包括多事务处理和有许多用户存取小文件的办公应用程序。
以上各种RAID模式的综合对比如表7—2所示。
表7—2RAID模式比较
RAID模式
RAIDO
RAIDl
RAID2
RAID3
RAID4
RAID5
名称
条带阵列
镜像阵列
带海明码校验
磁盘阵列
专用校验条带
阵列
专用校验条带
阵列
分散校验条带
允许故障
否
是
是
是
是
是
冗余类型
无
副本
校验
校验
校验
校验
热备用操作
不可
可以
可以
可以
可以
可以
磁盘数量
两块以上
两块以上(偶
数)
3块以上
3块以上
3块以上
3块以上
可用容量
最大
最小
较少
中间
中间
中间
减少容量
无
50%
不定
1个磁盘
1个磁盘
1个磁盘
读性能
高(盘的数量
决定)
中间
大数据量高,小
数据量低
高
高
高
安全性
最差
最好
较好
好
好
好
典型应用
无故障的迅速
读写
允许故障的小
文件、随机数据
写入
大容量数据存
储
允许故障的大
文件、连续数据
传输
允许故障的大
文件、连续数
据传输
允许故障的小
文件、随机数
据传输
RAID模式
RAID6
RAID7
RAID10
RAID30
RAID50
名称
分布存储的奇偶校验码
独立磁盘结构
优化的高速数据
传送磁盘结构
跨越镜像阵列
跨越专用校验阵列
跨越分散校验
阵列
允许故障
是
是
是
是
是
冗余类型
校验
校验
副本
校验
校验
热备用操作
可以
可以
可以
可以
可以
磁盘数量
4块
3块以上
4块以上
6块以上
6块以上
可用容量
较小
较高
最小
中间
中间
减少容量
每个阵列两个磁盘
每个阵列中1个
磁盘
50%
每个阵列中1个磁盘
每个阵列中1
个磁盘
读性能
较低
较高
中间
好
高
安全性
好
较好
较好
较好
好
典型应用
数据安全性较高的应用
大容量复杂数
据存储
允许故障高速
度小文件、随机
数据写入
允许故障高速度大文
件、连续数据传输
允许故障高速
度小文件、随
机数据传输
IDERAID、SATARAID还是SCSIRAID
在RAID中,除了传统的SCSIRAID外,随着IDE和SATA磁盘接口技术的发展,目前采用廉价的IDE或者SATA接口的磁盘RAID也开始在一些中低档服务器中广泛采用。
那么在我们的服务器磁盘冗余系统中是采用SCSIRAID,还是IDERAID,或者SATARAID呢?
这也是要具体问题具体分析的。
下面先来了解这3种磁盘阵列在技术和实用性方面的主要区别。
1.IDERAID与SCSIRAID的比较
现在许多低档服务器,甚至高性能PC机中都集成了IDERAID控制器,提供RAID功能。
若从RAID模式讨论,SCSIRAID与IDERAID没什么大区别,毕竟两者原理都是相同的,唯一不同的只是在接口部分,而这也导致SCSIRAID与IDERAID呈现出截然不同的属性,主要区别表现在以下几个方面。
首先,SCSIRAID是1OO%的硬RAID方案,而且接口速度比IDE更快,目前160Mbps的Ultra160SCSI已广泛应用于服务器/工作站领域,而320Mbps的Ultra320SCSI也已经开始普及;而IDERAID均为半软半硬(较多)或纯软件(很少)方案,接口速度也有所不及(目前最快的U1traATA/133并行ATA接口只能提供133Mbps的最大接口速度,而1.O版的SerialATA接口也不过只有150Mbps而已)。
其次,SCSIRAID的等级较高,IDERAID通常使用RAIDO或RAID1模式,而SCSIRAID贝U更常用到RAIDO+1、RAID3、RAID5等更高等级的RAID模式和更多的硬盘。
之所以IDE存储系统没有高等级RAID,涉及到IDE硬盘的工作模式。
在DMA出现之前,IDE硬盘采用PIO工作模式,倘若引入RAID系统,则在工作时系统资源占用率几乎达到1OO%,CPU根本无法再处理其他任务。
虽然后来的DMA技术缓解了这个矛盾,CPU也无须对存储过程进行全程监控,但是其资源占用率仍然较高,一旦使用存储原理较为复杂或连接硬盘数量较多的RAID模式,由于对数据的频繁读取,系统将为数据传输所困而无暇顾及其他运算,所以IDERAID不适合高端RAID模式应用。
事实上,市面上也几乎没有RAID3、RAID5等级别的IDERAID系统,而是以PC机用户需要的RAIDO、RAID1模式最为常见。
再次,SCSIRAID的CPU占用率很低,这是由于控制卡中有独立的SCSIRAID控制芯片,CPU只需要负担发送数据传输指令的工作而无须全程监控。
这一特性对于像Web/邮件/数据库等要求数据频繁读取的服务器来说至关重要,低CPU占用率可以使CPU有更充裕的性能完成各项计算任务。
相比之下,IDERAID的CPU资源占用率就远高于SCSI。
最后,SCSIRAID可支持热插拔、在线扩展、后台初始化等功能,这些都是IDERAID所不具有的,这是由IDE和SCSI两种磁盘接口本身的区别决定的。
2.IDERAID和SCSIRAID的选型考虑
相较而言,SCSIRAID系统的最大缺陷就是造价较贵,SCSI硬盘的容量/价格比和IDE硬盘相比实在太不划算。
更何况组建一个SCSIRAID5系统动辄就要3~5块磁盘,甚至用到磁盘阵列柜,再加上SCSIRAID控制卡高达数千元的昂贵价格,因此一般说来没有上万元的投资是无法构建一套像样的主流SCSIRAID5系统的。
对普通电脑爱好者而言,这实在有些让人望而生畏,所以大多数用户还是选择了性价比较高的IDERAID。
IDERAID如今受到越来越多的欢迎,这主要归功于它的整体价格要比SCSI配置低许多。
SCSIRAID在性能上有绝对突出的优势,当然售价也高。
因此到底使用哪种磁盘阵列技术,主要由以下3个因素来决定:
可靠性、性能以及费用。
通常而言,如果你减少RAID的投资,那么这也潜在地降低了RAID的可靠性和性能。
如果费用对于你来说是一个必须考虑的问题,那么IDERAID应该是你最佳的解决方案。
一旦你决定使用RAID阵列解决方案,那么在购买设备之前,你必须经过慎重的考虑。
目前大部分的PC机使用IDE磁盘驱动器,因为IDE售价便宜,而且能够在PC机上很好地工作。
然而对于RAID磁盘阵列来说,它主要用于对提供的信息进行保护,并且能够告诉对磁盘进行数据读写,因此它常常使用在工作站或者服务器上,PC机上很少使用RAID阵列技术。
所以到底采用哪种RAID阵列设备,你必须对使用的环境和应用需求进行认真仔细的考虑。
以下是选择IDERAID,还是SCSIRAID的主要考虑。
(1)可靠性
众所周知,每一个磁盘驱动器都可以连续工作100万个小时而不出错。
其中连续工作的100万小时就是我们说的MTBF(平均错误时间),它是用来衡量磁盘性能的一个重要标准。
对于相同类型的磁盘驱动器(如都是IDE或者都是SCSI),我们可以完全用MTBF来衡量它们之间的性能优劣。
但是IDE和SCSI并不是同一规格的磁盘驱动器,MTBF的可比性就不一定可靠。
通常我们也可以使用平均工作时间和访问比率来衡量磁盘驱动器的性能。
对于IDE磁盘,一般每天平均工作11小时,平均每天有132分钟的读写时间;而SCSI磁盘可以连续24小时工作,并且平均每天有432分钟的读写时间。
上述的数据清楚地告诉我们SCSI的可靠性要比IDE高得多。
对于RAID磁盘阵列来说,SCSI的可靠性也要高于IDE。
(2)性能
对于大型工作站和服务器应用而言,性能是除了安全性之外的另一个重要的考虑因素。
磁盘性能好坏的评定主要分为两个方面:
物理接口/协议和机械制动原理。
IDE和SCSI都有内建的控制芯片。
但是IDE内建的控制芯片只包括一些基本的操作功能,因为IDE驱动器主要针对桌面PC,而桌面PC最大的特点就是通常只有单块CPU和单一品牌的内存,通常处于单用户环境,因此IDE控制芯片可以加入部分处理指令,方便应用程序对磁盘的控制,但是大部分的磁盘操作都需CPU配合处理。
而SCSI控制芯片除了一些基本的指令外,还包括一些复杂的指令集。
因为用于工作站和服务器的SCSI,通常是处于一个多用户环境,处理器也有多个,因此SCSI大部分的操作都独立于CPU。
这样就可以对大量数据提供高速传输速率,并且不占用CPU的处理时间。
这就意味着,如果是SCSIRAID磁盘阵列的话,对数据的接受、分卷和组装完全由SCSI磁盘控制器来完成,几乎无须CPU处理;而IDERAID的解决方案中,数据的接受、分卷和组装都由CPU来处理。
另外,随着处理器时钟频率的提高,CPU的处理能力要大大高于磁盘的处理能力。
如果每个单位时间内,C