存储:

 专门用来插硬盘的机器,作用是增加插口,可以多插硬盘. 这种有策略保证硬盘坏了,数据不丢.而本地磁盘坏了,会导致数据丢失,故一般操作系统放在本地磁盘.而数据放在存储盘.

存储里依然有:cpu(负责切片计算),内存(接收服务器内存的数据,速度快),硬件和电池.但储存不可安装操作系统。

Raid:



Redundent Array of Inexpensive Disks
 --在IDE磁盘的使用时是廉价磁盘阵列.

Redundent Array of Independent Disks --在 SCSI磁盘的使用时是独立磁盘阵列

目的是为了提高磁盘读写性能和容错能力. (在本地磁盘性能基本没提升,但在存储盘上可以提高.)

RAID一般选用相同容量/厂商/批次的磁盘,容量一般相同。

RAID级别(level):仅用于标识磁盘组合方式的不同,(只有更合适的场景)不能取代数据备份.

在RAID阵列的适配器上面增加内存,任何时候写数据先把数据写入内存.再慢慢写入磁盘,对主机隐藏过程.可使RAID的写性能明显提升,但是会带来巨大风险. 对主机而言,数据确定写进了磁盘.但是发生断电.RAID卡内存当中的数据还是会丢失的,这时候.又添加了RAID的可充放电电池,断电后,电池会立即接管RAID适配器并且完成数据的写入.所以在购买RAID存储的时候一定注意带内存的RAID一定选择带电池的.当然也可以使用UPS(不间断电源)解决这种问题。

硬raid和软raid:

在存储设备里使用raid是硬raid. 在本地磁盘中raid是软raid,但因需要cpu处理,很大消耗性能,导致性能没有大的提升,故基本不针对本地磁盘使用.

常见RAID级别:raid0,raid1,raid4,raid5,raid10.

Raid0:条带,等分写,提高读写性能,没有容错能力。

 Raid0条带,等分写,提高读写性能,没有容错能力。至少需要两块磁盘 .当一个文件需要存储的时候,将数据等分切割成片,而后将他们平均分散到多个磁盘上去,由此,把多块磁盘作为一块磁盘来读写数据.理论上来讲是之前数据读写的n倍,但实际上没有那么快,因为存在数据的分片,还有管理需要往哪块磁盘上存储这种操作,一定会有一些损失的. 若单块磁盘的故障率为10%,则raid0的故障率反而会提升的,就变成了n*10%。

raid1:镜像,备份写。

 raid1镜像,备份写,至少需要两块硬盘,镜像卷
,备份写,数据不分割,每块硬盘写相同的内容.当有1G数据要存时,同时写进每块硬盘1G数据.Raid1:备份存,但可分开读,故写性能不变,读性能提升.(安全高:10%*10%=1%),磁盘利用率1/n,  Raid1又称镜像。RAID1无法取代备份,为了避免设备损坏而导致业务终止的,而不是保证数据不会丢失 ,在硬件层次提供冗余而不是数据层次,硬件级别的冗余并不能取代备份。

raid4:分割数据,>=3块硬盘,校验码P,(n-1)/n利用率,热备盘。

 至少需要三块硬盘,允许一块盘出错,读写性能提升,但因为要在第三块盘写校验值,所以写性能无明显提升。磁盘利用率(n-1)/n

前两块盘数据切割等分存放,即条带化,而第三块盘放校验值.

这种状态下发生硬盘离线或者损坏,芯片可以通过异或计算出来需要的数据是什么的,业务不会终止,只不过数据是需要计算以后才能得到的.

raid4中当一块数据盘发生物理损坏,数据如何存放?

 读的时候,芯片计算出来数据直接返回给请求者,存储的时候,只会存储第一块数据和异或的校验码在第三块磁盘上,但是这样会带来很大的风险,这种情况下无论再挂掉那块盘RAID就毁掉了,而且性能下降会很严重. 每次读取数据,哪怕是很小的数据,三块盘都会被访问到,两块盘的压力比以前增大了,导致故障率提升.所以如果发生这种情况,需要将坏盘拔下,并且补上新盘,但是在换上新盘以后的一段时间内.其余两块盘会修复新盘内数据,导致两块盘压力飙升,此时出问题,RAID依然挂掉了...所以这种level的RAID容错能力是很有限的

对于这种架构的,坏掉一块盘业务是不会终止的,只不过系统性能下降很严重,工作也是不完整状态,所以这种状态也需要我们尽早发现并且替换新盘, 更换硬盘的过程叫做热换.. 故当用raid4时,会单独用一块热备盘.

热备:单独使用一块冗余的磁盘等候其他工作盘挂掉然后直接替补位置,热备盘正常状态下是不工作的。

raid5(用的最多,数据和P值轮流顺序存放)

 RAID5至少需要三块硬盘,允许一块盘出错,读写性能提升,利用率(n-1)/n,

数据分割轮流在各盘存放,校验值p也依次在每块盘存放.

避免了RAID4中因为只有一块校验盘而导致的性能瓶颈问题

RAID10也被称为镜象阵列条带。

 至少4块盘,可像RAID0一样,数据跨磁盘抽取,又像RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID
10的另一种会说法是 RAID 0+1,先条带后镜像。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。

储存与RAID--独立磁盘阵列的更多相关文章

  1. Dell R720上的系统安装问题的解决办法(关于RAID建立磁盘阵列的技术)

    摘要:本篇是本人在搭建大数量存储.搜索环境时,对于使用Dell PowerEdge R720 and R720xd作为服务器所遇到的一些问题进行的总结. 开始时,我们使用Dell提供的安装光盘(蓝色) ...

  2. RAID冗余磁盘阵列的创建

    RAID 0 :条带化,数据被拆分到多个驱动中,写速度最快,但并没有数据镜像或校验信息. RAID 1 :镜像化,完全磁盘镜像,在独立磁盘上创建数据的两份拷贝,这个级别提供最好的数据安全,但写速度慢. ...

  3. RAID独立冗余磁盘阵列

    独立冗余磁盘阵列(Redundant Array OF Independent Disks,RAID)开始于20世纪80年代美国加州大学伯克利分校的一个研究项目,当时RAID被称为廉价冗余磁盘阵列(R ...

  4. RAID : 独立磁盘冗余阵列(Redundant Array of Independent Disks)

    RAID 分为不用的等级(RAID0 - RAID5),以满足不同的数据应用需求. RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术. AID ...

  5. RAID 独立磁盘冗余阵列 - redundant array of independent disks

    RAID:  RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. RAID ...

  6. 什么是RAID(磁盘阵列)

    RAID全称Redundant Array of Independent Disk,即独立冗余磁盘阵列.RAID技术由加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同 ...

  7. linux:RAID(磁盘阵列)笔记

    RAID磁盘阵列简述:     RAID0(条带): 把多个同样大小的磁盘串联起来当做一个磁盘来用.         优点:读写速度快.         缺点:数据容易丢失(没有容错能力).     ...

  8. 磁盘阵列RAID

                                                                                  磁盘阵列RAID 年提出的.RAID名为独立 ...

  9. RAID磁盘阵列

    什么是RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列.其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组, ...

随机推荐

  1. go 结构体与方法

    go 结构体与方法   go 结构体相当于 python 中类的概念,结构体用来定义复杂的数据结构,存储很多相同的字段属性 结构体的定义 1.结构体的定义以及简单实用 package main imp ...

  2. 后羿:我射箭了快上—用MotionLayout实现王者荣耀团战

    前言 昨晚跟往常一样,饭后开了一局王者荣耀,前中期基本焦灼,到了后期一波决定胜负的时候,我果断射箭,射中对面,配合队友直接秒杀,打赢团战一波推完基地.那叫一个精彩,队友都发出了666666的称赞,我酷 ...

  3. Java 8 中的抽象类和接口到底有啥区别?

    上一篇栈长发了这篇<Java 8 有多牛逼?打破一切你对接口的认知!>,帮助许多人解开了疑惑,还有读者留言说两者还有啥区别,故引发了此篇: 在我们面试时也会经常遇到面试官问抽象类和接口的区 ...

  4. 【API管理 APIM】APIM中如何配置使用URL路径的方式传递参数(如由test.htm?name=xxx 变为test\xxx)

    问题描述 在默认的URL传递参数中,我们使用的是https://test01.azure-api.cn/echo/resource?param1=sample&param2=testname这 ...

  5. 远程Jenkins新增Mac电脑节点

    一,前言 上一篇博客Jenkins集成appium自动化测试(Windows篇)介绍了怎么使用远程Jenkins新建节点连接本地Windows电脑进行Appium自动化测试集成. 但是在做ios Ap ...

  6. springboot入门系列(四):SpringBoot和Mybatis配置多数据源连接多个数据库

    SpringBoot和Mybatis配置多数据源连接多个数据库 目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑.在SpringBo ...

  7. 51node1256 乘法匿元(扩展欧几里得)

    #include<iostream> using namespace std; int gcd(int a,int b,int &x,int &y){ if (b==0){ ...

  8. GDB常用调试命令(二)

    GDB信号处理 在GDB中使用handle命令定义一个信号处理.信号可以以SIG开头或不以 SIG开头,可以用定义一个要处理信号的范围(如:SIGIO-SIGKILL,表示处理从SIGIO信号到SIG ...

  9. 如何解决 An error occured executing the Microsoft VC+runtime installer

    安装 postgresql 时遇见了 这个问题 There  has been an error.An error occured executing the Microsoft VC+ runtim ...

  10. 三种方式获取SSMS连接密码

    内网渗透是有的时候会遇到对方SSMS没断开连接正连着别的机器的mssql此时有两种方法可以获取sa密码 当密码强度较弱时可以使用第一只方式,第一种方式解不开的情况下可以使用后面二种方式 1.直接查询s ...