RAID 廉价磁盘冗余阵列
并发访问+数据备份
-
RAID 0
根据磁盘数量将数据分为N份,并发写入N块磁盘。
优点:读写速度快,没有数据备份。
-
RAID 1
一份数据同时写入两块磁盘,任何一块损坏都不会数据丢失。
优点:数据可靠性极高,缺点:磁盘利用率50%。
-
RAID 10 = RAID 1+RAID 0
-
RAID 3
将数据分为N-1份,并发写入N-1块磁盘,第N块磁盘记录校验信息。
优点:任何一块磁盘损坏,都可以利用其它N-1块磁盘数据修复。
缺点:数据修改较多时,任何数据修改都会导致第N块磁盘重写校验数据,频繁写入使其更容易损坏,实践中很少使用。
-
RAID 5
类似RAID 3,校验数据不是写入第N块磁盘,而是螺旋式写入所有磁盘中(Disk3-Disk2-Disk1-Disk0-Disk3...)
校验数据的修改被平均到所有的磁盘上,避免了RAID3频繁写坏一块磁盘的情况。
-
RAID 6
RAID 3与RAID 5:一般情况下,一台服务器上不会同时损坏两块磁盘,在只损坏一块磁盘的情况下,利用其它磁盘恢复数据。
RAID 6:数据需要很高的可靠性,同时损坏两块磁盘的情况下,也要恢复数据。
数据写入N-2块磁盘,螺旋式的在两块磁盘中写入使用不同算法生成的校验信息。
几种RAID技术比较
RAID类型 | 访问速度 | 数据可靠性 | 磁盘利用率 |
---|---|---|---|
RAID0 | 很快 | 很低 | 100% |
RAID1 | 很慢 | 很高 | 50% |
RAID10 | 中等 | 很高 | 50% |
RAID5 | 较快 | 较高 | (N-1)/N |
RAID6 | 较快 | 较(RAID5)高 | (N-2)/N |
-
后记
RAID技术在传统关系型数据库以及文件系统中应用较广泛,但在NoSQL以及分布式文件系统中遭到冷落。
例如HDFS中,系统在整个集群中多台服务器上并发读写和备份,可以认为在集群规模上实现了RAID功能,不需要磁盘RAID。
HDFS三副本相当于实现了RAID1,HDFS同时读取多个文件block,相当于实现了RAID0.