RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的异同与应用

RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的异同与应用独立磁盘冗余阵列磁盘阵列(RedundantArraysofIndependentDisks,RAID),有“独立磁盘构成的具有冗余能力的阵列”的含义。其思想是将多块独立的磁盘按不同的方式组合为一个逻辑磁盘,从而提高存储容量,提升存储性能或提供数据备份功能。RAID存储系统的组合方式根据RAID级别定义。RAID根据组合方式的不同,有多种设计方案,以下介绍几种常见的RAID方案。1、RAID0(不含校验与冗余的条带存储)2、RAID1(不含校验的镜像存储)3、RAID5(数据块级别的分.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的异同与应用

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”的含义。其思想是将 多块独立的磁盘按不同的方式组合为一个逻辑磁盘,从而提高存储容量,提升存储性能或提供数据备份功能。RAID存储系统的组合方式根据RAID级别定义。


1、RAID 0(不含校验与冗余的条带存储)

1、RAID 0(不含校验与冗余的条带存储)
RAID 0 又称为Stripe(条带化),它在所有RAID级别中具有最高的存储性能,通过多块磁盘组合为RAID 0后,数据被分割并分别存储在每块硬盘中,所以能最大程度的提升存储性能与存储空间,把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能,但是无法容错,搭建RAID 0 至少需要两块磁盘。RAID 0适合于大规模并发读写,但对数据安全性要求不高的情况,如mysql slave(数据块从库),集群的节点RS(服务员)。
工作原理:
如下图1-1所示,如果有一个文件需要写入RAID 0 磁盘阵列,则文件会被分隔为多个部分,D1和D2会被分别同步存入磁盘1和磁盘2,其他部分以此类推,读取该文件时,将同时从磁盘1与磁盘2中读取数据。如果两块磁盘的存储空间均为150G,则RAID 0的总存储空间为300G。

图1-1 RAID 0 工作原理
在这里插入图片描述
优点: 速度快,无冗余,容量无损失,读写并发,磁盘利用率100%。

缺点: 因为没有校验与备份,两块硬盘中如果有一块磁盘损坏,即磁盘中的任何一个数据块损坏将导致整个文件无法读取


2、RAID1(不含校验的镜像存储)

RAID 1 又称为Mirror 或Mirrooring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操作方式是把用户写入硬盘的数据百分之百的自动复制到另外一个硬盘上,从而实现存储双份的数据。RAID1 是磁盘阵列中单位成本最高的一种方式,磁盘利用率只有50%,并且阵列的大小取决于两块硬盘中最小的那块的容量,搭建RAID 1 至少需要两块磁盘。RAID 1 级别的磁盘阵列安全性是最好的,磁盘利用率在所有阵列组合当中是最低的。
工作原理:
如下图1-2所示,如果有一个文件要写入RAID 1 当中,该文件会写入磁盘1,同时以复制的形式写入磁盘2,D1与D2被同时存入磁盘1和磁盘2,其他以此类推。

图1-2 RAID 1 工作原理
在这里插入图片描述优点: RAID 1 通过磁盘镜像数据实现了数据冗余,保证了数据的安全性,可靠性高。读取数据时可以并发读取,相当于两块RAID 0的读取效率。

缺点: RAID 1 的写入效率低下。此外,磁盘利用率低,如果两块磁盘的存储空间均为50G,则RAID 1 的总存储空间依然为 50G。


3、RAID 5 (数据块级别的分布式校验条带存储)

RAID 5 是一种存储性能,数据安全和存储成本兼顾的存储解决方案。RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块磁盘设备中,而是存储到除自身以外的其他每一块对应的磁盘上,这样的好处是其中任何一个磁盘损坏后不至于出现致命缺陷,但只能允许一块磁盘损坏,否则无法利用剩下的数据和校验信息进行数据的恢复。搭建RAID 5 至少需要三块磁盘,搭建阵列后磁盘的可用数量为(n-1)/n,n为磁盘数。RAID 5 可以理解为是RAID 0 和RAID 1的折中方案,适合对性能和冗余都有一定要求,又都不是十分高的情况。搭建mysql的主从库都可以使用,普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID 5
工作原理:
如下图1-3所示,RAID 5 磁盘阵列写入数据时把校验码信息分布到各个磁盘上。例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息Parity也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。“parity”部分存放的就是数据的奇偶校验信息,实际上RAID 5 没有备份磁盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。

图1-3 RAID 5 工作原理
在这里插入图片描述
优点: 兼顾存储性能、数据安全和存储成本,相对于RAID 1 磁盘空间利用率高,能够支持在一块盘离线的情况下保证数据的正常访问,是在企业存储中应用较多的一种解决方案。

缺点: 写入性能相对较差,而且只允许单磁盘故障,在有磁盘离线的情况下,RAID 5 的读写性能较差,在重建数据时,性能会受到较大的影响。


4、RAID 6(两种存储的奇偶校验码的磁盘结构)

RAID6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。与RAID 5 相同的是当前磁盘数据块的校验数据不可能存在当前磁盘中,而是交错存储的。组建RAID 6 要求至少4块硬盘,而RAID 6可以允许坏掉两块硬盘。在实际应用中RAID6的应用范围并没有其它的RAID模式那么广泛,对于数据中心,信息中心等对数据安全级别要求比较高的企业才会使用到RAID 6 进行数据的保护。
工作原理:
如下图1-4所示,与RAID 5相似,RAID 6根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。在下图中,A、B、C、D是条带化的数据,p代表校验数据,q是第二份校验数据。

图1-4 RAID 6 工作原理
在这里插入图片描述
优点: RAID 6的数据冗余性能相当好,在使用大数据块时,随机读取性能好,允许两块硬盘的掉线,有更高的容错能力。

缺点: 由于增加了一个校验,所以写入的效率比RAID 5还差,而且RAID控制系统的设计也更为复杂,第二块的校验区也减少了硬盘有效存储空间。


5、RAID 10(镜像与条带存储)

RAID 10 不是独创的一种RAID级别,它由RAID 1 和 RAID 0 两种阵列形式组合而成,RAID 10继承了RAID 0 的快速与高效,同时也继承了RAID 1 的数据安全,RAID 10 至少需要四块硬盘。RAID 1+0,先使用四块硬盘组合成两个独立的RAID 1 ,然后将两个RAID 1 组合成一个RAID 0。需要注意Raid 10 和 Raid01的区别,RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1),而RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。组成RAID 10 至少需要四块磁盘,是在实际应用中较为常见阵列形式。
工作原理:
如下图1-5所示,系统首先创建2个独立的RAID1,然后将这两个独立的RAID1组成一个RAID0,当往这个逻辑Raid中写数据时,数据被有序的以条带的方式写入两个RAID1组合成的RAID 0 中,随后两个独立的RAID 1 又可以实现双磁盘镜像的功能。

图1-5 RAID 10 工作原理
在这里插入图片描述
优点: RAID10兼备了RAID1和RAID0的优点,不仅实现了数据保障的作用,也保障数据读写的效率。

缺点: 由于一半的磁盘空间都用于存储冗余数据,所以RAID 10的磁盘利用率很低,只有50%。


6、RAID 50

RAID50是RAID5与RAID0的结合。此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。每个RAID5子磁盘组要求至少三个硬盘。RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。如大型数据库服务器、应用服务器、文件服务器等。

工作原理:如下图1-6所示,它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实现跨磁盘抽取数据,RAID 50最少需要6个磁盘。

图1-6 RAID 50 的工作原理
在这里插入图片描述
优点: 比RAID5有更好的读性能,比相同容量的RAID5重建时间更短,可以容许N个磁盘同时失效,更高的容错能力,具备更快数据读取速率的潜力。

缺点: 设计复杂,比较难实现;同一个RAID5组内的两个磁盘失效会导致整个阵列失效;磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。


RAID总结如下表1-1所示:

RAID类型 RAID0 RAID1 RAID5 RAID6 RAID10
别名 条带 镜像 分布式奇偶校验条带 双重奇偶校验条带 镜像加条带
容错性 最差(完全无安全保障) 最高(提供数据的百分之百备份 有一定容错性
热备选择
随机读写性能 一般
磁盘利用率 最高(100%) 差(50%) (n-1)/n (n-2)/n 差(50%)
需使用的磁盘数量 n≥1 2 n≥3 n≥4 4
应用 个人用户 适用于存放重要数据,如服务器和数据库存储等领域。 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 数据中心,信息中心等对数据安全级别要求比较高的企业 集合了RAID0,RAID1的优点,但是空间上由于使用镜像,而不是类似RAID5的“奇偶校验信息”,磁盘利用率一样是50%

作者: 蔡君贤
排版: 何颖连
审核: 蔡宗唐
在这里插入图片描述


点击下方“正月十六工作室”查看更多学习资源

正月十六工作室

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159516.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IIS Express ArgumentOutOfRangeException

    IIS Express ArgumentOutOfRangeException

  • oracle创建表空间出错的原因和解决办法「建议收藏」

    oracle创建表空间出错的原因和解决办法「建议收藏」相信很多人在创建表空间的时候遇到过这样问题.问题原因:这是因为oracle数据库是在虚拟机或者是服务器上安装的.你在本地创建文件的时候自然会找不到文件夹.就会造成图上的错误解决办法:1.打开虚拟机2.连接上oracle数据库3.找到安装oracle文件夹的位置例如:D:\oracle11g\app\oracle\oradata\4.在cmd上敲命令:createtablespacetudoudatafile‘D:\oracle11g\app\oracle\orad…

  • javaquartz定时任务设置时间,太牛了![通俗易懂]

    javaquartz定时任务设置时间,太牛了![通俗易懂]前言其实前几篇文章已经写了好多有关于Spring源码的文章,事实上,很多同学虽然一直在跟着阅读、学习这些Spring的源码教程,但是一直都很迷茫,这些Spring的源码学习,似乎只是为了面试吹逼用,我大概问过一些同学,很多同学看了很长时间的Spring但是依旧不知道如何将这些学到的知识运用到实际的案例上!其实这个问题很好解决,如果你在开发中很少能够遇见需要Spring扩展时,不妨把目光放到一些依托于Spring的项目,看看它们是如何运用Spring的扩展点的。对于Spring的学习,我认为最终真正学会的

  • python中astype用法_浅谈python 中的 type(), dtype(), astype()的区别[通俗易懂]

    python中astype用法_浅谈python 中的 type(), dtype(), astype()的区别[通俗易懂]如下所示:函数说明type()返回数据结构类型(list、dict、numpy.ndarray等)dtype()返回数据元素的数据类型(int、float等)备注:1)由于list、dict等可以包含不同的数据类型,因此不可调用dtype()函数2)np.array中要求所有元素属于同一数据类型,因此可调用dtype()函数astype()改变np.array中所有数据元素的数据类型。备注…

  • pytorch实现resnet_如何搭建平台

    pytorch实现resnet_如何搭建平台ResNet34网络结构先上图参照ResNet18的搭建,由于34层和18层几乎相同,叠加卷积单元数即可,所以没有写注释,具体可以参考我的ResNet18搭建中的注释,ResNet34的训练部分也可以参照。importtorchimporttorch.nnasnnfromtorch.nnimportfunctionalasFclassCommonBlock(nn.Module):def__init__(self,in_channel,out_chann

  • 第三章,springboot 部分注解讲解,和多配置文件加载方式[通俗易懂]

    第三章,springboot 部分注解讲解,和多配置文件加载方式[通俗易懂]第三章,springboot 部分注解讲解,和多配置文件加载方式

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号