计算机基础之RAID技术

news2024/11/26 21:37:12

概述

RAID,Redundant Array of Independent Disks,独立磁盘冗余阵列,一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术,是目前商用服务器常见的磁盘管理技术。主要是为了改善磁盘的存储容量、读写速度,增强磁盘的可用性和容错能力。目前服务器级别的计算机都支持插入多块磁盘(8块或者更多),通过使用RAID技术,实现数据在多块磁盘上的并发读写和数据备份。基本功能包括数据冗余和性能提升:

  • 数据冗余:指把数据的校验信息存放在冗余的磁盘中,在某些磁盘数据损坏时,能从其他未损坏的磁盘中,重新构建数据
  • 性能提升:提高传输速率,磁盘阵列将多个磁盘组成一个阵列,当做一个单一的磁盘使用,把数据已分段的形式存储到不同的硬盘之中,发生数据存取变动时,阵列中的相关磁盘一起工作,这就可以大幅的降低数据存储的时间,同时还能拥有更佳的空间和使用率

原理

常用RAID技术有以下几种:
在这里插入图片描述

RAID0

假设服务器有N块磁盘:
在这里插入图片描述
数据在从内存缓冲区写入磁盘时,根据磁盘数量将数据分成N份,这些数据同时并发写入N块磁盘,使得数据整体写入速度是一块磁盘的N倍,读取时也一样,因此RAID0具有极快的数据读写速度。

优势:提升IO

劣势:不做数据备份没有冗余(错误修复)能力,N块磁盘中只要有一块损坏,数据完整性就被破坏,所有磁盘的数据都会损坏。

计算:2块40G的硬盘做RAID0,可用总容量为累加值,即80G,利用率是100%

RAID1

RAID1这种方案是为解决RAID0的问题,数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会导致数据丢失,插入一块新磁盘就可以通过复制数据的方式自动修复,具有极高的可靠性。
在这里插入图片描述
优势:数据可靠性
劣势:磁盘利用率为50%

RAID3

一般情况下,一台服务器上不会出现同时损坏两块磁盘的情况,在只损坏一块磁盘的情况下,如果能利用其它磁盘的数据恢复损坏磁盘的数据,就能在保证可靠性和性能的同时,大幅提升磁盘利用率。
在数据写入磁盘时,将数据分成N-1份,并发写入N-1块磁盘,并在第N块磁盘记录校验数据,任何一块磁盘损坏(包括校验数据磁盘),都可以利用其它N-1块磁盘的数据修复。
但是在数据修改较多的场景中,任何磁盘修改数据都会导致第N块磁盘重写校验数据,频繁写入的后果是第N块磁盘比其它磁盘容易损坏,需要频繁更换,所以RAID3很少在实践中使用。

RAID5

相比RAID3,更多被使用的方案是RAID5。RAID5和RAID3很相似,但是校验数据不是写入第N块磁盘,而是螺旋式地写入所有磁盘中。这样校验数据的修改也被平均到所有磁盘上,避免RAID3频繁写坏一块磁盘的情况。

至少需要3块硬盘。通用采用4块硬盘,其中有一块硬盘是用来做数据冗余的,如果做RAID5的服务器上有一块硬盘坏掉,那么需要把坏的盘拨下来,然后换上一块新的硬盘,系统会自动进行数据同步。

可用容量:单块磁盘容量 * (n-1),n为磁盘数。

安全性能方面,RAID1最高,RAID5次于RAID1。

缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,RAID5 IO/CPU性能狂跌,此时性能烂到无以复加。

建议:盘不多,对数据安全性和性能提示都有要求,RAID5是个不错选择,盘多可考虑RAID10。

RAID6

如果数据需要很高的可靠性,在出现同时损坏两块磁盘的情况下(或者运维管理水平比较落后,坏一块磁盘但是迟迟没有更换,导致又坏一块磁盘),仍然需要修复数据,这时候可以使用RAID6。RAID6和RAID5类似,但是数据只写入N-2块磁盘,并螺旋式地在两块磁盘中写入校验信息(使用不同算法生成)。

至少需要4块硬盘,RAID6是在RAID5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。
可用容量:

C=(N-2)×D
C=可用容量 N=磁盘数量 D=单个磁盘容量

RAID10

利用奇偶校验实现条带集镜像,结合RAID0和RAID1两种方案,将所有磁盘平均分成两份,数据同时在两份磁盘写入,相当于RAID1,但是在每一份磁盘里面的N/2块磁盘上,利用RAID0技术并发读写,既提高可靠性又改善性能,不过磁盘利用率较低,有一半的磁盘用来写备份数据。

至少需要4块硬盘,是一种高成本、高可靠性、高存储性能的三高阵列技术。

缺点:对盘的数量要求稍高,磁盘使用率为50%。

对比

RAID技术有硬件实现,比如专用的RAID卡或主板直接支持,也可以通过软件实现,在操作系统层面将多块磁盘组成RAID,在逻辑上视作一个访问目录。RAID技术在传统关系数据库及文件系统中应用比较广泛,是改善计算机存储特性的重要手段。

RAID技术只是在单台服务器的多块磁盘上组成阵列,大数据需要更大规模的存储空间和访问速度。将RAID技术原理应用到分布式服务器集群上,就形成Hadoop分布式文件系统HDFS的架构思想。

各级RAID的对比

RAID级别别名容错冗余读性能写性能空间利用率数据可靠性最大能容忍的坏盘数
RAID0条带单块盘的N倍单块盘的N倍100%很低0
RAID1镜像单块盘的N倍最慢磁盘的性能50%很高N-1
RAID2--不到单块盘的N倍单盘的写入速度 * 校验盘的数量不到100%取决于海明纠错码位数
RAID3专用奇偶校验条带单块盘的N-1倍校验盘的写入速度(N-1)/N1
RAID4--单块盘的N-1倍校验盘的写入速度(N-1)/N1
RAID5分布奇偶校验条带单块盘的N倍略微弱于单块盘的N倍(N-1)/N较高1
RAID6双重奇偶校验条带单块盘的N倍略微弱于单块盘的N倍,差于RAID5(N-2)/N较(RAID5)高2
RAID10镜像加条带50%

实战

容量计算

如果使用物理硬盘容量不相等的硬盘做RAID,创建的RAID阵列的总容量为较小的硬盘的计算方式。

RAID5的存储机制是两块存数据,一块存另外两块硬盘的交易校验结果。RAID5的建立后,坏掉一块硬盘,可以通过另外两块硬盘的数据算出第三块的,所以至少要3块。RAID5是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀地分布在阵列所属的硬盘上, 所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5既适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。

3块容量为80G的硬盘做RAID5阵列,其容量为:160G;
2块80G和1块40G的硬盘做RAID5阵列,其容量为:80G

参考

一文详解大规模数据计算处理原理及操作重点

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot3整合使用aj-captcha行为验证码解决方案

截止到目前(2023-04-20),Springboot最新稳定版本已经迭代到3.0.5,而我们项目中使用的行为验证码框架aj-captcha还没有适配Springboot3,码云上类似的请求也没有得到过回应,于是决定自己动手适配一下,研究下来发现适配3.…

oi知识表+NOIP提高组算法及算法思想总结

算法及算法思想总结 │ By lib │ ├暴力 ├模拟 ├递归及递推:数位统计类 ├构造 ▼├排序算法 │ ├冒泡排序 │ ├选择排序 │ ├计数排序 │ ├基数排序 │ ├插入排序 │ ├归并排序 │ ├快速排序 │…

腾讯云轻量应用服务器地域怎么选?上海广州北京?

腾讯云轻量应用服务器地域是指轻量服务器数据中心所在的地理位置,如上海、广州和北京等地域,如何选择地域?地域的选择建议就近原则,用户距离轻量服务器地域越近,网络延迟越低,速度就越快,根据用…

day38 滑动窗口

1. 滑动窗口 应用场景: 满足xxx条件(计算结果、出现次数、同时包含) 关键词:最长最短子串无重复等等 1)最长 左右指针在起始点,R 向右依次滑动循环; 如果: 窗内元素满足条件&#x…

聚观早报 | 三星和LG发展电车零件业务;宝马召回国产和进口电车

【聚观365】8月12日消息 三星和LG加速发展电车零件业务宝马召回部分国产和进口电动汽车华为有意推动车BU独立运营长城汽车CTO就“中国汽车在一起”发声比科奇芯片被Contela选为单元的核心组件 三星和LG加速发展电车零件业务 随着电动汽车需求的增加,对电池、芯片等…

Redis - 数据类型映射底层结构

简介 从数据类型上体现就是,同一个数据类型,在不同的情况下会使用不同的编码类型,底层所使用的的数据结构也不相同。 字符串对象 字符串对象的编码可以是 int、raw 和 embstr 三者之一。 embstr 编码是专门用于保存简短字符串的一种优化编…

.DS_Store是什么文件

dsstore是自定义属性的隐藏文件。dsstore全称“Desktop Services Store”,是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。 dsstore是什么文件? ds…

高端百度地图开发2:自定义水滴头像(鼠标事件、API封装对接)

高端百度地图开发系列 高端百度地图开发1:自定义水滴头像(自定义标注覆盖物、Overlay覆盖类) 自定义水滴头像之鼠标事件、API封装对接 高端百度地图开发系列一、添加自定义覆盖物的方法二、对接API数据1.获取API数据(模拟)2.遍历数据3.添加自…

LeetCode--HOT100题(28)

目录 题目描述:2. 两数相加(中等)题目接口解题思路代码 PS: 题目描述:2. 两数相加(中等) 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且…

让我们玩个游戏:找出缅北诈骗网络中的“狼人杀”!

大数据产业创新服务媒体 ——聚焦数据 改变商业 近期,《孤注一掷》掀起了一阵观影热潮。这部电影展现了在高科技与诈骗手法交织下的惊心动魄的故事,不仅让观众们大呼过瘾,更让人们对现实生活中日益猖獗的缅北诈骗产生了深入的反思。 《孤注一…

【100天精通python】Day32:使用python操作数据库_MySQL下载、安装、配置、使用实战

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 MySQL概述 MySQL是一款互联网上广泛使用的开源关系型数据库管理系统。它最初由瑞典的MySQL AB公司开发,并于1995年首次发布。如今,MySQL由Oracle公司维护…

Redis缓存设计

缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常应用的开发至关重要。但是将缓存加入应用架构后也会带来一些问题,本文将针对这些问题介绍缓存使用技巧和设计方案。 1缓存的收益和成本 下图左侧为客户端直接调用存储层的架…

【C++】STL---string

string类 一、C语言中的字符串二、string类三、模拟实现 string 类0. string 类的声明1. 构造函数2. 析构函数3. 拷贝构造函数4. 赋值运算符重载5. 迭代器6. 元素访问:[] 重载7. 流插入与流提取重载8. 与容量相关的接口(1)size(2&…

使用CST仿真软件完成单站雷达目标RCS仿真

第一步:新建模版 第二步:选择微波与射频/光学应用 第三步:选择雷达应用 第四步:选择单站雷达静态RCS 第五步:选择小目标工作流。(这里的小目标要求小于10倍波长,否则需要选大目标工作流&#x…

nuxt3 简易教程

代码仓库 https://github.com/malred/nuxt_tutorial https://gitee.com/malguy/nuxt_tutorial 什么是 Nuxt 根据 Vue 官网的说法 而 Nuxt 是由 Vue 官方团队开发的 SSR 框架 创建项目 npx nuxi init todo 项目结构 创建完需要手动安装依赖 cd todo npm i # 启动 npm run dev…

大语言模型之二 GPT发展史简介

得益于数据、模型结构以及并行算力的发展,大语言模型应用现今呈井喷式发展态势,大语言神经网络模型成为了不可忽视的一项技术。 GPT在自然语言处理NLP任务上取得了突破性的进展,扩散模型已经拥有了成为下一代图像生成模型的代表的潜力&#x…

@capacitor/filesystem更改downloadfile支持本地文件下载

ionic监听外部程序&#xff1a; android下需要在AndroidManifest.xml添加内容&#xff08;具体参考ionic native的APP插件&#xff09;&#xff0c;配置例如&#xff1a; <intent-filter tools:ignore"AppLinkUrlError"><action android:name"android.…

【Matlab智能算法】PSO优化(单隐层)BP神经网络算法

上一篇博客介绍了BP-GA&#xff1a;BP神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值&#xff0c;本篇博客将介绍用PSO&#xff08;粒子群优化算法&#xff09;优化BP神经网络。 1.优化思路 BP神经网络的隐藏节点通常由重复的前向传递和反向传播的方式来决定&#…

(统计学习方法|李航)第四章 朴素贝叶斯算法——贝叶斯估计

贝叶斯估计方法&#xff1a; 计算男女时只有两个值&#xff0c;所以K2 贝叶斯估计就是拉普拉斯平滑 估计方法&#xff1a;为什么叫做贝叶斯估计呢&#xff1f; 例题&#xff1a; 重新回顾以下朴素贝叶斯&#xff1a; 对他求导&#xff0c;求出最大值 得到了色i他的估计值&…

第三章:前端UI框架介绍

文章目录 一、Bootstrap1.1 Bootstrap简介及版本1.2 Bootstrap使用 二、AntDesign2.1 简介2.2 基本使用2.3 antd pro 三、ElementUI3.1 简介3.2 基本使用 四、Vant4.1 简介4.2 基本使用 一、Bootstrap 1.1 Bootstrap简介及版本 1、 简介 Bootstrap&#xff0c;来白 Twitter&a…