RAID基础知识

在存储领域,经常会碰到这样问题,磁盘空间不够业务使用,分成多台机器,但是很多小白又不会做那么复杂的逻辑。另外一个问题;数据安全,防止核心数据丢失。

这两个问题有两种途径去解决:1是高富帅的解决办法,使用raid磁盘阵列;2是矮锉穷方案。使用廉价搭建分布式存储。第一种方案实施简单,属于用硬件解决(当然也有软Raid)方案。第二种方案实施比较复杂,属于软件解决方案。个人还是比较喜欢第二种方案。

Raid属于老生常谈的话题,我今天写是因为经常忘记各个raid级别 之间区别,就像经常忘记大小端到底哪个是指高字节在前(说实话,现在写的时候还真记不起来),每次都要写个程序看看才清楚。所以觉得写篇blog记下了,以后每次忘记到自己blog上来查一查;省得每次求助度娘和谷姐。浪费流量和电量,不环保啊J

闲话少说,言归正传。RAID 是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。Raid级别有0, 1, 2, 3, 4,5,6,10, 01.; 实际生产中使用比较多的是0,1,3,5,10这几个。 数字并不代表安全性高低,只是表示其出现时间前后或组合方式。并且发展到现在,它的“廉价”二字已经体现不出来了J

Raid 0 Striped Disk Array without Fault Tolerance 这个级别是纯粹磁盘扩容,就是把多个磁盘拼成一个磁盘用,磁盘条带化。试想一下带来的好处:1、存储容量扩大了N倍(假设N个磁盘);2、写一个文件时候,可以将该文件分散多个部分,在多个磁盘上存储,这样就可以并发写。假如一个磁盘写入性能是100M,那么4个磁盘组成的raid 0磁盘阵列。写性能理论上应该可以达到400M。对于读也是一样。Raid 0对磁盘按照位或字节进行条带化。

clip_image002[3]

Raid 0 也有不好的地方,就是他对磁盘上数据没有一点冗余和备份,这意味着什么呢,意味做一个磁盘发生故障,就永远无法恢复这些。Raid 0适合对读写性能高但是没有数据安全这一块业务使用。

优点:方便扩容,加一块硬盘就可以扩大容量,对上层应用没有什么影响;并且同时提高读写速度。

缺点:没有冗余,即也没有安全恢复功能。

Raid 1 磁盘镜像(或影子)。 典型的消耗性方案,2块磁盘当一块使用。写入的时候两块同时写,就是说每份数据,同时全量存在2份重复,每个磁盘上上放置一份相同备份。。,你可以把它看成主备模式。

clip_image004[3]

优点:全量备份,错一个字节都能恢复过来,最高的安全性

缺点:磁盘利用率只有50%,读写性能都低于单个磁盘速度,效率低下。

Raid 0和Raid 1,是2个极端,一个非常注重读写性能,但是没有丝毫安全性;一个有非常高的安全性,但是却性能极差。这两种raid 生产中应用很广,原因是不管是运维还是理解,他们都是非常简单易懂,运维成本低。

Raid 2 这基本上是一个废弃的方案,很少在生产环境使用它。Raid 有两个主要方向,1是提高容量;2是提高安全恢复能力。Raid是使用一个比奇偶校验更强大的hamming校验方式。

奇偶校验缺点是知道错误,但是无法知道错在哪儿。换句话说只知道取出的数据是错误的,但是无法纠正。Hamming 提供了既能发现错误,又能恢复错误的能力。

Hamming编码 是2i位 是校验位,其他为数据位,下表中Pi为校验位, Di为数据位。例如对10011010进行Hamming码编码后,增加了4位Hamming码位,这样编码后就变成4+8=12位,就是说额外需要牺牲30%存储代价,换取数据可靠性。10011010编码后变成011100101010。红色部分为校验位。如果给你一些数据010101100011,111110001100,000010001010,聪明的你,能知道这些数据是不是脏数据,并且能恢复他们吗?

clip_image006[3]

RAID 2 就是采用Hamming编码校验组成硬盘阵列,RAID中第1个、第2个、第4个……第2的n次幂个硬盘都是校验盘。其他为数据盘,如下图所示。

clip_image008[3]

可以看出Raid 2磁盘浪费率非常高,这也可能是没有被商业采用的原因吧。另外这种校验方式被用在内存校验中。

Raid 3 Parallel transfer with parity。并行传输及校验。和Raid2不同的是。Raid3 只有一个校验盘,使用奇偶校验。数据被并行分布写入各个数据盘,同时校验码也并行写入校验盘。磁盘被条带化。Raid 3对磁盘按照位或字节进行条带化。

clip_image009[3]

因为是并发读写,所以raid3有较高的读写性能,所以应用比较广泛。随着Raid 5出现,逐渐被Raid 5取代。

Raid 4 Independent Data disks with shared Parity disk (独立的数据硬盘与共享的校验硬盘)。它的技术和Raid 3基本是一样的,只是条带话单位不一样,它是以块为单位。块的大小是多少,一般设计方便,就一个文件为一块,即一个文件写在一个磁盘里面,这样带来好处是相关内容聚合在一个磁盘上,不像Raid 3 那样分布在各个磁盘上。同时带来缺点就是。损失并发读写特性。

clip_image010[3]

Raid 4 做校验是按照每个磁盘,同一柱面,同一扇区做奇偶校验。可以想象得到,因为一个文件数据只存在一个磁盘上,所以应该是把不同文件的数据在一起互相奇偶校验。得出校验数据。

Raid 4 具有较高的读性能,较低的写性能,很少被商业采用。

Raid 5 Independent Data disks with distributed parity blocks 它是Raid 4的升级版,也是目前最常用的Raid方式。磁盘也是按块为单位条带化。不同的是它的校验盘不是集中在一个专门的磁盘上,而是分布在各个数据盘上。这样就避免校验盘的瓶颈。

clip_image012[3]

Raid 5 具有较高的读性能,中等的写性能,使用比较广泛的一种Raid。

Raid 6 Independent Data Disks with Two Independent Parity Schemes 它是在Raid 5上再增加一个校验块。允许两块磁盘同时失效。还能恢复数据。

clip_image014[3]

由于多了一块校验块,读写性能有所降低。Raid适合于对数据安全要求比较高的业务。

Raid 6 又叫Raid P+Q,为什么叫P+Q? 看上图中的 校验块名字应该就明白。在时间生产中应用比较少。

Raid 7 Optimized Asynchrony for High I/O and Data Transfer Rates. 嗨,看这个名字就比较唬人。高性能异步。给张图吧

clip_image016[3]

看到没有,有自己独立的嵌入是实时操作系统控制,所有I/O都是异步进行,所有读写都有cache。

这个绝对是腐败的富二代和官二代使用的产品。

前面介绍完所有的Raid 各种级别。另外实际生产中还有多种组合,应用十分广泛,下面就一一补充。

Raid 10 Very High Reliability Combined with High Performance 就是先Raid 1 再Raid 0,结合料Raid 1的安全特性和Raid 的并发特性。磁盘进行条带化。

clip_image018[3]

Raid 10 简单高效易用,具有高稳定性。被广泛使用。唯一缺点就是磁盘利用率只有50%。

Raid 01 (也叫Raid 0+1)High Data Transfer Performance 就是先Raid 0 再 Raid 1。

clip_image020[3]

Raid 01 具有高I/O性能,但是稳定容错能力不如Raid10

Raid 50 High I/O Rates & Data Transfer Performance

clip_image022[3]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值