首页 > 其他分享 >RAID磁盘阵列是什么​

RAID磁盘阵列是什么​

时间:2023-10-15 19:32:08浏览次数:35  
标签:RAID 什么 RAID5 RAID6 RAID1 RAID0 磁盘 数据 磁盘阵列

在单机时代,采用单块磁盘进行数据存储和读写的方式,由于寻址和读写的时间消耗,导致I/O性能非常低,且存储容量还会受到限制。另外,单块磁盘极其容易出现物理故障,经常导致数据的丢失。因此大家就在想,有没有一种办法将多块独立的磁盘结合在一起组成一个技术方案,来提高数据的可靠性和I/O性能呢。

在这种情况下,RAID技术就应运而生了。

一、RAID 是什么?

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。

二、RAID 有哪些?

RAID方案常见的可以分为:

  1. RAID0
  2. RAID1
  3. RAID5
  4. RAID6
  5. RAID10

下面来分别介绍一下。

RAID0

RAID0 是一种非常简单的的方式,它将多块磁盘组合在一起形成一个大容量的存储。当我们要写数据的时候,会将数据分为N份,以独立的方式实现N块磁盘的读写,那么这N份数据会同时并发的写到磁盘中,因此执行性能非常的高。

RAID磁盘阵列是什么​_校验码


RAID0 的读写性能理论上是单块磁盘的N倍(仅限理论,因为实际中磁盘的寻址时间也是性能占用的大头)

但RAID0的问题是,它并不提供数据校验或冗余备份,因此一旦某块磁盘损坏了,数据就直接丢失,无法恢复了。因此RAID0就不可能用于高要求的业务中,但可以用在对可靠性要求不高,对读写性能要求高的场景中。

那有没有可以让存储可靠性变高的方案呢?
有的,下面的RAID1就是。

RAID1

RAID磁盘阵列是什么​_写数据_02



如图,

RAID1 是磁盘阵列中单位成本最高的一种方式。因为它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,这是一种比较昂贵的方案。

RAID1其实与RAID0效果刚好相反。RAID1 这种写双份的做法,就给数据做了一个冗余备份。这样的话,任何一块磁盘损坏了,都可以再基于另外一块磁盘去恢复数据,数据的可靠性非常强,但性能就没那么好了。

了解了RAID0和RAID1之后,我们发现这两个方案都不完美啊。
这时候就该性能又好、可靠性也高的方案

RAID5

这是目前用的最多的一种方式。
因为

在了解RAID5之前,我们可以先简单看一下RAID3,虽然RAID3用的很少,但弄清楚了RAID3就很容易明白RAID5的思路。

RAID3的方式是:将数据按照RAID0的形式,分成多份同时写入多块磁盘,但是还会另外再留出一块磁盘用于写「奇偶校验码」。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。

但是由于第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,也就非常的容易损坏。

RAID5的方式可以说是对RAID3进行了改进。

RAID5模式中,不再需要用单独的磁盘写校验码了。它把校验码信息分布到各个磁盘上。例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。

RAID磁盘阵列是什么​_校验码_03


RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)

RAID5的方式,最少需要三块磁盘来组建磁盘阵列,允许最多同时坏一块磁盘。如果有两块磁盘同时损坏了,那数据就无法恢复了。

RAID6

为了进一步提高存储的高可用,聪明的人们又提出了RAID6方案,可以在有两块磁盘同时损坏的情况下,也能保障数据可恢复。

为什么RAID6这么牛呢,因为RAID6在RAID5的基础上再次改进,引入了双重校验的概念。

RAID6除了每块磁盘上都有同级数据XOR校验区以外,还有针对每个数据块的XOR校验区,这样的话,相当于每个数据块有两个校验保护措施,因此数据的冗余性更高了。

但是RAID6的这种设计也带来了很高的复杂度,虽然数据冗余性好,读取的效率也比较高,但是写数据的性能就很差。因此RAID6在实际环境中应用的比较少。

RAID10

RAID10其实就是RAID1与RAID0的一个合体。

我们看图就明白了:

RAID磁盘阵列是什么​_校验码_04


RAID10兼备了RAID1和RAID0的有优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。

但也可以看出RAID10模式是有一半的磁盘空间用于存储冗余数据的,浪费的很严重,因此用的也不是很多。

整体对比一下 RAID0、RAID1、RAID5、RAID6、RAID10 的几个特征:

RAID磁盘阵列是什么​_数据_05




标签:RAID,什么,RAID5,RAID6,RAID1,RAID0,磁盘,数据,磁盘阵列
From: https://blog.51cto.com/lifulin/7873068

相关文章

  • 10-15|sudo hwclock --systohc这个是什么,什么情况下会用到这个
    `sudohwclock--systohc`是一个命令,用于将系统时间同步到硬件时钟。下面详细解释一下这个命令:1.**`sudo`**:这个前缀表示以超级用户权限执行接下来的命令。因为更改硬件时钟通常需要管理员权限,所以通常需要使用`sudo`。2.**`hwclock`**:这是一个工具,用于访问和修改硬件时......
  • 阿里云服务器“本地地域”是什么意思?
    什么是本地地域?本地地域只有一个可用区A,阿里云本地地域可选南京、福州和武汉,本地地域是阿里云面向数字经济热点及高潜力地区提供的低时延、低成本、一致性体验的全新公共云地域。阿里云百科aliyunbaike.com分享阿里云服务器本地地域详细介绍:阿里云本地地域详细介绍本地地域又称本地......
  • 阿里云服务器存储云盘I/O性能是什么意思?
    云盘的存储I/O性能是什么?存储I/O性能又称存储读写性能,指不同阿里云服务器ECS实例规格挂载云盘时,可以达到的性能表现,包括IOPS和吞吐量。阿里云百科分享阿里云服务器云盘(系统盘或数据盘)存储I/O性能详细说明:阿里云服务器块存储(系统盘/数据盘)云盘存储I/O性能详解存储I/O性能又称存储读......
  • layui的各模块的基本用途是什么?
    Layui是一个流行的前端UI框架,提供了多个模块,每个模块有不同的功能和用途。以下是Layui的一些主要模块以及它们的基本用途:核心模块(layui):Layui的核心模块包含了一些核心函数和全局配置,以及对其他模块的依赖管理。你需要在使用Layui时首先引入这个核心模块。布局模块(lay......
  • Java面试题支招-为什么Java语言不支持多继承
    这是非常经典的问题,与“为什么String类在Java中是不可变的”很类似;这两个问题之间的相似之处在于它们主要是由Java创作者的设计决策使然。Java不支持类的多继承。因为多继承会增加编程的复杂性。下图选自孙卫琴的经典Java书籍《漫画Java编程》当一个子类有多个父类可能出......
  • Kafka 什么速度那么快
    批量发送消息Kafka采用了批量发送消息的方式,通过将多条消息按照分区进行分组,然后每次发送一个消息集合,看似很平常的一个手段,其实它大大提升了Kafka的吞吐量。消息压缩消息压缩的目的是为了进一步减少网络传输带宽。而对于压缩算法来说,通常是数据量越大,压缩效果才会越好。因为有......
  • ATE测试工程师是做什么的?
    这是IC男奋斗史的第28篇原创本文1437字,预计阅读4分钟。前两天我们一个做封装的同事问我说,目前ATE测试工程师在就业市场上很火,很多公司都在急招,猎头也让他帮忙有偿推荐候选人。ATE测试工程师为什么会这么紧缺呢?杰哥将在这篇文章中给大家做出详细解答。ATE测试工程师岗位介绍芯......
  • 索引是不是建的越多越好?MySQL索引用的什么数据结构?一棵B+树能存储多少条数据?
    一、索引是不是建的越多越好当然不是。索引会占据磁盘空间索引虽然会提高查询效率,但是会降低更新表的效率。比如每次对表进行增删改操作,MySQL不仅要保存数据,还有保存或者更新对应的索引文件。二、MySQL索引用的什么数据结构MySQL的默认存储引擎是InnoDB,它采用的是B+树结构的索引......
  • 熔融指数是什么?
    熔融指数是一种衡量材料流动性的重要指标,它在许多领域都有广泛的应用。本文将向您介绍熔融指数的相关知识,包括定义、原理、影响因素及其作用。首先,让我们了解一下熔融指数的定义。熔融指数是指一定条件下,材料在规定时间内通过标准口模的流动长度。简单来说,它反映了材料在熔融状态下......
  • 三次握手中每一次没收到报文会发生什么情况?第二次握手传回了 ACK,为什么还要传回 SYN?第
    三次握手中每一次没收到报文会发生什么情况?第一次握手服务端未收到SYN报文服务端不会进行任何的动作,而客户端由于一段时间内没有收到服务端发来的确认报文,等待一段时间后会重新发送SYN报文,如果仍然没有回应,会重复这个过程,直到发送次数超过最大重传次数限制,就会返回连接建立失败。......