【原创分享】存储可靠技术之RAID
  

不懂就问 217

一、RAID技术介绍
RAID:redundant array of independent disks,独立硬盘冗余阵列,也被称为RAID
RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的RAID技术更多则是与数据保护相关,换言之,当物理设备失效时,RAID能够用来防止数据的丢失。
RAID技术的主要功能:
通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高了数据存取速度。
通过对一阵列中的几块硬盘同时读取(并行访问),减少了硬盘的机械寻道时间,提高了数据存取速度。
通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
随着阵列技术的发展,已经产生了很多不同类型的RAID,但现在只有少数几种RAID仍在使用。在这个章节中,我们将讨论最常用的RAID类型,也会学习RAID的其它相关功能,比数据保护等,同时,选择不同的RAID类型意味着不同的性能/成本。
在存储设备中,可以通过2种方式实现RAID功能:硬件RAID和软件RAID。
硬件RAID使用专用的RAID适配器、硬盘控制器或存储处理器。RAID控制器有自己的处理器,I/O处理芯片,和内存,用来提高资源利用率和数据传输速度。RAID控制器管理路由、缓冲区,控制主机与RAID间数据流。硬件RAID通常在服务器中使用。
软件实现的RAID没有它自己的处理器或I/O处理芯片,而是完全依赖于主机处理器。因此,低速CPU不能满足RAID实施的要求。软件RAID通常在企业级存储设备上使用。

二、RAID数据保护的方式
方法一:在另一块冗余的硬盘上保存数据的副本。
方法二:奇偶校验算法 (XOR)。
XOR运算广泛地使用在数字电子和计算机科学中。
XOR校验的算法——相同为假,相异为真:
0⊕0= 0; 0⊕1= 1; 1⊕0= 1; 1⊕1= 0;
588675e3437649518c.png

三、常见RAID级别介绍
1、RAID 0
368865e3437d936486.png
在所有RAID级别中,RAID 0(也被称为条带化RAID)具有最高的存储性能。RAID 0使用条带化技术将数据分布存储在RAID组的所有硬盘中。
一个RAID 0包含至少2个成员盘。RAID 0组将数据分为大小不等的从512个字节至兆字节的数据块(通常是512字节的倍数),并行将其写入到不同的硬盘中。如图所示的两个硬盘(驱动器)构成的RAID中:前两块数据被写入到分条0上,其中,第一个数据块被写在硬盘1的条带0上,第二个数据块并行存放在硬盘2的条带0上;这时,再下一个数据块被写到硬盘1上的下一个条带(条带1)上,以此类推。以这种方式,I/O的负载平衡分布在RAID中的所有硬盘上,由于数据传输总线上的速度远大于硬盘读写速度,因此,RAID组上的硬盘可以认为在同时进行读写。
一个RAID 0的硬盘组中的硬盘必须具有相同的大小,转速。如果一个RAID0的由4个硬盘组成,则读写速率理论上可达单个硬盘的4倍(实际上可能有系统损耗),容量为单个硬盘的4倍。RAID 0 中硬盘的容量大小不同,可用容量是最小的硬盘的容量的4倍,速度也是最小硬盘速度的4倍。
RAID 0像是提供了一个单一的大容量的硬盘,还同时具有非常快速I/O的特点。在RAID 0技术使用之前,类似RAID 0的一种技术被称为JBOD。一个JBOD(Just a Bundle Of Disks,简称一堆硬盘)是一组硬盘组合成一个虚拟的大硬盘。与RAID 0最大的区别是,一个JBOD的数据块不是同时并行写入不同硬盘的。在JBOD中,只有将第一块硬盘的存储空间使用完,才会使用第二块硬盘。所以JBOD总的可用容量是所有个硬盘容量的总和,但性能是单个硬盘的性能!

2、RAID 1
8855e34383170a66.png
RAID 1(也被称为镜像结构的硬盘阵列)旨在建立一个高安全性的RAID级别。RAID1使用2个相同的硬盘系统,并设置了镜像。当数据写入到一个硬盘上时,数据的副本会同时存储在镜像硬盘上。当源硬盘(物理)失败时,镜像硬盘从源硬盘接管服务,保证服务的连续性。镜像盘作为备份,提供高数据可靠性。
一个RAID 1组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一G字节的数据存储占用了2G字节的硬盘空间,所以说两个硬盘组成的RAID 1的空间利用率是50%。
RAID 1的两个硬盘必须具有相同的大小。如果两个硬盘的容量大小不同,可用容量是最小的硬盘的容量。

3、RAID 5
277885e343886b7e21.png
RAID 5是改进版的RAID 3,使用条带化并计算奇偶校验信息。在RAID 3中有一块专用硬盘负责奇偶校验数据的写入和读取,这导致了我们前面提到的性能瓶颈问题。RAID 5使用的是分布式奇偶校验,每个成员硬盘将用于存储用户数据和奇偶校验数据。所以RAID 5没有瓶颈或热点。
假定一个RAID 5的硬盘数为N,其中有效用户数据存储容量为N-1个硬盘的容量。与其他RAID一样,RAID 5阵列中的成员盘的容量和转速应该是相同的。
在RAID 3级别和RAID 5级别的硬盘阵列中,如果一个硬盘失效,该硬盘组将从在线(正常)状态转变为降级状态,直到完成重构失效硬盘。如果RAID中的另一个硬盘也出现故障,则硬盘组的数据将丢失。




喜欢这篇文章吗?喜欢就给楼主打赏吧!

打赏
7人已打赏

一个无趣的人 发表于 2020-2-1 21:51
  
干货满满,感谢楼主的分享!
Sangfor_闪电回_朱丽 发表于 2020-2-8 22:07
  
您好,感谢您参与社区原创分享计划6,您的文章已被收录到计划中,交由专家评审小组评审,文章标签在专家评审后设置,分享奖励将在活动结束后统一安排发放!分享越多,奖励越多,期待您更多的精彩分享哦!
关于技术文章的管理流程,请参考:https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=90279
心灵鸡汤 发表于 2020-2-10 20:35
  
经典,学习了,谢谢!
新手548437 发表于 2020-2-11 16:02
  
感谢分享。
YangZheng 发表于 2020-2-15 23:34
  
学习学习!
新手780102 发表于 2020-2-16 14:17
  
来学习一波
新手741261 发表于 2020-2-16 14:24
  
谢谢分享,认真学习了
新手612152 发表于 2020-2-16 14:35
  
来补下干货
新手612152 发表于 2020-2-17 09:17
  
新年第一课,感谢