谈谈RAID类型详解及其优缺点

存储 存储软件
你能解释清楚不同的RAID类型及其优缺点么?使用超过最低要求的驱动器数量有哪些好处——更多额外容量?减少驱动器损耗?提高容错性?在哪些情况下,RAID,尤其是RAID10可以在多个驱动器同时发生故障时,仍旧保持系统运行?你可以为RAID 10中的故障驱动器重构提供哪些提示?

你能解释清楚不同的RAID类型及其优缺点么?使用超过***要求的驱动器数量有哪些好处——更多额外容量?减少驱动器损耗?提高容错性?在哪些情况下,RAID,尤其是RAID10可以在多个驱动器同时发生故障时,仍旧保持系统运行?你可以为RAID 10中的故障驱动器重构提供哪些提示?

传统意义上,RAID代表着运用廉价磁盘所构筑起的冗余阵列。而今天,这个名词的解释已经更新,成为使用独立磁盘组成的冗余阵列。

RAID是将各个物理磁盘驱动器组合在一起,形成一个成为RAID集合的更大驱动器的一种形式。在RAID集合中,所有较小的物理驱动器向服务器呈现为一个逻辑磁盘。该逻辑磁盘称为逻辑单元号,或简称LUN。

[[210813]]

使用RAID能带来两项重要的好处:更好的性能,以及更高的可用性,这意味着它运行更快,更少出现故障。

RAID的好处

使用RAID最主要的有点在于提升性能、灵活性并降低成本。性能提高得益于服务器在访问数据时,可以通过更多驱动器并发的读取或写入。而由于RAID控制器可以通过奇偶校验重新创建出丢失掉的数据,从而提高了可用性和系统的弹性。

奇偶校验基本上是对于写入磁盘数据的总和进行校验,校验码与原始数据一并写入。可以在主机层通过软件(如Windows FTDISK卷)或存储控制器上的硬件实现RAID功能。服务器在访问硬件RAID的数据时,从不会知道RAID集合中哪块驱动器出现了问题。当某块驱动器发生故障时,控制器会根据存储在RAID集合内剩余驱动器上的信息恢复数据。

标准与非标准的RAID类型

广义的RAID类型可以分成三类:标准、非标准与嵌套的。RAID的类型按照0到6命名分类。

非标准RAID类型由每家公司或开源项目设定其标准。非标准RAID包括RAID 7,自适应RAID,RAID S以及Linux md RAID 10。

嵌套RAID是指不同RAID类型的组合,例如RAID 01(RAID 0 + 1)、RAID 03(RAID 0 + 3)和RAID 50(RAID 5 + 0)。

RAID类型详解

应该选用哪种RAID类型,这取决于你在服务器上所运行的应用程序类型。RAID 0是最快的一种、而RAID 1则最为可靠,RAID 5很好融合了两者的优点。最适合你所在组织的RAID类型或许取决于要求的冗余级别、数据保留的期限、正在使用的磁盘数量,以及对数据保护与性能优化的重要程度。

以下是SAN存储阵列中最常见的不同RAID类型描述。并非所有的存储阵列供应商都支持下述各种RAID类型,所以一定要事先确认。

RAID 0:RAID 0被称为磁盘的条带化。所有数据在RAID集合中的所有磁盘上以数据块形式分布。RAID 0能够达到出众的性能水平,以为所存储的数据负载会被分散到更多的物理驱动器上。RAID 0没有产生奇偶校验。这就意味着数据在写入RAID 0磁盘时没有任何性能损耗。

RAID 0只适用于更好的性能,而非更高可用性的方面,因为RAID 0的磁盘上不会生产奇偶校验。另外,RAID 0至少需要两个物理磁盘。

RAID 1:RAID 1被称为磁盘镜像,即所有的数据都会写入至少两块独立的物理磁盘。本质上说,两块磁盘彼此互为镜像。假如一块磁盘发生故障,另一块磁盘仍可用于数据应用。

磁盘镜像对要求快速的读取操作非常有用。数据写入磁盘时速度较慢,以为要两次分别写入。同样,RAID 1亦至少需要两块物理磁盘。

RAID 1 + 0:RAID 1 + 0(也称为RAID 10)使用了磁盘镜像与条带化技术的组合。数据通常先进行镜像,然后再完成条带化。彼此镜像的条带化集合完成相同的任务,但比单独的条带化集合更具容错性。

假如你在条带化集合中丢失驱动器,那么对数据的存取访问必须源自另一条带化集合,应该原来的集合不再具备奇偶校验。 RAID 1 + 0至少需要四个物理磁盘。

RAID 2:使用汉明码,RAID 2在数位级别条带化数据。近年以来,汉明码已被用作用于磁盘驱动器的纠错码,故此RAID 2已不再有使用。

RAID 3:RAID 3所使用的技术被称为奇偶校验磁盘,将RAID控制器生成的奇偶校验信息存储到与实际数据磁盘分开的磁盘上,而非像RAID 5那样和数据在一起条带化。

当有大量数据请求时,例如应用于数据库,这种RAID类型的性能表现不佳。RAID 3对需要长时间持续传输数据的应用(如视频服务器)表现良好。另外,RAID 3至少需要三块物理磁盘。

RAID 4:RAID 4使用专用的奇偶校验磁盘,并在磁盘间使用数据块级的条带化技术。 虽然这样有利于顺序数据访问,但使用专用奇偶校验磁盘可能会导致写入操作过程出现性能瓶颈。 现在RAID 4没有太多使用场合,更多使用诸如RAID 5等类型加以替代。

RAID 5:RAID 5使用磁盘条带化与奇偶校验技术。数据分布在RAID集合的所有磁盘上,并且和在发生磁盘故障,进行数据重构时所用的奇偶校验信息混合在一起。

RAID 5是最常见的RAID类型,因为它在性能和可用性之间取得了良好的平衡。 RAID 5至少需要三块物理磁盘。

RAID 6:RAID 6通过使用两个奇偶校验条来提高可靠性,在RAID集合丢失数据前可以兼容两块磁盘的故障。RAID 6通常应用在SATA环境,以及需要较长数据保留时间的解决方案中,例如数据归档或基于磁盘的备份中。

自适应RAID:自适应RAID让RAID控制器自己找到如何在磁盘上存储奇偶校验码,可以在RAID 3和RAID 5之间选择,这取决于所要写入磁盘的数据类型适用哪一种RAID集合。

RAID 7:RAID 7是一种非标准化的RAID类型——基于RAID 3和RAID 4的技术——需要用到专有硬件。 该RAID类型由现在已倒闭的Storage Computer公司注册拥有。

RAID类型所需的***驱动器数量与重构

对于RAID集合使用比最小要求的磁盘数更多的问题,答案是这样可以获得更多的可用存储空间,以及更多的执行原件和磁盘数量提供给操纵系统使用。

大多数RAID阵列在单个集合中会使用最多16块驱动器,这是因为超过这个数字后,系统的性能回报会出现边际效益。而对RAID 5和RAID 10而言,最多8块驱动器似乎是不错的经验法则。假如需要更多空间,那么可以更换大容量磁盘,或者另外创建一个RAID集合。

另一项经验法则是,尽量在不同的RAID集合上保留不同的数据工作负载。你可以使用RAID 10来得到***性能,但大多数时候,预算决定了数据库的数据卷只使用RAID 5,RAID 1或RAID 10则用于数据库日志卷。数据库卷上的I / O是高度随机,而日志上的基本是顺序的。

重构的时间取决于RAID类型。如果你使用软件RAID,那么RAID组内更多的磁盘转轴意味着更长的重构时间;而假如是硬件的RAID,那么重构时间通常取决于驱动器本身的大小。因为硬件通常会介入到计算中去。一块146GB的驱动器比73GB的驱动器要更长的重构时间。

今天的环境中如何使用RAID

业内的许多专业认为,RAID技术的需求已经日益减小。纠删码和固态驱动器已经表现出更高的可靠性——当然价格昂贵——可作为替代方案,并且随着存储容量的增加,RAID阵列出现错误的几率也会增大。

不过,对于RAID已死这样的观点,一些主流的存储厂商并未做出响应。Dell EMC最近发布了支持多种RAID级别的Unity平台,而IBM和Intel也发布了支持和提升RAID性能的产品。

责任编辑:武晓燕 来源: TechTarget中国
相关推荐

2021-01-28 17:26:57

LoRa网络架构网络技术

2019-02-26 15:23:01

数据安全磁盘

2022-11-02 08:41:40

2021-09-08 09:00:00

DevOps开发IT

2009-12-31 13:37:46

多协议GMPLS

2024-09-29 09:02:17

Go语言类型

2016-12-06 09:45:30

Web框架优缺点

2021-09-09 13:53:08

区块链加密货币技术

2018-12-11 10:59:35

Tomcat NginxApache

2014-07-24 10:28:40

NginxLVSHAProxy

2020-04-23 15:42:44

Web前端技术

2011-08-09 09:49:23

存储过程SQL语句数据库

2021-10-09 09:52:17

云存储公共云迁移

2018-10-24 09:00:26

KafkaSpark数据

2012-08-23 10:01:03

Linux服务器

2012-08-22 14:05:25

Linux服务器

2017-07-05 17:47:17

架构DockerContainer

2017-04-10 15:08:44

VMwareVVOL优缺点

2010-08-26 10:21:06

CSS Sprites

2024-01-04 08:00:22

时序数据库项目
点赞
收藏

51CTO技术栈公众号