RAID储存技术

RAID独立磁盘冗余技术是一种把2个或者多个HDD或SSD合并为一个协调的存储单元或列阵,从而预防数据丢失的技术,其最早由加州大学伯克利分校的计算机科学家David Patterson、Garth Gibson和Randy Katz在1987年提出。他们的研究论文“关于RAID的论证”提出了将多个磁盘驱动器组合起来,以提高性能和可靠性的想法。

RAID0

将磁盘全部串联,实现空间最大化利用,但是没有冗余空间

将数据分成连续的块,然后将每个块按顺序依次写入到不同的磁盘上,这样可以实现并行读写,从而提高了数据的访问速度

也就是说假如我有两个盘A和B,我可以一个文件拆成两部分,一部分放A,另一部分放B,要读取时两边同时读写然后拼凑

RAID1

将内容镜像,多个个盘存一样的数据,实现数据冗余

也就是说,当我存储数据时,数据会写入所有盘,当有一台宕机时,有镜像的设备提供备份和恢复,有点像双机热备

RAID2

比较特殊的RAID布局,采用汉明码校验,不过已被淘汰,其数据会被划分成位级别,也就是说我存储数据是每个盘都存一部分,且有检验盘来检测数据完整性,通过文献我感觉其安全性挺高,但由于汉明码的校验方式,其多个错误有时候检验不出来,以及成本过高的问题,逐渐被RAID5等替换

汉明码校验

校验位数

采用奇数偶检验码进行检验和纠错,需要插入码的长度与数据位的数量之间的关系为 2^P>=P+D+1(D为数据长度,P为汉明码个数)

eg:数据大小为4,即有2^p>=p+4+1,可以得出p至少为3

编码过程

明确校验位数后,接着就是怎么编码的问题,不同于校验和,汉明码插入与数据之间,且通常放在2的n次幂位上,比如1,2,4,8……其他位置则·存放数据编码

然后根据数据中1的奇偶依次填入1/0,当1的个数为偶数,填入0,1的个数为奇数则填入1

而在汉明码中,校验位负责的数据位范围也是一个重点,其基于每个数据位对应的二进制编号,例如在编号为1-7的位中,位置 1是汉明码(二进制 001 001)、位置 3 (二进制 011 011)、位置 5 (二进制 101 101)、位置 7 (二进制 111 111)的二进制表示的最后一位都是 1 ,则在此位置的汉明码负责位置 1 ,3,5,7的数据位

eg:

1011(4位3个码)

??1 ?011(1,2,4填入,1负责1,3,5,7;2负责2,3,6,7;4负责4,5,6,7)

1 1 1 0 011(判断奇偶)

纠错过程

由于设计问题,每个数据位的数据必然会被汉明码校验两次,这也就实现汉明码纠错能力,只要校验码与初始算出不同数据就一定出错,但是需要注意的是,汉明码只能检测和更正单个错误,对于两个或更多错误的情况,汉明码可能无法正确更正

RAID3

采用条带化,并用单个奇偶校验盘对数据进行检验和冗余,通常采用异或形式进行,这也表明RAID3失去乐纠错能力

存储数据时,数据会被放到各个数据块内,并整理出对应的校验码,由校验盘进行对数据的维护工作,这样一种做法减少成本,也提高磁盘的利用率

RAID4

在RAID3上进行修改,其条带化更加显著,并发处理能力更强更稳定,但与RAID 3 不同的是,RAID 4 中的奇偶校验位是针对所有数据块的位进行计算的,也就是说当数据块的内容发生改变时,仅仅需要更新与之对应的奇偶校验位,而不会影响其他数据块的奇偶校验位,这一改动使得读写更加高效

RAID5

RAID5将奇偶校验盘分散到不同盘内,这再一次提高磁盘冗余性,避免校验盘坏死的问题,分布式存储在增加系统容错的同时,也节约了磁盘的性能,当有磁盘发生故障时,系统可以通过重新计算奇偶校验信息来恢复丢失的数据

RAID6

再次增加容错,允许两个盘同时坏死,适用于一些需要长期运行且对稳定性要求高的应用以及需要高性能的服务

RAID10

RAID10其实就是RAID1+RAID0,融合两者的优点,实现大容量,可冗余处理

RAID50

同上,RAID50其实就是RAID5+RAID0,在提供备份的同时又能够实现奇偶校验

RAID60

同上,RAID50其实就是RAID6+RAID0

总结

最小磁盘数容错磁盘空间开销读速度写速度数据保护
RAID020
RAID12单磁盘故障50%镜像
RAID23单磁盘故障1/n汉明码
RAID33单磁盘故障1/n奇偶校验
RAID43单磁盘故障1/n奇偶校验
RAID53单磁盘故障1/n奇偶校验
RAID64双磁盘故障2/n双奇偶校验
RAID104多磁盘故障50%镜像
RAID506单磁盘故障1/n奇偶校验
RAID608多磁盘故障2/n双奇偶校验

目前主流使用RAID10,RAID5,RAID6,根据需求选择,适合的才是最好的,可以看到RAID的发展无疑就是一种增加容错,使得设备更加稳定

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

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

相关文章

Openstack持久存储-Swift,Cinder,Manila三者之间的区别

总结不易,给个三连吧!!! 补充: 文件共享存储服务Manila 在OpenStack生态系统中,Cinder和Manila分别提供了两种不同类型的存储服务,类似于传统的SAN(存储区域网络)和NAS&…

软件测试预备知识④—NTFS权限管理、磁盘配额与文件共享

在软件测试的实际环境搭建与管理过程中,了解和掌握NTFS权限管理、磁盘配额以及文件共享等知识至关重要。这些功能不仅影响系统的安全性和稳定性,还对测试数据的存储、访问以及多用户协作测试有着深远的影响。 一、NTFS权限管理 1.1 NTFS简介 NTFS&am…

PyTorch深度学习CNN神经网络ResNet、DenseNet在CIFAR图像数据集分类应用与分析

全文链接:https://tecdat.cn/?p38782 在当今深度学习领域,卷积神经网络(CNN)架构不断发展与创新,诸多先进的架构被提出并广泛应用。像GoogleNet(ILSVRC 2014获胜者)、ResNet(ILSVRC…

word论文排版常见问题汇总

word论文排版常见问题汇总 常用快捷键: Alt F9 正常模式与域代码模式切换 Ctrl F9 插入域代码 F9 刷新域代码显示,要注意选定后刷新才会有效果 word中在当前列表的基础上修改列表 在使用word时,我们会定义一个列表,并将其链接…

【Rust】数据类型

目录 思维导图 1. 数据类型概述 1.1 标量类型 1.1.1 整数类型 1.1.2 浮点数类型 1.1.3 布尔类型 1.1.4 字符类型 1.2 复合类型 1.2.1 元组类型 1.2.2 数组类型 2. 类型注解与类型推断 3. 整数溢出处理 4. 数字运算 5. 示例 思维导图 1. 数据类型概述 Rust是一种静…

Proteus-8086调试汇编格式的一点心得

这阵子开始做汇编的微机实验(微机原理与接口技术题解及实验指导,吴宁版本13章),中间出了挺多问题,解决后记录下。 先上电路图 用子电路来仿真发现仿真的时候子电路这块根本没有高低电平输出,只好把子电路拿…

跨界融合:人工智能与区块链如何重新定义数据安全?

引言:数据安全的挑战与现状 在信息化驱动的数字化时代,数据已成为企业和个人最重要的资产之一。然而,随着网络技术的逐步优化和数据量的爆发式增长,数据安全问题也愈变突出。 数据安全现状:– 数据泄露驱动相关事件驱…

机器人碳钢去毛刺,用大扭去毛刺主轴可轻松去除

在碳钢精密加工的最后阶段,去除毛刺是确保产品质量的关键步骤。面对碳钢这种硬度较高的材料,采用大扭矩的SycoTec去毛刺主轴,成为了行业内的高效解决方案。SycoTec作为精密加工领域的领军品牌,其生产的高速电主轴以其卓越的性能&a…

大疆上云API连接遥控器和无人机

文章目录 1、部署大疆上云API关于如何连接我们自己部署的上云API2、开启无人机和遥控器并连接自己部署的上云API如果遥控器和无人机没有对频的情况下即只有遥控器没有无人机的情况下如果遥控器和无人机已经对频好了的情况下 4、订阅无人机或遥控器的主题信息4.1、订阅无人机实时…

[OPEN SQL] 限定选择行数

本次操作使用的数据库表为SCUSTOM&#xff0c;其字段内容如下所示 航班用户(SCUSTOM) 该数据库表中的部分值如下所示 指定查询多少行数据&#xff0c;我们可以使用语法UP TO n ROWS来实现对数据前n项的查询 语法格式 SELECT * FROM <dbtab> UP TO n ROWS 参数说明 db…

机器视觉3-线性分类器

机器视觉3-线性分类器 前言一、整体流程二、其他相关内容 图像的表示图像类型黑白图像灰度图像彩色图像 图像表示为向量一、基本概念二、表示方法三、优点四、局限性五、应用场景 线性分类器一、神经网络的层级结构形成非线性模型二、支撑向量机的高维映射形成非线性模型 线性分…

解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题

解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题 问题描述 本人在使用zotero中的zotero one&#xff08;青柠学术插件&#xff09;的时候&#xff0c;使用插件跳转obsidian中的对应笔记&#xff0c;出现上图情况。&#xff08;错误中提到的…

【数据结构高阶】B-树

目录 一、常见的搜索结构 二、B树 2.1 B树的概念 2.2 B树插入数据的分析 2.3 B树的性能分析 2.4 模拟实现B树 2.4.1 B树节点的定义 2.4.2 B树数据的查找 2.4.3 B树节点的数据插入 2.4.4 B树的遍历 2.4.5 模拟实现B树实现的完整代码 三、B树 3.1 B树的概念 3.2 B树…

《CPython Internals》阅读笔记:p97-p117

《CPython Internals》学习第 7 天&#xff0c;p97-p117 总结&#xff0c;总计 21 页。 一、技术总结 1.词法分析(lexical analysis) 根据《Compilers-Principles, Techniques, and Tools》(《编译原理》第2版)第 5 页&#xff1a;The first phase of a compiler is called …

2.两数相加--力扣

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中&#xff0c;都可能会使用LDO&#xff08;低压差线性稳压器&#xff09;这个器件。 虽然LDO不是什么高性能的IC&#xff0c;但LDO芯片市场竞争异常激烈。最近几年&#xff0c;诞生了越来越多的精品国产LDO&#xff0c;让人看得眼花缭乱。 业内人士曾经…

搜索引擎的设计与实现【源码+文档+部署讲解】

目 录 目 录 1 绪论 1.1 项目背景 1.2 国内外发展现状及分类 1.3 本论文组织结构介绍 2 相关技术介绍 2.1什么是搜索引擎 2.2 sqlserver数据库 2.3 Tomcat服务器 3 搜索引擎的基本原理 3.1搜索引擎的基本组成及其功能 3.2搜索引擎的详细工作流程 4 系统分析与…

计算机系统组成(计算机组成原理 基础)

文章目录&#xff1a; 一&#xff1a;体系结构 1.系统组成 1.1 硬件系统 1.2 软件系统 2.工作原理 2.1 冯诺依曼体系 2.2 指令和指令系统 3.性能指标 二&#xff1a;硬件系统 1.主机 1.1 CPU 1.2 内存 2.外设 2.1 外存 2.2 输入设备 2.3 输出设备 2.4 适配器 …

一些计算机零碎知识随写(25年1月)-1

我原以为世界上有技术的那批人不会那么闲&#xff0c;我错了&#xff0c;被脚本真实了。 今天正隔着画画呢&#xff0c;手机突然弹出几条安全告警通知。 急忙打开服务器&#xff0c;发现问题不简单&#xff0c;直接关服务器重装系统..... 首先&#xff0c;不要认为小网站&…

Go Ebiten小游戏开发:贪吃蛇

贪吃蛇是一款经典的小游戏&#xff0c;玩法简单却充满乐趣。本文将介绍如何使用 Go 语言和 Ebiten 游戏引擎开发一个简单的贪吃蛇游戏。通过这个项目&#xff0c;你可以学习到游戏开发的基本流程、Ebiten 的使用方法以及如何用 Go 实现游戏逻辑。 项目简介 贪吃蛇的核心玩法是…