RAID相关知识

简介

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。RAID技术将多个单独的物理硬盘以不同的方式组合成一个逻辑磁盘,从而提高硬盘的读写性能和数据安全性。

数据组织形式

分块:将一个分区分成多个大小相等的、地址相邻的块,这些块称为分块。由它组成条带。

条带:同一磁盘阵列中多个磁盘驱动器上相同的位置(或者说是相同编号)的分块。

热备

当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用情况下,用RAID系统中另一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性。

分类

全局式:备用硬盘为系统中所有的冗余RAID组共享

专用式:备用硬盘为系统中某一组冗余RAID组专用

RAID级别

RAID0

简单的、无数据校验的数据条带化技术

RAID0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。具有低成本、高读写性能、100% 的高存储空间利用率等优点。但是不提供数据冗余保护,一旦数据损坏,将无法恢复。

RAID 1

数据镜像,无校验

将数据完全一致地分别写到工作磁盘和镜像磁盘,磁盘空间利用率为50%。RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。

RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。

RAID 3

数据条带化读写,校验信息存放在专用硬盘

采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中。RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中。

如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

RAID 5

数据条带化,校验信息分布式存放

采用磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。

RAID 6

数据条带化,分布式校验并提供两级冗余

可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。

横向校验盘:P1 -- P4为各个数据盘中横向数据的校验信息。

P1 = A1 XOR A2 XOR A3 XOR A4。

斜向校验盘:DP1 -- DP4为各个数据盘及横向校验盘的斜向数据的校验信息。

DP1 = A1 XOR A6 XOR A11 XOR A16

DP2 = A2 XOR A7 XOR A12 XOR P4

DP3 = A3 XOR A8 XOR P3 XOR A13

DP4 = A4 XOR P2 XOR A9 XOR A14

RAID 10

先做RAID 1,后做RAID 0,将镜像和条带进行两级组合的RAID级别

RAID 50

先做RAID 5,后做RAID 0。

主流RAID等级技术对比

坏盘数量

有几块校验盘,就最多允许坏几块盘。

|--------|--------|--------|--------|--------|---------|
| RAID级别 | RAID 0 | RAID 1 | RAID 5 | RAID 6 | RAID 10 |
| 最多坏盘数量 | 0 | n/2 | 1 | 2 | n/2 |

逻辑卷

在RAID基础上可按照指定容量创建一个或多个逻辑卷,通过LUN(Logic Unit Number)来标识

相关推荐
laoli_coding22 分钟前
系统部署之部署方式
服务器
星融元asterfusion35 分钟前
高效网卡部署与自动化运维:EasyRoCE Toolkit NC 配置指南
运维·自动化
无足鸟ICT1 小时前
【RHCA+】管道符
linux·运维·服务器
老约家的可汗1 小时前
Linux的库制作和原理
linux·运维·服务器
技术民工之路1 小时前
RAG 在真实业务项目落地全流程(从需求到上线运维)
运维
极客先躯2 小时前
高级java每日一道面试题-2026年04月05日-实战篇[Docker]-如何排查容器 OOM 的问题?
java·运维·docker·容器·内存溢出·高级面试
玖玥拾2 小时前
C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动
服务器·开发语言·网络·ui·unity·c#·游戏引擎
巴啦啦小魔仙变身3 小时前
SIGINT = Signal Interrupte
linux·服务器·python
RisunJan3 小时前
Linux命令-route(查看/修改 IP 路由表)
linux·运维
不会C语言的男孩4 小时前
TCP通信可视化工具,含下载地址
服务器·网络·安全