RAID分类详解
RAID通常简称为磁盘阵列,简单地说, RAID就是由多个磁盘的磁盘集合,从而提供比单个磁盘更高的存储性能和数据冗余的技术。在服务器整个系统中, RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。
根据磁盘上数据分配规则不同,RAID类型常见分为:RAID 0、RAID 1、RAID 5、RAID 10。
# RAID 0
把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。如果要做RAID0,一台服务器至少需要两块硬盘,其读写速度是一块硬盘的两倍。如果有N块硬盘,那么读写速度就是一块硬盘的N倍。虽然读写速度可以提高,但由于没有数据备份功能,因此安全性会低很多。
# RAID 1
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据。同样地,要做RAID1也是至少需要两块硬盘,单读取数据时,一块会被读取,一块会被用作备份数据。其数据安全性就会较高,但是磁盘空间利用率是比较低的。
# RAID 5
RAID 5把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当其中一个磁盘(最多一个)数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5具有和RAID 0相近似的数据读取速度,且磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。用户选择做RAID 5的话,至少需要三块硬盘。
# RAID 10
RAID10 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。
# 总结
RAID 等级技术对比:
RAID 等级 | RAID0 | RAID1 | RAID5 | RAID10 |
---|---|---|---|---|
别名 | 条带 | 镜像 | 分布奇偶校验条带 | 镜像加条带 |
容错性 | 无 | 有 | 有 | 有 |
冗余类型 | 无 | 有 | 有 | 有 |
热备份选择 | 无 | 有 | 有 | 有 |
读性能 | 高 | 低 | 高 | 高 |
随机写性能 | 高 | 低 | 一般 | 一般 |
连续写性能 | 高 | 低 | 低 | 一般 |
需要磁盘数 | n≥1 | 2n (n≥1) | n≥3 | 2n(n≥2)≥4 |
可用容量 | 全部 | 50% | (n-1)/n | 50% |