• RAID技术简介


    一、RAID技术介绍

    RAID:redundant array of independent disks,独立硬盘冗余阵列,也被称为RAID

    RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的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;

     

    三、常见RAID级别介绍

    1、RAID 0

    在所有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

    RAID 1(也被称为镜像结构的硬盘阵列)旨在建立一个高安全性的RAID级别。RAID1使用2个相同的硬盘系统,并设置了镜像。当数据写入到一个硬盘上时,数据的副本会同时存储在镜像硬盘上。当源硬盘(物理)失败时,镜像硬盘从源硬盘接管服务,保证服务的连续性。镜像盘作为备份,提供高数据可靠性。

    一个RAID 1组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一G字节的数据存储占用了2G字节的硬盘空间,所以说两个硬盘组成的RAID 1的空间利用率是50%。

    RAID 1的两个硬盘必须具有相同的大小。如果两个硬盘的容量大小不同,可用容量是最小的硬盘的容量。

     

    3、RAID 10

    RAID10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,右图只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。

     

    4、RAID 5

    RAID 5是改进版的RAID 3,使用条带化并计算奇偶校验信息。在RAID 3中有一块专用硬盘负责奇偶校验数据的写入和读取,这导致了我们前面提到的性能瓶颈问题。RAID 5使用的是分布式奇偶校验,每个成员硬盘将用于存储用户数据和奇偶校验数据。所以RAID 5没有瓶颈或热点。

    假定一个RAID 5的硬盘数为N,其中有效用户数据存储容量为N-1个硬盘的容量。与其他RAID一样,RAID 5阵列中的成员盘的容量和转速应该是相同的。

    在RAID 3级别和RAID 5级别的硬盘阵列中,如果一个硬盘失效,该硬盘组将从在线(正常)状态转变为降级状态,直到完成重构失效硬盘。如果RAID中的另一个硬盘也出现故障,则硬盘组的数据将丢失。

  • 相关阅读:
    webpack入坑之旅(五)加载vue单文件组件
    webpack入坑之旅(四)扬帆起航
    webpack入坑之旅(三)webpack.config入门
    webpack入坑之旅(二)loader入门
    模块的总结
    项目中的bug
    详解懒汉模式和饿汉模式以及他们的改进
    感悟(岁月)
    浅谈js中的this的用法
    图解http协议(一章了解web及其网络基础h)
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12527820.html
Copyright © 2020-2023  润新知