RAID常见级别及特性

磁盘阵列(Redundant Arrays of Independent Disks,RAID),通过软件或者硬件的手段将多个磁盘整合成一个磁盘来使用,以此来提高磁盘的性能,并提供数据冗余的功能。

目前常见的RAID等级:

raid0,被称为条带卷。

条带卷,我们可以通过名字来想象:RAID0通过把文件切割之后把数据像一条带子一样铺在每个磁盘之上。

20140123094531-1754280049.jpg

由于文件的数据分布在每个磁盘上,所以其中一个磁盘出现问题的时候,文件就会由于缺失了某部分而损坏。并且RAID0不提供冗余,所以不需要额外使用空间来储存校验码。所以磁盘空间都可以用作储存文件。

并且,磁盘的实际容量体现为木桶理论(最小的水平决定整体的水平)。假如有4个磁盘,分别320G,500G,1T,2T。则实际的容量为 最小容量的盘 乘以 硬盘数量 ,即320G乘以4。

 读写性能由于磁头数的增加,所以读写的时候磁头之间可以可以实现分工合作。所以读写性能提升。

RAID1,称为镜像卷。

由名字可以理解,RAID1提供完全冗余。也就是说,假如有两个相同大小的磁盘,RAID1的实际容量只有一个磁盘的大小。而另外一个磁盘储存着相同的数据内容。需要注意的是,RAID1不提供数据校验的冗余,所以不需要提供额外的空间储存校验块。

        raid.jpg

由于写入的时候需要对文件进行切片(分割成chunk,raid的文件块),并且磁盘需要写入相同的内容。所以写性能不会提升,甚至有所下降。

而读取的时候,有与磁盘里面储存的内容相同,可以通过从不同磁盘里面读取数据,所以数据读取速度有所提升。

RAID4

提供数据冗余,实际容量同样遵循木桶理论。比较特别的是,RAID4将所有的数据校验码都储存在同一个磁盘上。所以当任何一个磁盘出现问题的时候,都要去校验盘那里读取数据以计算损坏了的文件。

因此校验盘的性能容易成为整个RAID设备性能的瓶颈。由于需要额外的空间来储存校验块以实现数据冗余,所以实际的可用空间为:最小的磁盘容量 乘以(磁盘数量-校验盘)

        u=3674855419,3646977654&fm=21&gp=0.jpg

RAID5

目前流行的磁盘阵列类型。为了解决RAID4中检验盘性能的瓶颈。RAID5中把校验块分布到每个磁盘中,当数据损坏的时候,由于校验块不会集中在某个磁盘上,所以每个磁盘的IO压力都不会太大。

磁头整体数量增多,读写速度提升。

实际的磁盘空间为:最小的磁盘容量 乘以(磁盘数量-1

其中1为检验块的总体比例,即储存两个文件数据时就要储存一个校验块。

而由于避免校验块都储存到同一个磁盘上,所以在设计上检验块会偏移。

所以根据第一个数据块储存在哪个盘上,也可分为左对称和右对称。

        raid5.png

RAID6

在RAID的基础上进行改进,通过假如增加校验块,而有更好的容错能力。

由于整体的磁头数量增加,所以读取速率提升。

但是由于写入数据时不仅要写入文件数据,还要计算并写入两个校验块。所以写入速率性能下降

并且由于增加了一位校验块,RAID控制器要求更加复杂,所以在数据安全和磁盘性能中进行取舍,RAID5更受欢迎。

实际的磁盘空间为:最小的磁盘容量 乘以(磁盘数量-2

    RAID 6.jpg

原创文章,作者:菠菜,如若转载,请注明出处:http://www.178linux.com/10653

(1)
菠菜菠菜
上一篇 2016-01-05
下一篇 2016-01-05

相关推荐

  • 学习宣言

    我的人生宣言:做人要学到老,活到老,最重要的玩到老啊。人的一生真的太短了,要做我们喜欢的事情,趁自己年轻的时候吧!行动吧!加油!!

    Linux干货 2016-12-26
  • 访问控制列表ACL使用说明

    一、什么是ACL ACL(Access Control List)可灵活地,更细粒度地定义访问文件或目录的权限。 二、为什么使用ACL Linux上文件系统的文件系统权限管理的对象分为三类:owner,group,other。这种分类非常简单,如果我希望有一个用户拥有不同于这三类对象的权限,或者再定义一个用户组的权限,传统的权限管理就不能实现,而ACL可以很…

    Linux干货 2016-08-08
  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; ]#mke2fs -t ext4 -b 2048 -L MYDATA -m 2 O acl /dev/sda1 (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件…

    Linux干货 2017-03-11
  • shell脚本之函数相关

       本节主要是作业和select 与case的相关 一、作业 1、斐波那契数列又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-…

    Linux干货 2016-08-22
  • Linux文件权限及ACL

    1、文件权限:          文件的权限主要针对三类对象进行定义:                owner:属主,u表示  …

    Linux干货 2016-08-05
  • shell中测试命令

    shell中测试命令        test命令提供了if–than语句中测试不同条件的途径。如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 。这样if–than语句就与其他编程语言中的if–than语句类似的方式工作了。如果条件不成立,…

    Linux干货 2017-04-16