【Linux】磁盘阵列,了解不同raid的特点

news2024/12/27 14:24:33

一、raid和阵列卡介绍

1、什么是磁盘阵列:

磁盘阵列是利用虚拟化存储技术把很多块独立的磁盘组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(ParityCheck)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计算后重新置入新硬盘中2。

2、目的:

  • 提升读写性能;
  • 数据冗余;(尤其重要!!)
  • 提高耐用。

二、常用raid的类型介绍

----raid 0磁盘阵列(条带化存储)

介绍:至少要2块硬盘,RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,所以读写性能非常高!!!存储性能很高!!!系统有数据请求就有多个磁盘并行处理,但它有很大缺点是没有数据备份

RAID0单纯地提高性能,并没有为数据的可靠性提供保证,不允许有磁盘损坏,安全性低!

----raid 1(镜像存储)

介绍:2N块磁盘,通过磁盘数据镜像实现数据备份,在成对的独立磁盘上产生互为备份的数据当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能;R

AID1是磁盘阵列中单位成本最高的但提供了很高的数据安全性和可用性

当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

----raid 5

介绍:N(N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据共N份数据在N块盘上循环均衡存储;N块盘同时读写,读性能很高,但由于有校验机制的问题写性能相对不高;(N-1)/N磁盘利用率,可靠性高,允许坏1块盘,不影响所有数据

-----raid  6磁盘阵列介绍

介绍:N(N>=4)块盘组成阵列(N-2)/N磁盘利用率与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用相对于RAID5有更大的“写损失”,因此写性能较差,可靠性高

----raid 1+0(先做镜象,再做条带,是个组合体)

介绍:N (偶数,N>=4)块盘两两镜像后,再组合成一个RAID0oN/2磁盘利用率:N/2块盘同时写入,N块盘同时读取。性能高,可靠性高(大公司喜欢用,成本高,但是可靠!!)

----raid 0+1(先做条带,再做镜象)

读写性能与RAID 10相同,安全性低于RAID 10

----总结

 raid  0raid  1raid  5raid  1+0
磁盘数量至少2个2的倍数至少3个2的倍数,且至少4个
优点提升读写有备份、提升读有备份,提升读有备份,提升读,写性能一般
缺点并没有备份降低写性能大降低写性能利用率低,成本高
利用率100%50%(n-1)/n50%
不丢失数据的情况下,可以坏几个盘不可以坏可以坏1(两两一组的话,可以坏其中一个)可以坏1个只能坏不同raid  1的盘,如果同时坏2个,有1/3的丢失数据概率
安全性中高很高中高

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

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

相关文章

CRM系统如何帮助无损检测设备企业发展?

得益于新兴行业的高速发展,近些年无损检测设备在国内市场得到了规模增长。通过搭建完整的CRM客户管理系统,打通营销、销售及服务各环节,进一步提高企业市场竞争力。CRM系统如何帮助无损检测设备企业发展? 无损检测设备企业无论在…

CSS 边框、轮廓线

一、CSS边框: CSS边框属性允许指定一个元素边框的样式和颜色。 1)、边框样式:border-style属性用来定义边框的样式,border-style值: 2)、边框宽度:border-width属性用于指定边框宽度。指定变宽…

TCP编程及基础知识

一、端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分TCP端口号与UDP端口号独立端口用两个字节来表示 2byte(65535个) 众所周知端口:1~1023(1~255之间为众所周知端口&#xff…

软件测试/测试开发丨Python安装指南(macOS)

点此获取更多相关资料 下载 Python 解释器 下载地址: https://www.Python.org/downloads/macos 通过下载页面,可以在该页面上看到下载链接。 下载完成后会得到 Python-3.10.11-macos11.pkg安装文件 。 安装 Python 解释器 双击Python-3.10.11-macos11.pkg文件&a…

Vue3指令

Vue 指令(Directives)是 Vue.js 的一项核心功能,它们可以在 HTML 模板中以 v- 开头的特殊属性形式使用,用于将响应式数据绑定到 DOM 元素上或在 DOM 元素上进行一些操作。 Vue 指令是带有前缀 v- 的特殊 HTML 属性,它赋…

Linux操作系统中软件安装:用RPM包管理器安装软件步骤

安装软件的一般步骤如下: 1.打开终端,作为root用户或使用sudo命令获取管理员权限。 2.使用RPM命令进行软件包的安装。例如,使用“rpm -ivh 软件包名称.rpm”命令来安装软件包,其中“-i”表示安装,“-v”表示显示详细安…

【入门Flink】- 07Flink DataStream API【万字篇】

DataStream API 是 Flink 的核心层 API。一个 Flink 程序,其实就是对DataStream的各种转换。 代码基本上都由以下几部分构成: 执行环境(Execution Environment) 1)创建执行环境StreamExecutionEnvironment StreamExe…

【启扬方案】基于RK3568核心板的激光打标机应用解决方案

激光打标机是一种利用激光技术进行标记和刻字的设备,作为激光技术应用的一个细分领域,是最早引入工业市场的一类激光装备,它采用激光束在工件表面进行刻印、打标,常用于工业生产中的物料标识、产品追溯、防伪标记等应用&#xff0…

centos7安装mysql-阿里云服务器

1.背景 2.安装 2.1.下载安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm2.2.安装mysql rpm -ivh mysql57-community-release-el7-8.noarch.rpm 3.安装mysql服务 3.1.进入目录 首先进入cd /etc/yum.repos.d/目录 cd /etc/yum.repos.d/ 3.…

Netty 高性能原因之一 采用了高性能的NIO 模式

java IO简介 I/O 全称Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入/输出。 涉及 I/O 的操作,不仅仅局限于硬件设备的读写,还要网络数据的传输。无论是从磁盘中读写文件,还…

【广州华锐互动】VR综合布线虚拟实验教学系统

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们的生活和工作带来了前所未有的便利。在建筑行业中,VR技术的应用也日益广泛,尤其是在综合布线方面。 广州华锐互动开发的VR综合布线虚拟实…

百度上线“文心一言”付费版本,AI聊天机器人市场竞争加剧

原创 | 文 BFT机器人 百度不愧是我国AI技术领域的先行者,每年致力于人工智能领域取得技术产品的突破和创新。据爆料称,百度的文心一言有突破了新境界,开创了文心大模型4.0会员版本。从线上的to C产品到试水商业化,百度都是争先走…

Python的requests库爬取商城优惠券

首先,我们需要了解要抓取的网页的结构和数据格式。在这个例子中,我们使用Python的requests库来发送HTTP请求,并使用BeautifulSoup库来解析HTML内容。 import requests from bs4 import BeautifulSoup然后,我们需要使用requests库的…

LeetCode | 160. 相交链表

LeetCode | 160. 相交链表 O链接 我们这里有两个问题,一是判断是否相交,二是找交点 思路一: 暴力求解 A链表所有节点依次取B链表找一遍(时间复杂度是O(N^2)) struct ListNode *getIntersectionNode(struct ListNod…

QT not in executable format:file truncated

今天在调研串口打印机的时候出现的,串口打印机有sdk,自己qt的编辑器用的 MinGW 64,编译出现次错误 出现这个错误,主要是sdk和编译器的版本位数不一致。 修改方法:把MinGW64 改为MinGW32,不过这个根据使用的…

为什么说制造企业需要部署MES管理系统

在数字化浪潮席卷的今天,每个企业都期望通过新技术、新模式来优化自身的运营。这其中,MES管理系统成为了不少企业的首选。那么,为何企业需要部署MES管理系统?又该如何搭建MES管理系统呢? 一、企业缘何钟情于MES系统&am…

LeetCode-20-有效的括号

1.我的暴力解法 class Solution {public boolean isValid(String s) {Stack<Character> stknew Stack<Character>();int i0;//奇数直接不可能是匹配的if(s.length()%2!0)return false;for (;i<s.length();i){if(s.charAt(i)(){stk.push(();}else if(s.charAt(i…

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后&#xff0c;执行&#xff1a;nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果 包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 …

【bug-maven】(一)java: 错误: 不支持发行版本 5 (二):java: 错误: 无效的源发行版:15

【bug-maven】&#xff08;一&#xff09;java: 错误: 不支持发行版本 5 &#xff08;二&#xff09;&#xff1a;java: 错误: 无效的源发行版&#xff1a;15 &#xff08;一&#xff09;java: 错误: 不支持发行版本 5 报错截图&#xff1a; 出错原因&#xff1a; 打开Projec…

GoLong的学习之路(番外)如何使用依赖注入工具:wire

我为什么要直接写番外呢&#xff1f;其原因很简单。项目中会使用&#xff0c;其实在这里大家就可以写一些项目来了。 依赖注入的工具本质思想其实都大差不差。无非控制反转和依赖注入。 文章目录 控制反转为什么需要依赖注入工具 wire的概念提供者&#xff08;provider&#x…