<一>: 什么是RAID:
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
<二>:实现方式:硬件实现, 软件实现
在实际的生产环境中,几乎是用不到软raid的, 几乎都是用硬件的方式实现的RAID.
常用类型: RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
<三>: RAID的种类:
1>. RAID0:
工作方式: 将源数据分成一块一块的,这些一块一块的数据会依次存储在个个磁盘上, 所以整个磁盘的读写性能肯定是提升的。
特点:1>.读、写性能提升 2>.可用空间 N*min(S1,S2,...) 3>.无容错能力 4>.最少磁盘数:2
应用场景: 存储一些不重要的数据
2>.RAID1:
工作方式: 将源数据以镜像的方式分别存储在磁盘上。 同一份数据在多块磁盘上都有。实现容错。
特点:1>.读写性能提升、写性能略有下降 2>.可用空间: 1*min(S1,S1,..) 3>.有冗余能力 4>.最少磁盘数2
应用场景: 存储比较重要的数据, 并对数据读写的速度要求
3>. RAID4:
工作方式:至少三块盘, 其中有一块盘做奇偶校验盘,其余盘中的数据做异或运算,得到奇偶校验码存放到奇偶校验盘中,
特点:1>.读的能力有所提升 2>.可用空间:(N-1)*min(S1,S2,..) 3>.无论数据向哪块磁盘写数据, 存放奇偶校验码的这块磁盘都会被写数据,所以这块盘会成为整个RAID-4机制的瓶颈。
应用场景: 几乎不用, 如果要做成RAID4, 不如做成RAID5
4>. RAID5:
工作方式:RAID5相比于RAID4的原理是差不多的, 但是RAID5相比于RAID4, 奇偶校验位不是存储在一块磁盘上, 而是分布在各个磁盘上, 其实相比RAID4, 减少了那一块奇偶校验盘的压力。
特点: 1>.读、写性能提升 2>.可用空间:(N-1)*min(S1,S2,...) 3>.有容错能力, 允许损坏1块磁盘 4>.最少磁盘数:3。
应用场景: RAID5是常用的RAID机制。
6>. RAID6
相比于RAID5来说RAID6有两块奇偶校验盘,安全级别更高
特定:1>.读写性能提升 2>.RAID6相比于RAID5, 有两块奇偶校验盘,所以至少需要4块磁盘 3>.可用空间:(N-2)*min(S1,S2,....)4>.有容错能力,允许坏2块磁盘 5>.最少磁盘数:4
7>. RAID7
RAID 7全称叫“Optimized Asynchrony for High I/O Rates as well as high Data Transfer Rates(最优化的异步高I/O速率和高数据传输率)”,它与以前我们见到RAID级别具有明显的区别。RAID 7完全可以理解为一个独立存储计算机,它自身带有操作系统和管理工具,完全可以独立运行。
8>. JBOD: just a Bunch Of Disks
功能: 将多块磁盘的空间合并一个大的连续空间使用
可用空间: sum(S1,S2,...)
9>.混合类型
1>>.RAID10:
实现方式: 先将磁盘两两做成RAID1, RAID1的上层再做成RAID0。
特点: 1>.底层是RAID1,上层是RAID0 2>.读写性能提升 3>.可用空间:N*min(S1,S2,...)/2
2>>.RAID01:
实现方式:将磁盘数分为2部分, 其中一部分先做成RAID0, 再将这两部分之上做成RAID1.
特点:底层是RAID0,上层是RAID1。
从上面的图看的话,RAID10和RAID01的比较:
1>.当RAID01中不同部分中各有一块磁盘坏了的话, 那么整个RAID01可能就不能用了。
2>.当RAID10两个部分都有磁盘损坏的话, 那么整个RAID10可能就不能用了。
3>.RAID10要优于RAID01
3>>.RAID-50: 底层是RAID5, 上层是RAID0, 这样其实数据更加的安全。