BIOS知识枝桠——RAID 磁盘阵列

文章目录

  • 前言
  • 一、RAID介绍
  • 二、RAID等级分类
    • 1.RAID0
    • 2.RAID1
    • 3.RAID2
    • 4.RAID3和RAID4
    • 5.RAID5和RAID6
    • 6.RAID7
    • 7.RAID10
  • BIOS下组建RAID


前言

假设存在多块磁盘,如果不组建阵列,磁盘与磁盘之间是没有任何关系的。磁盘A和B,放在A中的文件与B磁盘没有关系,两块磁盘是完全独立的两个数据仓库,这种传统的没有联系的关系简称JBOD(Just a bunch of disk)结构。这种结构存在很大弊端,当调取磁盘A内数据时,磁盘A在全力工作,磁盘B是空闲的,磁盘B同理,除非同时调用磁盘AB的数据,不然总有一块磁盘是空闲的,无形间就浪费了一部分磁盘性能,为了发挥所有磁盘的性能,磁盘列阵产生了。


一、RAID介绍

RAID:容错式磁盘阵列(Redundant Arrays of Independent Disks,简称:磁盘阵列)是利用利用虚拟化储存技术把多个硬盘组合起来,成为一个或多个硬盘数组组,目的为提升效能或数据容错功能。
在给磁盘组建完RAID后,在电脑内就只会看到一个RAID的阵列盘,子磁盘是看不到的,只需要和使用普通磁盘一样去使用RAID即可。

二、RAID等级分类

RAID有不同等级,目前行业的公认的等级为0-7,不同等级之间并没有优劣之分,仅仅是不同功能的阵列,在使用时根据不同的需求和情况组建合适的RAID。

1.RAID0

RAID0的工作原理很像内存双通道,至少需要两块磁盘,工作原理是把一个完整的数据拆开以后分散到两块磁盘里去,写入的时候同时往两块磁盘写入,读取的时候同时从两块磁盘读取,做到和内存双通道一样带宽翻倍速度翻倍的效果。比较强大的地方是有多少磁盘就可以翻多少倍性能,由于没有和内存一样的IMC的限制,可以把南桥的带宽跑到上限,但是这里的翻倍速度只是连续读写速度,RAID0是无法提高随机读写性能的。
随机读写主要考验的就是硬盘的寻道和寻址能力,在组建完RAID以后,硬盘随机读写性能低下的问题是没有办法改变的,硬盘还是要花费大量的时间去寻道和寻址,所以组建RAID随机读写性能的提高对于单块磁盘来讲,提升是非常微弱的,也有可能会因为某块磁盘问题出现组RAID0 后随机读写能力弱于单块磁盘的现象。
RAID0是所有阵列里传输速度最快也是最不安全的,因为数据被拆分到了好几块磁盘里,假设组了6块磁盘的RAID0,数据就被拆成6份分散在6个磁盘里,万一有任意一块磁盘出现故障,只有剩下的5块磁盘的数据是无法正常读取的,会导致所有的数据全部报废。
因此RAID0 的优缺点都很极端,加的磁盘越多,速度越快,数据越危险。
RAID0
内存的IMC限制指的是内存控制器(Integrated Memory Controller)的限制。IMC是现代处理器中的一个组件,它负责管理处理器与内存之间的数据传输。其主要作用是控制内存的访问速度和数据传输,以确保处理器能够高效地读取和写入数据。

IMC限制通常表示内存控制器的最大容量或频率。最大容量限制指的是处理器所支持的最大内存容量,即可以安装在系统中的最大内存大小。最大频率限制指的是内存控制器所支持的最大内存频率,即内存模块的工作频率。

2.RAID1

RAID1又被称为镜像,至少也是需要两块磁盘才可以实现,工作原理就是吧一份完整的数据复制到其他磁盘里去,假设有两块磁盘组成RAID1,向RAID1存放数据的时候,两块磁盘内都会存入完全一模一样的数据,所以RAID1就是相当于自动备份。而且组建RAID1以后,系统上只会看见一块磁盘,这是所有阵列里最安全的,但是相应的他的空间利用率和速度是最低的。
RAID1
假设由两块1T的磁盘组成RAID1,你在系统内只能看到一块磁盘的容量,速度也是一块磁盘的速度,多了一个全自动备份功能。

3.RAID2

RAID2是一种利用海明码校验的一种阵列,主要目的是在RAID0的基础上增加数据纠错能力但并不是容灾,数据纠错能力指的是系统能够在数据传输或存储过程中检测并纠正数据错误的能力。容灾能力是指系统在面对灾难性事件(如自然灾害、人为破坏等)时,能够在较短时间内从灾难中恢复运行并保持正常的业务连续性。
RAID2以数据的第2的n次方为校验文件,也就是1、2、4、8、16、32位是用来纠错的校验码,其他的位置才是原始数据,假设有一个4位编码的数据需要存储,那就需要7块磁盘1 2 4存放校验码,3567是存放数据。假设有8位编码的数据,那么1 2 4 8是拿来存放校验码,35679 10 11 是存放数据,所以RAID2的编码数据位数越少磁盘利用率越低。
RAID2

由于一次写入数据可以往多块磁盘里写入,所以和RAID0有比较相似的并发性能,但是由于还需要计算校验码,读取的时候也需要读取校验码用于纠错,所以性能开销比较大所以使用的人很少。

4.RAID3和RAID4

RAID3的实现至少需要3块磁盘,在RAID0的基础上增强容灾能力。假设用三块磁盘组成RAID0,这时候再增加一块磁盘作为第四块,第四块磁盘存放着前面三块磁盘的恢复码,在前三块磁盘任意一块出现故障的时候,靠着剩下两块磁盘的数据和恢复码就可以恢复丢失的磁盘的数据,而恢复码的磁盘即使损坏了也不会影响前面三个磁盘的使用。
由于前面三块磁盘和RAID0一样,仅仅只是最后多了校验磁盘,和RAID2海明码的一堆纠错码不同,恢复码的性能消耗比较少,所以RAID3的性能非常接近RAID0。
RAID3
RAID4和RAID3很像,也是在RAID0的基础上增加一块恢复码磁盘,假设RAID3和4都是3数据盘和1恢复盘,要存储一个文件,被分成了3组,三组数据需要分别存储到磁盘内,RAID3是3组数据依次拆分加上那一组的数据恢复码写入磁盘,RAID4则是123组直接准备好,再为123组的数据整体准备一个恢复码,再把三组数据和整体的恢复码写进去。
这俩的区别就是,RAID3是将1个数据块拆分分开存,校验码也是针对拆分的部分去进行计算的,RAID4是直接按区块去进行存储,校验码是一块计算写入,容灾能力都是一块磁盘。问题就在,假设增加到了5块、10块数据盘,恢复盘始终都是一块,数据盘越来越多,只有一个恢复盘会制约整个阵列的性能。恢复盘的数据没有写入完成,下一次写入是没办法进行的。

5.RAID5和RAID6

RAID5将磁盘恢复码不再单独存放在恢复盘,而是直接拆分开,每一块磁盘里都储存一部分恢复码,这样恢复码的写入操作就是由4快磁盘共同完成,假设其中第三块磁盘无法读取,B1 B2 B3都在不需要恢复,A1+A2+Ap可以恢复A3,C1+Cp+C3可以恢复C2,Dp+D1+D3可以恢复D2。
所以RAID5一方面可以做到RAID0相似的性能还增加了一块磁盘的容灾能力,还解决了RAID4恢复码的瓶颈,所以民用层面RAID5是使用最多的一种磁盘。
RAID5
需要注意的是做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。
RAID6的恢复码相对于RAID5从一组变成了2组,下图中黄 绿为恢复码部分,即使损坏了两块磁盘,数据依然能找回,这就让RAID6有了两块磁盘的容灾能力。
RAID6

6.RAID7

RAID 7 全称叫“Optimized Asynchrony for High I/O Rates as well as high Data Transfer Rates(最优化的异步高 I/O 速率和高数据传输率)”,它与以前我们见到 RAID 级别具有明显的区别。RAID 7 完全可以理解为一个独立存储计算机,它自身带有操作系统和管理工具,完全可以独立运行。大多数用户用不到。
RAID7
感兴趣可自行搜索:https://www.leixue.com/ask/what-is-raid7

7.RAID10

RAID除了基础单个存在之外,还可以嵌套使用,RAID10就是比较常用的一种。
首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。
RAID10
虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。假如磁盘中的某一块盘坏了,整个逻辑磁盘仍能正常工作的。
当我们需要恢复RAID10中损坏的磁盘时,只需要更换新的硬盘,按照RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。原先的数据会同步恢复到更换的硬盘中。


BIOS下组建RAID

[主板]Intel 500系列或之前/AMD主板 BIOS下如何组建RAID可以参考:https://www.asus.com.cn/support/FAQ/1045089/
[主板]Intel 600或700系列BIOS下如何组建RAID可以参考:https://www.asus.com.cn/support/FAQ/1047139

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/327341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

布隆过滤器四种实现(Java,Guava,hutool,Redisson)

1.背景 为预防大量黑客故意发起非法的时间查询请求,造成缓存击穿,建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数(哈希函数)来记录与识别某个数据是否在一个集合中。如果数据不在集合中…

msvcr100.dll丢失的6种解决方法

我们来了解一下msvcr100.dll是什么。msvcr100.dll是Microsoft Visual C 2010 Redistributable Package的一部分,它包含了许多运行在Windows操作系统上的应用程序所需的运行时组件。这些组件包括C标准库、MFC(Microsoft Foundation Class)库等…

vivado 添加现有IP文件、生成IP

添加现有IP文件 作为从AMD IP目录添加和自定义IP的替代方案,您可以直接添加XCI或XCIX文件。此过程不同于从按以下方式编目: •XCI或XCIX文件可能是早期版本,也可能是相同或完全自定义的版本AMD IP目录中发现的类似IP。 •XCI或XCIX文件可能…

meter报OOM错误,如何解决?

根据在之前的压测过程碰到的问题,今天稍微总结总结,以后方便自己查找。 一、单台Mac进行压测时候,压测客户端Jmeter启动超过2000个线程,Jmeter报OOM错误,如何解决? 解答:单台Mac配置内存为8G&…

log4j2漏洞综合利用_CVE-2021-44228_CNVD-2021-95919

1.漏洞利用 1.1.rmi 利用 1、在检测到目标存在 log4j2 漏洞后,确定漏洞参数,尝试接受目标 rmi 请求。 成功接收到请求。 出现 JRMIK 字样即代表可接受 RMI 请求。 2、漏洞利用。 使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar执行命令&#xff0…

AI大模型预先学习笔记二:prompt提问大模型、langchain使用大模型框架、fine tune微调大模型

文章目录 一、Prompt Engineering(怎么去提问大模型)1)环境准备2)交互代码的参数备注3)交互代码 二、LangChain(一个框架去使用大模型)1)LangChain核心介绍:I/O模块、数据…

debian 11 arm64 aarch64 D2000 平台编译 box86 box64 笔记

参考资料 https://github.com/ptitSeb/box86/blob/master/docs/COMPILE.md 源码地址 GitHub - ptitSeb/box86: Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices deb在线源地址(打不开): Itais box86…

宿舍管理系统的设计与实现:基于Spring Boot、Java、Vue.js和MySQL的完整解决方案

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

vue前端开发自学,祖孙多层级组件嵌套关系数据传输

vue前端开发自学,祖孙多层级组件嵌套关系数据传输!官方提供了一个解决方案,就是,在根组件内使用provide,哪个子孙组件想调用这个数据,就可以inject接收就行了。虽然是方便了,但是这个有点要求,就是只能自上…

05-HAL库硬件SPI点亮板载LCD屏幕

05-HAL库硬件SPI点亮板载LCD屏幕 1、本节内容介绍 1.1、HAL库硬件SPI 在cubemx中的配置及注意事项;1.2、HAL库SPI详解与结构介绍;1.3、实现硬件SPI驱动板载ST7789显示屏,240*240像素; 源码地址:https://gitee.com/MR_Wyf/hal-cubemx-rt-thread/tree/h…

李宏毅LLM——机器学习基础知识

文章目录 机器学习基本概念生成式学习 Structured Learning总结 机器学习基本概念 机器学习 机器自动找出一种函数 根据函数的不同,可以分为回归问题(输出数值)和分类问题(输出类别,选择题) 生成式学习 …

【征服redis1】基础数据类型详解和应用案例

博客计划 ,我们从redis开始,主要是因为这一块内容的重要性不亚于数据库,但是很多人往往对redis的问题感到陌生,所以我们先来研究一下。 本篇,我们先看一下redis的基础数据类型详解和应用案例。 1.redis概述 以mysql为…

用julia演示蝴蝶效应:洛伦兹吸引子

文章目录 Lorentz吸引子julia绘图关闭抗锯齿 蝴蝶效应的名字来源于蝴蝶扇动翅膀的动作,虽然这个动作微小,但可能会在数周后引起飓风等极端天气的发生。这种现象表明,微小的变化可能会被放大并产生非线性的结果。这个概念最早由美国气象学家爱…

Jmeter接口测试(2024版)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用…

控制网页的灰度显示

1.代码&#xff1a; 普通网页 <style>html {filter: grayscale(100%);}</style> 或是:webkit内核浏览器写法 <style>html {-webkit-filter: grayscale(100%)}</style> 2.说明&#xff1a; grayscale(amount) :进行灰度转换。 amount转换值的大小&…

MySQL系列之数据导入导出

前言 大数据与云计算作为当今时代&#xff0c;数据要素发展的“动力引擎”&#xff0c;已经走进了社会生活的方方方面。而背后承载的云服务或数据服务的高效运转&#xff0c;起了决定作用。 作为数据存储的重要工具&#xff0c;数据库的品类和特性也日新月异。从树型、网络型…

数据库开发工具:Navicat Premium 16 (Win/Mac)中文激活版

Navicat Premium 16 是一款强大的数据库管理工具&#xff0c;旨在帮助用户更轻松地管理和维护各种数据库类型。 以下是关于 Navicat Premium 16 的详细介绍&#xff1a; 数据库支持&#xff1a;Navicat Premium 16 支持多种数据库类型&#xff0c;包括 MySQL、PostgreSQL、SQLi…

C++核心编程之类和对象---C++面向对象的三大特性--多态

目录 一、多态 1. 多态的概念 2.多态的分类&#xff1a; 1. 静态多态&#xff1a; 2. 动态多态&#xff1a; 3.静态多态和动态多态的区别&#xff1a; 4.动态多态需要满足的条件&#xff1a; 4.1重写的概念&#xff1a; 4.2动态多态的调用&#xff1a; 二、多态 三、多…

Git 使用与问题记录 二(公司快速上手版)

写在前面 记录自己学习的内容&#xff0c;方便后面忘记的时候查看。给像我一样的新手提供一点参考 正文 上一章已经安装好了Git&#xff0c;如何使用呢。我这里会分享两种办法&#xff0c;第一种是在VS2022中克隆代码&#xff0c;修改和提交&#xff1b;第二种是用命令提交。…

Linux Centos7静默安装(非图形安装)Oracle RAC 11gR2(Oracle RAC 11.2.0.4)

Oracle RAC (全称Oracle Real Application Clusters &#xff09;静默安装&#xff08;非图形安装&#xff09;教程。 由于这篇文章花费了我太多时间&#xff0c;设置了仅粉丝可见&#xff0c;见谅。 环境说明&#xff1a; 虚拟机软件&#xff1a;VMware Workstation 16 Pro…