RAID:独立硬盘冗余阵列(Redundant Array of lndependent Disks )旧称 廉价磁盘冗余阵列 其基本思想就是把多块相对便宜的硬盘组合起来,成为一个硬盘的阵列组 使其性能达到或超过一块价格昂贵,容量巨大的硬盘 根本选择RAID的版本不同,RAID比单块硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于计算机来说就像是一个硬盘和一块逻辑存储单元。分别为RAID-0,RAID-1,RAID-10,RAID-01,RAID-5,RAID-E,RAID-6,RAID-7,
RAID-50,RAID-60,这里只介绍常用的几种。
简单的来说,RAID可以把多个硬盘组成为一个逻辑扇区,因此操作系统只会把它当做一块硬盘,RAID常被用到计算机服务器上,并且常使用完全相同的硬盘作为组合,由于硬盘价格不断下降与RAID功能更加有效的与主板集成也成为了玩家的一个选择,特别是需求大容量存储空间的工作,如:视频,音频工作。
最初RAID分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在二个目标间取得平衡,分别是增加数据可靠性及增加存储器读写性能。
RAID0
将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。RAID-0亦称为带区集。它将多个磁盘并列起来 ,成为一块大磁盘。在存放数据时,将其数据按磁盘的个数进行分段,然后同时将这些数据写进这些盘中,所以在同级别中,RAID-0时速度最快的,但是RAID-0没有冗余功能,如果磁盘损坏,则所有数据都会丢失,危险程度与JBOD相当
理论上越多的磁盘性能就等于 “1块”* N(磁盘数) ,但实际上受限于总线I/O瓶颈及其他因素的影响,RAID的性能会随边际递减,也就是说,假设一个磁盘的性能是100MB每秒,两个磁盘的性能能RIAD-0是190MB每秒,三个磁盘也许就是270MB每秒,所以两块磁盘的RIAD-0最能明显感受到性能的提升
但如果以软件方式来实现RAID,则磁盘的空间不见得受限于此,通过软件实现可以经由不同的组合而善用所有的磁盘空间
RIAD-1
两组以上的N个硬盘互做镜像,在一些多线操作的系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。RAID-1就是镜像,其原理为在主硬盘上存放数据的同时,也在镜像硬盘上写一样的数据。当主硬盘损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID-1的数量是所有RAID中磁盘利用率最低的一个级别。
如果用两个不同大小的磁盘建立RAID-1,可用空间为较小的那块硬盘,较大的磁盘多出的磁盘空间可以分成一个区来使用,不会造成浪费。
RAID-5
RAID-5 是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分区技术)。RAID-5至少需要三块硬盘,RAID-5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成的RAID-5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的硬盘上。当RAID-5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息区回复破损的数据,RAID-5可以理解为是RAID-0和RAID-1的折衷方案。RAID-5具有和RAID-0相近似的数据读取速度,只因为多了一个奇偶校验,但保障程度要比镜像低而磁盘空间利用率要比镜像高。写入数据的速度单比一块硬盘速度略慢,若使用“回写告诉缓存”,可以让性能提升不少,同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
RAID-10 / RAID-01
RAID-10 是先镜射再分区数据,将所有硬盘分为两组,视为是RAID-0的最低组合,然后将这两组各自视为RAID-1运作
RAID-01 则是跟RAID-10相反,先是分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID-1的最低组合,将两组硬盘各自视为RAID-0 运作
当RAID 10有一个硬盘损坏,其余硬盘会继续工作,RAID01只要有一个硬盘受损,同组RAID-0的所有硬盘会停止个工作,剩下其他组的硬盘运作,可靠性较低,如果6个硬盘建RAID-01,镜射再用三块硬盘建RAID-0那么坏一个硬盘便会有三个硬盘脱机。因此 RAID-10比RAID01更常用 零售主板绝大部分支持RAID 0 1 5 10 但不支持RAID -01
最后总结一下为什么RAID-10比RAID-01好且靠谱:
RAID-0+1时先做两个RAID-0,然后再做RAID-1,因此RAID-0+1 允许损坏多个硬盘 但只能是坏在一个RAID-0中 不允许两个RAID-0都有坏盘
RAID-1+0是先做RAID-1,然后再做RAID-0,因此RAID-1+0允许坏多个盘,只要不是一对磁盘坏就可以啦。
因此说RAID-1+0比RAID-0+1安全得多,因为在同一对磁盘中,两块磁盘都坏掉的概率很低。
RAID 0和RAID 1分别用于增强存储性能(RAID 0 条带)和数据安全性(RAID 1 镜像),而RAID 0+1和RAID 10兼顾了RAID 0和RAID 1的优点,它在提供RAID 1一样的数据安全保证的同时,也提供了与RAID 0近似的存储性能。虽然RAID 0+1和RAID 10基本原理相近,都是RAID0和RAID1的结合,不过还是有些区别。
在MySQL数据库中,通常我们选用RAID 10。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。