主流 RAID 等级技术对比 重要总结在 末尾! RAID 等级 | RAID0 | RAID1 | RAID3 | RAID5 | RAID6 | RAID10 | 别名 | 条带 | 镜像 | 专用奇偶校验条带 | 分布奇偶校验条带 | 双重奇偶校验条带 | 镜像加条带 | 容错性 | 无 | 有 | 有 | 有 | 有 | 有 | 冗余类型 | 无 | 有 | 有 | 有 | 有 | 有 | 热备份选择 | 无 | 有 | 有 | 有 | 有 | 有 | 读性能 | 高 | 低 | 高 | 高 | 高 | 高 | 随机写性能 | 高 | 低 | 低 | 一般 | 低 | 一般 | 连续写性能 | 高 | 低 | 低 | 低 | 低 | 一般 | 需要磁盘数 | n≥1 | 2n (n≥1) | n≥3 | n≥3 | n≥4 | 2n(n≥2)≥4 | 可用容量 | 全部 | 50% | (n-1)/n | (n-1)/n | (n-2)/n | 50% |
基础知识点: JBOD 与 Raid 0、1、5、10 优缺点
JBOD
JBOD很陌生,但数据柜。 比如 铁威马硬盘柜(不支持阵列)
JBOD不是标准的 RAID 等级,它通常用来表示一个没有控制软件提供协调控制的磁盘集合。
功能优缺点同Raid0
RAID
Raid是一种技术, 廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )
JBOD是没有软件控制磁盘组,Raid是由软件控制的磁盘组。
RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )
镜像:
数据同时在阵列中产生两个完全相同的数据副本!
分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力
镜像技术可以从多个副本进行并发读取数据,提供更高的读 I/O 性能
但不能并行写数据,写多个副本会会导致一定的 I/O 性能降低。
数据条带:
RAID 由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。
数据条带是基于提高 I/O 性能而提出的,也就是说它只关注性能, 而对数据可靠性、可用性没有任何改善。
实际上,其中任何一个数据条带损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概念率。
数据校验:
RAID 要在写入数据同时进行校验计算,并将得到的校验数据存储在 RAID 成员磁盘中
校验技术相对于镜像技术的优势在于节省大量开销,但由于每次数据读写都要进行大量的校验运算
对计算机的运算速度要求很高
RAID·0 (无冗错的数据条带)
RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 2 所示),将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。
RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
RAID·1 (无校验的相互镜像)
RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。工作原理如图 3 所示。
RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。 RAID1 拥有完全容错的能力,但实现成本高。 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
RAID·5 (带分散校验的数据条带)
RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。
RAID5 (图 7)的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
RAID·10 (机房常用 安全性高)
实际应该读为1·0 不是10 原理就是先在底层 一组最一次 RAID 1 。 两最在用RAID0 组起来。
重要总结:
只有像我这样真正泡过机房的人才会告诉你!
不要用RAID5,9成9会遇到数据恢复失败!
不要用RAID5,9成9会遇到数据恢复失败!
不要用RAID5,9成9会遇到数据恢复失败!
这里首先要引入一个一般人不常接触到的概念:
BER 硬盘误码率,英文是BER(Bit Error Rate),
是描述硬盘性能的一个非常重要的参数,是衡量硬盘出错可靠性的一个参数。
这个参数代表你写入硬盘的数据,在读取时遇到不可修复的读错误的概率。
随着硬盘容量增加,驱动器读取数据的误读率就会增加,而硬盘容量暴涨,
误码率的比例一直保持相对增加。
一个1TB的硬盘,通常你无法读取所有sector的概率达到了56%,
因此你用便宜的大容量SATA盘,在出现硬盘故障的情况下重建RAID的希望是:无法实现。
用1TB的SATA硬盘做RAID5的话,当你遇到一个硬盘失效的情况,
几乎剩下的两个以上硬盘(RAID5最少组合是3个)铁定会遇到一个硬盘读取错误,从而重建失败。
所以,以前小硬盘做RAID5,基本很少遇到同时挂掉两个盘的情况;现在硬盘大了,出问题的概率也越来越大了。
1、使用越大容量的硬盘做RAID5,遇到BER 扇区的概率越大;比如用100G硬盘做RAID5就比用1TB的安全;
2、使用越多盘数的硬盘做RAID5,遇到BER 扇区的概率越大;比如用3个盘做的RAID5,比6个盘做的RAID5安全;
3、使用越便宜的硬盘做RAID5,遇到BER 扇区的概率越大;比如用SCSI/FC/SAS盘比用IDE/SATA的RAID5安全;
4、RAID5里面存放的数据越多,塞得越满,遇到BER 扇区的概率越大;比如存了100G数据的比存了1TB数据的RAID5安全;
RAID1/RAID10参与重建的只有一个盘, 与Raid5所有盘都需要参与重建相比,故障概率降低;
RAID1 某一组磁盘故障,也不需要强制上线的操作,因为数据仍然存在,不需要组RAID也能读取
哪怕是换到其他的机器上数据仍能读出;
而RAID5如果不能强制第二个掉下的硬盘上线,你一点东西都读不到。
|