一、RAID解析
1.RAID 0
(1)将几块磁盘并行组合,横向写数据
(2)并发IO,写数据最快
缺点:不提供数据冗余,如果其中一块磁盘废掉,则数据全毁
详细:条带深度大时,一次IO只能从一块磁盘上读取,无性能提升。要在某种程度上提升性能,需要减小条带深度。

2.RAID 1
(1)一块磁盘写,另一块作为备份,也在相同的位置写。
(2)当一块磁盘废掉或者磁盘某区域坏掉,则读取另外一个磁盘。
(3)写性能等于最低那块硬盘的写性能。
优点:
(1)提供初步数据保护
(2)虽然额外多了一个操作,但是写速度也很快
缺点:
速度太慢,一个写另一个也必须写
与RAID 0的不同:
RAID 0没有数据保护措施,RAID 1数据有两份

3.RAID 2
(1)每两块数据盘就有一块校验盘(海明校验码)
(2)当数据损坏时通过校验码可恢复损坏磁盘上的数字,每次只能传输2路数据,因数据盘就两块。
(3)并存并取
缺点:
(1)数据存储时数据位被强行打散在两块磁盘上,每次读取数据都要两块磁盘联动
(2)利用海明码开销太大
详细:
4块数据盘,3块校验盘。假设RAID 2条带大小为4b(1b*4块),控制器接收到IO的数据之后第一块磁盘写入1 5 9 13等位,第二块磁盘写入2 6 10 14等位,第三第四块磁盘相同,此时全盘读写,数据物理不连续,逻辑连续,导致对非事务性IO效率低下。适合连续,大块IO的情况
与RAID 0的不同:
不能并发,每次IO都占据了所有磁盘;每次都保证所有磁盘运行

4.RAID 3
(1)只留一块校验盘,将数据每一位之间做异或XOR运算,任何一个扇区损坏通过剩余未和校验位一同进行异或运算,得到丢失位,8位一起校验则得到损坏的一个字节。
(2)条带深度小,将IO分成小块每个块4KB,让每个磁盘都有机会存储这些小块,这样多磁盘并行读写,性能高。
(3)XOR只能判断数据是否有误,不能修正数据
缺点:
校验盘会成为热点盘;每次IO都需要牵动所有磁盘,和RAID 一样,不适合并发IO
详细:
每一个条带设计为OS系统块的大小,深度随磁盘数量而定,最小为1个扇区;每个条带一般为OS系统块长度,写数据时按数据块分散到各个磁盘。
优化方案RAID 30采用8个数据盘,2个校验盘可以支持2个IO并发。
与RAID 2的不同:
RAID 2对扇区进行分散,RAID 3保留了扇区的物理连续,以一个或多个扇区为单位来分散数据。

5.RAID 4
(1)为了实现并发IO,需要保证有空闲的磁盘未被IO占用,以便其他的IO进行访问。
(2)如果IO块小于RAID 3的条带深度(横向写),则数据纵向写,只放在一个磁盘上。
缺点:
校验盘无法并发,每次都读写,会成为热点盘,损坏几率大;写速度很慢

6.RAID 5
(1)是RAID 0和RAID 1的折中方案。
(2)将校验盘打散到各个盘之中,并发IO可以同时访问校验盘,克服了校验盘不能并发成为热点盘的缺点。
缺点:写惩罚高,根本原因在于每次扇区都要产生其校验区写入校验盘;每一次写都要先读出老数据,然后读校验数据,然后写新数据和校验数据;只能坏一块磁盘
详细:
校验segment循环分布在相邻条带上。为保证并发IO,将条带做的较大,以保证每次IO数据不会占满整个条带,造成其他IO等待。要保证高并发率,否则会转成读改写,写惩罚高。

7.RAID 6
(1)为了解决两块数据盘损坏无法恢复的情况
(2)布尔运算两个方程式,x XOR y = 1,Ax XOR Bx = 0,求解
缺点:比RAID 5多两个操作,多读一个校验数据,计算后还要写一次

二、整条写、重构写和读改写
1.整条写
每个条带上的segment都更新,不需要额外的读写操作,写性能最好

2.重构写
当需要写入的磁盘数目超过阵列磁盘的一半时采取该方式
(1)从不需要修改的segment中读取原来的数据,再和本条带中所有需要修改的segment上的新数据一起计算XOR校验值
(2)将新的segment数据和没有更新过的segment数据以及新的XOR校验值一起写入
例如:
数据盘为8块,某个时刻一个IO只更新了一个条带的6个segment,剩余两个没有更新。在重构写模式下,会将没有更新的两个segment数据读出,和需要更行的前6个segment计算出校验数据,然后数据和校验信息一起写入磁盘
与整条写的比较:
多出读segment数据操作和写校验数据操作

3.读改写
当需要写入的磁盘数目不超过一半时采取
(1)从需要修改的segment中读取旧数据,再从条带上读取旧的奇偶校验值(读)
(2)根据旧数据、旧校验值和需要修改的segment上的新数据计算这个条带上的新校验值(改)
(3)写入新的数据和校验值(写)
转至该博客:https://blog.csdn.net/IceArmour/article/details/8158116

RAID 0 ~ RAID 7的更多相关文章

  1. 图解RAID 0, RAID 1, RAID 5, RAID 10

    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...

  2. 讨论关于RAID以及RAID对于存储的影响

    定义及作用 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字母I被改作了Independe ...

  3. 在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1)

    在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1) RAID即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID是一些磁盘的集合, ...

  4. RAID 0+1

    正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 01. 以四个磁盘组成的RAID 0+1为例,其数据存储方式如图所示:RAID 0+1是存储性能和数据安全兼顾的方 ...

  5. 软件RAID 0

    软件RAID 0的实现 RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请 ...

  6. 双硬盘RAID 0全攻略

    . RAID53 RAID7即高效数据传送磁盘结构,是RAID3和带区结构的统一,因此它速度比较快,也有容错功能.但价格十分高,不易于实现. 为什么需要磁盘阵列        如何增加磁盘的存取(ac ...

  7. 软RAID 0的技术概要及实现

    1 什么是RAID,RAID的级别和特点 : 什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年 ...

  8. RAID 0、1、5、1+0总结

    RAID(Redundant Array Of Independent Disk,独立磁盘冗余阵列),可以提供比普通磁盘更快的速度.更高的安全性,生产环境中服务器在安装时一般都会做RAID,RAID的 ...

  9. raid 0 1 5 10 总结的知识点

    raid 0 1 5 10 raid 发的别名条带 raid 0 读取性能最高需要磁盘2*N个(N>0)代表所有raid级别中的最高存储性能,其实原理就是把连续的数据分散到多个磁盘上存取,这样, ...

随机推荐

  1. 再也不用c++的string了

    今天打比赛,觉得写法没错,但死活过不了大样例.调试时发现用cin读入一行臭长臭长的string类型变量时出锅了,原来几千个字符就读进来500个,导致一直WAWAWAWAWA. 最后yyj神犇帮我就删掉 ...

  2. web服务器的原理

    一:什么是web服务器 web服务器是可以向浏览器等Web客户端提供文档的计算机的程序.当web浏览器连接到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何 ...

  3. WebSocke实时通讯协议

    WebSocket 是什么? WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 ...

  4. JAVA实现C/S结构小程序

    程序功能: 客户端向服务器发送一个本地磁盘中的文件, 服务器程序接受后保存在其他位置. 客户端实现步骤: 创建一个客户端对象Socket,构造方法中绑定服务器的IP地址 和 端口号 使用Socket对 ...

  5. 2017-2018-2 PDE 讨论班

    等等. 第一次上课居然忘记怎么让笔记本电脑和投影仪相连了. 有两个接口. 一个在外面, 没用. 一个盖着了, 忘记翻开了.

  6. Vorticity directions 1: self-improving property of the vorticity

    在 [Li, Siran. "On Vortex Alignment and Boundedness of $ L^ q $ Norm of Vorticity." arXiv p ...

  7. [再寄小读者之数学篇](2014-06-23 积分不等式 [中国科学技术大学2013年高等数学B 考研试题])

    设 $f(x)$ 在 $[a,b]$ 上一阶连续可导, $f(a)=0$. 证明: $$\bex \int_a^b f^2(x)\rd x\leq \cfrac{(b-a)^2}{2}\int_a^b ...

  8. 学习python笔记 协程

    下面将一个经典的消费者和生产者的案例进行分析: import time def consumer(): r = '' while True: n = yield r if not n: return ...

  9. luogu 4042 有后效性的dp

    存在有后效性的dp,但转移方程 f[i] = min( f[i], s[i] + sigma f[j] ( j 是后效点) ) 每次建当前点和 转移点的边 e1, 某点和其会影响的点 e2 spfa ...

  10. Python爬虫从入门到进阶(1)之Python概述及爬虫入门

    一.Python 概述 1.计算机语言概述 (1).语言:交流的工具,沟通的媒介 (2).计算机语言:人跟计算机交流的工具 (3).Python是计算机语言的一种 2.Python编程语言 代码:人类 ...