RAID磁盘阵列技术详细介绍

embedded/2024/11/9 1:26:14/

RAID_0">RAID是什么?

RAID定义
数据存储虚拟化技术
提高数据可靠性容错能力和性能
组合多个磁盘驱动器成一个逻辑单元
在多个硬盘之间分散数据
保护数据不丢失
提高数据访问速度

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种将多个磁盘驱动器组合成一个逻辑单元的数据存储虚拟化技术。
RAID的主要目的是提高数据的可靠性、容错能力和性能。通过在多个硬盘之间分散数据,RAID可以在一块或多块硬盘发生故障时保护数据不丢失,并且可以通过并行操作提高数据访问速度。
磁盘阵列还能利用同位检查(Parity Check)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计算后重新置入新硬盘中。

RAID_15">常见RAID级别

RAID_0_16">1.RAID 0(条带化):

图源于网络技术联盟站

数据被分割成多个部分(条带),然后分散存储在两个或多个硬盘上。
优点是提高了数据的读写速度,因为多个硬盘可以并行工作。
缺点是没有冗余,任何一个硬盘的故障都会导致整个阵列中的数据丢失。

RAID_1_25">2.RAID 1(镜像):

在这里插入图片描述

图源于网络技术联盟站

数据在两个硬盘上存储两份,即每次写操作都会写到两个硬盘上。
优点是提供了高数据冗余,任何一个硬盘的故障都不会导致数据丢失。
缺点是存储效率低,只有50%的存储空间被使用,且写入速度较慢。

RAID_5_33">3.RAID 5(带奇偶校验的条带化):

在这里插入图片描述

图源于网络技术联盟站

RAID 5的可用空间等于硬盘总数减去1。这是因为一个硬盘的容量被用来存储奇偶校验信息。
数据和奇偶校验信息被分散存储在三个或更多的硬盘上。
优点是提供了冗余和较好的读写性能。
缺点是写入操作较慢,因为需要计算奇偶校验信息。

RAID_6_42">4.RAID 6(双奇偶校验):

类似于RAID 5,但是有两个奇偶校验块,可以容忍两块硬盘同时故障。
在这里插入图片描述

图源于网络技术联盟站

RAID_10RAID_10_47">5.RAID 10(或称RAID 1+0):

在这里插入图片描述

图源于网络技术联盟站

结合了RAID 1和RAID 0的特点,先进行镜像再进行条带化。
优点是提供了高冗余和高性能。
缺点是成本较高,因为需要至少四块硬盘。

RAID_50RAID_50_55">6.RAID 50(或称RAID 5+0):

在这里插入图片描述

图源于网络技术联盟站

结合了RAID 5和RAID 0的特点,先进行条带化再进行奇偶校验。
优点是提高了性能,尤其是在大量硬盘的情况下。
缺点是写入性能仍然受到奇偶校验计算的限制。

我们平时最常使用的是RAID5,接下来详细介绍RAID5.

RAID5_67">常用之RAID5

RAID_5_68">RAID 5奇偶校验块分布

RAID 5 中根据奇偶校验块分布可以将RAID5又分成几类。

在这里插入图片描述

RAID5_72">一个案例:RAID5写命令分解过程(大写)

在这里插入图片描述
假如有如上的RAID5阵列,块大小2KB,我们要写数据长度16k,起始地址为0。

则要写的有效数据为图中的0~7块。

对0号盘来说:

顺序写出0,3,6块,可以合并为一个读命令,数据长度为6k。

为什么不用写0号盘上的P?因为我们只更新了前三行,0号盘上的P是第四行的校验和,不用更新。

对1号盘来说:

1.计算校验P
2.写数据和校验命令(合并为1条命令)

注意,计算1号盘的P是需要读8号块的旧数据的(大写) 所以1号盘还需要等待3号盘先读8号块的旧数据

对2号盘来说:

1.计算校验P
2.写数据和校验命令(合并为1条命令)

2号盘没有什么特殊的

对3号盘来说:

1.读旧的数据命令
2.计算校验命令
3.写数据和校验(合并为1命令)

3号盘读的8号块的旧数据,这是为了1号盘第三行P的更新。

RAID5_99">另一个案例:RAID5写命令分解过程(小写)

在这里插入图片描述
写命令:0x0a,数据长度38k,起始地址为0,则要写的有效数据为图中的0~18块。
小写过程
1.读第18号块的旧数据
2.读图中红色的旧校验数据
3.计算校验:P= D18old⊕ D18 ⊕ Pold
4.写入新的数据D18和新的校验P

本文内容参考百度百科、网络技术联盟站、一得同学等


http://www.ppmy.cn/embedded/136043.html

相关文章

基于TRIZ理论的便携式光伏手机充电装置创新

随着智能手机功能的日益强大,电量消耗问题也日益凸显,尤其是在户外活动时,电量告急常常让人措手不及。面对这一挑战,基于TRIZ(发明问题解决理论)的创新思维,一款全新的便携式光伏手机充电装置应…

python操作MySQL以及SQL综合案例

1.基础使用 学习目标:掌握python执行SQL语句操作MySQL数据库软件 打开cmd下载安装 安装成功 connection就是一个类,conn类对象。 因为位置不知道,所以使用关键字传参。 表明我们可以正常连接到MySQL 演示、执行非查询性质的SQL语句 pytho…

FTP替代方案:FileLink内外网文件摆渡,助力企业安全高效文件传输

FTP(文件传输协议)一直是企业进行文件传输的标准解决方案。但随着网络安全威胁的不断增加和企业对于文件传输效率和安全性的更高要求,FTP逐渐显得力不从心。那么,如何安全、便捷地传输大文件和敏感数据呢?FileLink作为…

springmvc 工作原理

Spring MVC 是基于 Java 的一种轻量级的 Web 框架,采用 MVC(Model-View-Controller)设计模式。它的工作原理大致分为以下几个步骤,核心是通过一系列的组件实现请求的分发、数据的处理与视图的渲染。 Spring MVC 工作流程 客户端发…

vue3 动态路由+动态组件+缓存应用

文章目录 Vue 3 案例复现(动态注册组件及路由重定向)1. 项目结构2. Vuex 存储相关信息(src/store/index.js)3. 动态注册组件示例(src/router/index.js)4. 登录组件(src/views/Login.vue&#xf…

后端Node学习项目-项目基础搭建

前言 各位好,我是前端SkyRain。最近为了响应公司号召,开始对后端知识的学习,作为纯粹小白,记录下每一步的操作流程。 项目仓库:https://gitee.com/sky-rain-drht/drht-node 因为写了文档,代码里注释不是很…

无人机操控员培训班课程详解

无人机操控员培训班课程通常涵盖多个方面,以确保学员能够全面掌握无人机操控技能和相关理论知识。以下是对无人机操控员培训班课程的详细解析: 一、基础理论课程 1. 无人机基础知识 介绍无人机的定义、分类、工作原理及系统组成,使学员对无…

【CANOE】【学习】【诊断功能】正响应抑制

文章目录 一、正响应抑制是什么?二.什么背景下产生三.作用四.如何实现五.capl代码如何实现总结diagGetSuppressRes 相关函数**Function Description****Syntax****Method (Dynamic)****Functionality****Parameters****Return Values****Availability****Example***…