快捷搜索:  汽车  科技

nas与raid的区别(NAS入坑指南二)

nas与raid的区别(NAS入坑指南二)使用软件RAID时,最好的解决方案是选择RAID 0、RAID 1、RAID 2,这是因为它们不会像其它类型RAID那样对处理器造成过多的负载。当然,如果处理器足够强大,也可以使用RAID 5或RAID 10。RAID控制器主要用于阵列管理,在操作系统中创建的阵列称为软件RAID。这意味着可以直接通过CPU对RAID阵列进行管理,CPU作为程序决策的控制器,具有数据交替和镜像显示的可能性,但所有计算也是由CPU来执行的。镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数

在上一篇文章中(点此查看),我们详细介绍了关于NAS的一些知识,而要更好地使用NAS,则离不开RAID技术。这一次,就让我们来了解什么是RAID。

概念

RAID(Redundant Array of Independent Disks),即独立磁盘冗余阵列,通常被称为磁盘阵列。简单来说,RAID是由多个硬盘组成的磁盘阵列,该阵列用于提高存储可靠性或读/写速度(或两者兼而有之)。

nas与raid的区别(NAS入坑指南二)(1)

我们可以使用兼容的主板、控制器或NAS创建软件RAID或硬件RAID。要安装阵列,除了需要主板或硬件控制器外,还需要至少两块相同类型的硬盘。需要注意的是,最好选择参数、容量相同的硬盘,这是因为RAID在组建的时候将取决于最小硬盘的容量(类似于内存双通道)。此外,使用不同的硬盘驱动器可能会导致其中一个驱动器过早发生故障,从而导致重要数据丢失。

RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )。

镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。

数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。

数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。

RAID控制器类型:软件和硬件

RAID控制器主要用于阵列管理,在操作系统中创建的阵列称为软件RAID。这意味着可以直接通过CPU对RAID阵列进行管理,CPU作为程序决策的控制器,具有数据交替和镜像显示的可能性,但所有计算也是由CPU来执行的。

使用软件RAID时,最好的解决方案是选择RAID 0、RAID 1、RAID 2,这是因为它们不会像其它类型RAID那样对处理器造成过多的负载。当然,如果处理器足够强大,也可以使用RAID 5或RAID 10。

nas与raid的区别(NAS入坑指南二)(2)

此外,软件RAID也适用于更便宜的IDE磁盘或SCSI磁盘。鉴于现代处理器的速度,在某些情况下,软件的RAID性能可能优于硬件RAID。还需要注意的是,软件RAID几乎可以在任何操作系统中组装,而软件阵列的性能取决于RAID类型和处理器的性能及其负载。

软件RAID实现的主要优点是成本低。但它也有许多缺点:性能低下,CPU负载需要额外的工作。软件通常实现那些不需要大量计算的RAID类型。

另一种则是硬件RAID。由于磁盘系统的负载很大,需要服务器处理大量数据,因此只能使用单独设备的RAID控制器工作,它通过PCI连接器连接到主板,独立解决硬盘阵列管理任务。

同时,RAID硬件架构更加复杂,因为它需要特殊的组件。RAID控制器,也被称为RAID适配器,包含XOR计算器、辅助存储器和SCSI或UDMA通道。这种架构可以实现显著的性能提升。

RAID类型

SNIA 、Berkeley等组织机构把RAID 0 、 RAID 1 、 RAID 2 、 RAID 3 、 RAID 4 、 RAID 5 、 RAID 6七个等级定为标准的RAID等级,这也被业界和学术界所公认。标准等级是最基本的RAID配置集合,单独或综合利用数据条带、镜像和数据校验技术。标准RAID可以组合,即RAID组合等级,满足对性能、安全性、可靠性要求更高的存储应用需求。

RAID 0

RAID 0是一种简单的、无数据校验的数据条带化技术。RAID 0将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行I/O操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID 0的性能在所有RAID等级中是最高的。理论上讲,一个由n块磁盘组成的RAID 0 ,它的读写性能是单个磁盘性能的n倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。

nas与raid的区别(NAS入坑指南二)(3)

RAID 0具有低成本、高读写性能、 100%的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。因此, RAID 0一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。

RAID 1

RAID 1称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为50%。RAID 1在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。RAID 1提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。

nas与raid的区别(NAS入坑指南二)(4)

与RAID 0刚好相反,RAID 1是为了增强数据安全性使两块磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便的目的。RAID 1拥有完全容错的能力,但实现成本高。RAID 1应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。

RAID 2

RAID 2称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余。在RAID 2中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。数据宽度为4的RAID 2,它需要4块数据磁盘和3块校验磁盘。如果是64位数据宽度,则需要64块数据磁盘和7块校验磁盘。可见,RAID 2的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。

nas与raid的区别(NAS入坑指南二)(5)

海明码自身具备纠错能力,因此RAID 2可以在数据发生错误的情况下纠正错误,保证数据的安全性。

但是,海明码的数据冗余开销太大,而且RAID 2的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算,RAID 2数据重建非常耗时。由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,因此RAID 2在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供RAID 2支持。

RAID 3

RAID 3是使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据可按位字节的方式交叉存储到各个数据盘中。RAID 3至少需要三块磁盘,不同磁盘上同一带区的数据作XOR校验,校验值写入校验盘中。

RAID 3完好时读性能与RAID 0完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向RAID 3写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

nas与raid的区别(NAS入坑指南二)(6)

如果RAID 3中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

RAID 3只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。

RAID 4

RAID 4与RAID 3的原理大致相同,区别在于条带化的方式不同。RAID 4按照块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个I/O请求可以同时得到处理,提高了系统性能。RAID 4按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

nas与raid的区别(NAS入坑指南二)(7)

RAID 4在不同磁盘上的同级数据块同样使用XOR校验,结果存储在校验盘中。写入数据时,RAID 4按这种方式把各磁盘上的同级数据的校验值写入校验盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏,RAID 4可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

RAID 4提供了非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作,RAID 4只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足,RAID 4在实际应用中很少见,主流存储产品也很少使用RAID 4保护。

RAID 5

RAID 5的原理与RAID 4相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此,RAID 5不存在RAID 4中的并发写操作时的校验盘性能瓶颈问题。另外,RAID 5还具备很好的扩展性。当阵列磁盘数量增加时,并行操作量的能力也随之增长,可比RAID 4支持更多的磁盘,从而拥有更高的容量以及更高的性能。

nas与raid的区别(NAS入坑指南二)(8)

RAID 5的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他RAID等级一样,重建数据时,RAID 5的性能会受到较大的影响。

RAID 5兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为RAID 0和RAID 1的折中方案,是目前综合性能最佳的数据保护解决方案。RAID 5基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

RAID 6

前面所述的各个RAID等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。RAID 6引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。RAID 6等级是在RAID 5的基础上为了进一步增强数据保护而设计的一种RAID方式,它可以看作是一种扩展的RAID 5等级。

nas与raid的区别(NAS入坑指南二)(9)

RAID 6不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。RAID 6最常见的实现方式是采用两个独立的校验算法。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。

RAID 6具有快速的读取性能、更高的容错能力。但是,它的成本要高于RAID 5许多,写性能也较差,并有设计和实施非常复杂。因此,RAID 6很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代RAID 10方案的经济性选择。

RAID 7

RAID 7与其它RAID等级不同,它并不是一个开放的行业标准。它基于RAID 3和RAID 4中使用的概念,添加了缓存数据的能力。RAID 7还包括一个控制器,该控制器带有一个运行实时操作系统的内置微处理器,它允许异步和独立处理所有数据传输需求。

nas与raid的区别(NAS入坑指南二)(10)

RAID 7突破了以往RAID标准的技术架构,采用了非同步访问,极大地减轻了数据写瓶颈,提高了I/O速度。RAID 7系统内置实时操作系统还可自动对主机发送过来的读写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高存储系统的I/O速度。

RAID 7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率大大提高,满足不同用户的存储需求。但是,RAID 7的成本比其他RAID等级要高许多。另外,RAID 7已被Storage Computer Corporation公司注册为商标,目前仅有一家公司提供RAID 7的产品,用户没有更多的选择。技术封闭,缺乏主流专业存储厂商的参与和研发严重制约了RAID 7的发展。

RAID 01和RAID 10

标准RAID等级各有优势和不足。自然地,我们想到把多个RAID等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的RAID系统。目前在业界和学术研究中提到的RAID组合等级主要有RAID 00、RAID 01、RAID 10 、RAID 100 、RAID 30 、RAID 50 、RAID 53 、 RAID 60,但实际得到较为广泛应用的只有RAID 01和RAID 10两个等级。这里,我们就只介绍一下RAID 01和RAID 10。

nas与raid的区别(NAS入坑指南二)(11)

RAID 01兼备了RAID 0和RAID 1的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。RAID 01的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。

nas与raid的区别(NAS入坑指南二)(12)

与之相反,RAID 10则是先做条带化(RAID 0),再做镜像(RAID 1),本质是对物理磁盘实现镜像。RAID 10阵列中的每个磁盘都不会应为损坏而导致数据丢失。但是,系统的缺点是损坏的磁盘是不可替代的,如果出现系统错误,用户将被迫使用系统剩余的资源。某些RAID 10具有特定的「热备份」磁盘,可自动替换阵列中的故障磁盘。

RAID 01和RAID 10内部都含有RAID 1模式,因此整体磁盘利用率均仅为50%。

如何选择RAID类型

RAID类型的选择主要有三个因素,即数据安全性、I/O性能和成本。目前,实际应用中常见的主流RAID类型是RAID 0、RAID 1、RAID 3、RAID 5、RAID 6和RAID 10。如果不要求数据安全性,可选择RAID 0以获得更高性能。如果更注重数据安全性且不在乎性能及成本,则可根据磁盘数量选择RAID 1。而要兼具安全性、成本和性能,则可以选择RAID 3或RAID 5。

猜您喜欢: