Fork me on GitHub

软硬RAID 和 不常见的RAID

若转载请于明显处标明出处:http://www.cnblogs.com/kelamoyujuzhen/p/5561809.html

为啥子引入RAID?

  存储最现实的两个问题:速度、容量

  001——计算机发展历史

  回顾计算机发展历史,以我们最常用的minicomputer为例,一个tower或cabinet也就装几块硬盘,虽然现在SATA单块盘都做到3T了,但是对于企业而言还是远远不够。这是容量问题。

  速度问题:

  1、无论单碟盘 还是 多碟盘,单位时间只能有一个磁头在读写,多磁头并发读写的产品目前还没有。

  2、影响磁盘速度的主要原因在于换道,如何有效减少换道时间

  针对 速度+容量 这2个问题,RAID问世了。将多块磁盘组成RAID,既提高了容量,又提高了速度(一块磁盘在换道,其他磁盘不一定啊,因此大大提高效率)。

 

RAID类型

软RAID

1、占用内存空间

2、占用CPU资源

3、软件RAID程序无法将安装有OS的那个Disk 分区做成RAID模式

硬RAID(RAID卡)

  种类:

    0通道RAID

    无驱RAID

    RAID on chip (ROC技术)

 

RAID卡的初始化和配置过程

所谓初始化就是说在系统加电之后, CPU 执行系统总线特定地址上的第一句指令,这个地址便是主板 BIOS 芯片的地址。BIOS 芯片中包含着让 CPU 执行的第一条指令, CPU将逐条执行这些指令, 执行到一定阶段的时候, 有一条指令会让 CPU 寻址总线上其他设备的 ROM 地址(如果有)。 也就是说,系统加电之后, CPU 总会执行 SCSI 卡这个设备上 ROM 中的程序代码来初 始化这块卡。 初始化的内容包括检测卡型号 、 生产商以及扫描卡上的所有 SCSI 总线以找出每个设备并显示在显示器上。在初始化的过程中, 可以像进入主板 BIOS 样, 进入 SCSI 卡自身的BIOS中进行设置,设置的内容包括查看各个连接到SCSI总线上的设备的容量、生产商、状态、SCSI ID和LUN ID等。

其余RAID介绍见:004——最最常用的RAID

RAID 2

  RAID0激进,RAID1太保守。RAID2是 RAID0 1的折中。引入校验盘,校验算法为汉明码。在写数据的时候写校验数据。

RAID 3

  与RAID2 一样,只不过校验方式由汉明码改为逻辑校验。

RAID 4

  拉个大弓,放个小屁。虚张声势而已

  考虑到RAID2、3 他们的并发都是单次IO对多块磁盘之间的并发,那RAID4能不能做到多个IO的并发呢?当然可以,为此需要磁盘做出相应修改

  要想多IO并发,就要保证有磁盘未被IO占用,为此可以增大Stripe深度。这样就将IO限制在数量很少的磁盘上面。同时避免不要连续读写一块磁盘,增大数据分布随机性。RAID4做到了这几点,但是忽略了一个问题——校验盘

  每次IO,都是数据盘+校验盘一起写,校验盘成为了热点盘。即使某块盘上面的IO写完了,但是校验盘还在忙活,其他的IO看着这块空闲的磁盘也用不了,必须等待校验盘空闲下来才能上位。相当于面对大海却渴死了,因此,RAID4并没有实现并发IO。

RAID5E

RAID5 相比较RAID4 实现了并发IO(通过打散校验盘),看起来很美好,但是也有可靠性问题。试想,一旦一块磁盘跪了,针对这块故障盘的读IO,实际上其他磁盘+校验盘 算出来返回的。写IO是被RAID卡从定向到正常磁盘+校验盘的。外界感觉不到有磁盘故障。如果有一块盘故障,系统IO负担无疑加大,如置之不理,很有可能再坏一块盘,继而故障雪崩。RAID5的做法是在发现故障盘后,赶紧插上一块好的磁盘,其他磁盘+校验盘 计算出损坏的数据写到新插入的此磁盘上面。但是这有个前提,就是在恢复故障盘的时候不能再有其他磁盘损坏,否则玉石俱焚!为此引入热备盘,热备盘也跟校验盘一样被打散分布在各个磁盘上面。按照校验盘是否像数据盘一样条带化,又分为RAID5E、RAID5EE

 

 

 

posted @ 2016-06-05 21:11  克拉默与矩阵  阅读(588)  评论(0编辑  收藏  举报