RAID磁盘阵列(RAID0/1/4/6/1+0)

news/2025/3/18 21:00:52/

目录

一、概述:

二、RAID 级别介绍

RAID 0

RAID 1

RAID 4

RAID 5

RAID 6

RAID1+0:


一、概述:

        RAID( Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。 RAID 的基本思想是把多个便宜的小磁盘组合到一起,组合为一个大磁盘组,使性能达到或超过一个容量巨大、价格昂贵、读写速度快的磁盘。

        目前 RAID 技术主要分为两种:基于硬件的RAID技术和基于软件的RAID 技术。

        在 Linux 系统中通过自带的软件就能模拟实现 RAID 功能,这样可省去购买昂贵的硬件 RAID 控制器的费用,便可极大地增强磁盘的 IO 性能和可靠性。

        由于是用软件去模拟实现的 RAID 功能,所以它的配置灵活、管理方便。同时使用软件 RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。

        当然基于硬件的 RAID 解决方案比基于软件 RAID 技术在性能上会胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。

二、RAID 级别介绍

        随着 RAID 技术经过不断的发展,现已有 RAID 0 到 RAID 6 七种基本的 RAID 级别,同时还有 RAID 0+RAID 1 的组合形式,称为RAID10,还有 RAID 0+RAID 5 的组合形式,称为RAID50。当然级别并不能代表技术的高低,其中 RAID 2-RAID 4 基本上不再使用了。

        目前这些常用的 RAID 级别 Linux 内核都能够支持,在 Linux 2.6 内核中的软 RAID 可支持以下级别: RAID 0、 RAID 1、RAID 4、 RAID 5 以及 RAID 6 等。 Linux 2.6 的内核除支持以上几种 RAID 级别外,还可支持 LINEAR(线性模式)的软 RAID,线性模式是将两个或更多的磁盘组合到一个物理设备中,磁盘不必具有相同的大小,在写入 RAID 设备时会首先填满磁盘 A,然后是磁盘 B,以此类推。

RAID 0

        也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取。

        当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用磁盘总线的带宽,显著提高磁盘整体存取性能。

        因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这通常是运行 RAID 0 的主要原因。

        但 RAID 0 没有数据冗余,如果其中一个硬盘出现故障,那么将无法恢复任何数据。

 

RAID 1

        RAID 1 又称为镜像( Mirroring),一个具有全冗余的模式。

        RAID 1 可以用于两个或 2xN 个磁盘,并使用 0 块或更多的备用磁盘,每次写数据时会同时写入镜像盘。

        这种阵列可靠性很高,但其有效容量会减小到总容量的一半, 同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。

 

RAID 4

        创建 RAID 4 需要三块或更多的磁盘,它在一个磁盘上保存校验信息,并以 RAID 0 方式将数据写入其它磁盘。因为一块磁盘是为校验信息保留的,所以阵列的空间大小是( N-l)*S,其中S 是阵列中最小磁盘的大小。就像在 RAID 1 那样,磁盘的大小应该相等。

        如果一个磁盘出现故障,那么可以使用校验信息及另一个磁盘来重建数据。如果两个磁盘出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个磁盘上。每次写入其它磁盘时,都必须更新这些信息。

        因此,在大量写入数据时很容易造成校验磁盘的瓶颈,所以目前这个级别的 RAID 很少使用了。

 

RAID 5

        在希望结合大量物理磁盘并且仍然保留一些冗余时, RAID 5 可能是最有用的 RAID 模式。 RAID 5可以用在三块或更多的磁盘上,并使用0 块或更多的备用磁盘。就像 RAID 4 一样,RAID5 设备的大小是(N-1)*S。

        RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个驱动器上,这样就避免了 RAID 4 中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始往备用磁盘上同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。

 

RAID 6

        RAID 6 是在 RAID 5 基础上扩展而来的。与 RAID 5 一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个硬盘上。

        只是RAID 6 中多增加一块校验磁盘,用于备份分布在各个磁盘上的校验码,这样 RAID 6 磁盘阵列就允许两个磁盘同时出现故障所以RAID 6 的磁盘阵列最少需要四块硬盘

 

RAID1+0:

        N(偶数,N>=4)块盘两两镜像后,在组合成一个RAID 0。容量为N/2,N/2块盘同时写入,写速度一般,N快盘同时读取,读速度较快。性能高,可靠性高。

 

RAID0

RAID1

RAID5

RAID6

RAID10

RAID50

特点

并行执行

读写速度快

数据完全冗余

读写速度快

数据有校验

读写速度快

数据有校验,冗余性高

读写速度更快

数据有校验高

读写速度更快

数据有校验高

缺点

数据无冗余

读写速度慢

磁盘数量太多

磁盘数量太多

磁盘数量太多

磁盘数

1

2

3

4

4

6

故障

磁盘数

0

1

1

2

2

2

空间

总和

1/2

(N-1)*S

(N-2)*S

1/2

(N-2)*S

场景

大空间测试

系统

常规服务

数据库


http://www.ppmy.cn/news/1070419.html

相关文章

探索性测试入门指南

探索性测试是一种依靠测试人员经验的软件测试方法,强调测试人员可以自由地对系统进行交互和操作,自由地设计和执行测试,而不是严格遵循预定的测试用例。在探索性测试过程中,测试人员依靠经验和直觉来模拟用户的各种使用情形&#…

java Server Sent Event 实现消息推送

我选择的是Server-sent events),简称SSE。主要是我理解起来简单。 这个链接是介绍 几种消息推送的方式java实现web实时消息推送的七种方案--个人学习记录_java实时推送前端数据_自不惘的博客-CSDN博客 一、java服务端代码 //SSE:一种服务器发送事件(S…

医学影像PACS系统源码,患者登记、图像采集和处理、图像存储、报告产生的影像系统

PACS系统是医院影像科室中应用的一种系统,主要用于获取、传输、存档和处理医学影像。它通过各种接口,如模拟、DICOM和网络,以数字化的方式将各种医学影像,如核磁共振、CT扫描、超声波等保存起来,并在需要时能够快速调取…

Redis 7 教程 事务 过渡篇

理论 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞 一个队列中,一次性、顺序性、排他性的执行一系列命令 Redis事务 VS 关系型数据库事务 单独的隔离操作Redis的事务仅仅是保证事务里的…

docker高级(redis集群三主三从)

1. 新建6个docker容器redis实例 docker run -d --name redis-node-1 --net host --privilegedtrue -v /redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381docker run -d --name redis-node-2 --net host --privilegedtrue -v /…

MYSQL 添加行号将行号写入到主键的列

MYSQL 添加行号 SELECT rownum: rownum 1 AS rownum, a.* FROM(SELECT rownum : 0) t,is_afxt.hk_vehicle a--或者(假设CREATED_TIME日期列数据不重复) select (select count(1)1 from is_afxt.hk_vehicle b where b.CREATED_TIME < a.CREATED_TIME) rownum ,a.* from i…

SpringBoot项目转为非Web项目

在微服务开发时&#xff0c;有时候某个服务可能并不需要是一个web项目&#xff0c;这时候应该怎么做呢&#xff1f; 去除pom中的web-starter 替换spring-boot-starter-web为spring-boot-starter&#xff0c;如果其他pom引入了web则需要逐一排除 <dependency><…

java自动登录 selenium 自动登录并获取cookie

选择操作网页 我用的edge&#xff0c;谷歌我的版本太高没有对应的驱动… 下载Edge的驱动程序&#xff0c;直接解压就好里面只有一个.exe文件 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ 复制即用&#xff0c;看注释 import com.alibaba.fastjs…