Raid0、Raid1、Raid5及Raid10的区别

时间:2024-11-12 13:59:49

一、概况
Raid(Redundant Array of Indepent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会对数据的访问造成影响而开发的数据保护技。raid就是由多块磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现的。它可以充分发挥出多块硬盘的优势,可以提升硬盘的读写速度,提高硬盘的利用率,日工容错功能确保数据的安全性,易于管理等优点。在任何一块硬盘出现问题的情况下都可以继续工作,不受损坏硬盘的影响。其中raid有多种磁盘阵列组合,常用的有raid0、raid1、raid5和raid10,每种磁盘阵列都有它的优势。

二、不同raid的区别
2.1 Raid0
Raid0技术是把多块(至少两块)物理硬盘通过工具绑在一起,组成一个大的虚拟存储设备,并将数据分成几块分别依次写入到各个物理硬盘中。这样,在理想的情况下,硬盘的读写性能将会提高数倍,但是raid0也有局限性,提高读写速率的同时,如果任意中的一块硬盘发生故障,将会导致整个系统的数据都受到破坏。如图1所示,数据被分成多段分别写入到不同的硬盘中,即数据分别保存到disk1和disk2中,最终实现提升读取、写入的速度。

2.2 Raid1
如果生产环境对硬盘设别的读写速度没有要求,而是要求增加数据的安全性,这时候就要用到Raid1技术。

Raid1技术是把两块(多块)物理磁盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(这里可以看作数据的备份或者时镜像)。当其中一块硬盘发生故障时,不会损坏数据,而是立即自动以热交换的方式来恢复数据的正常使用。Raid1技术虽然保证了数据的安全性,但是也有不足的地方,因为在多块设备中写入了相同的数据,因此硬盘的利用率下降了一半。从理论上讲,如图2所示的硬盘空间的真实可用率为50%;由三块硬盘组成的Raid1磁盘阵列的可用率为33%左右,以此类推。由于需要把数据同时写入到两块以上的硬盘设备,这无疑也在一定程度上增大了计算功能的负载。

2.3 Raid5
Raid5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。raid5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一个磁盘设备中,而是存储到除自身以外的其他每一块对应设备上,这样的好处是其中任何一个设备损坏后不至于出现致命缺陷。如图3“parity”部分存放的就是数据的奇偶校验信息,换句话说,Raid5技术实际上没有备份磁盘中的真实数据,而是当硬盘设备出现问题后,通过奇偶校验技术来尝试重建损坏的数据。Raid5这样的技术特性 “妥协”的兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。

2.4 Raid10
鉴于Raid5技术是因为磁盘设备的成本问题,对读写速度和数据的安全性能而又一定的妥协,但是在企业里更在乎的还是数据本身的价值而非硬盘的价格,因此在生产环境中推荐使用raid10技术。

Raid10是Raid1和Raid0的组合体,如图4所示,Raid10技术至少需要4块硬盘来组建,其中先分别两两制成Raid1磁盘阵列,以保证数据的安全性。然后再对两个Raid1磁盘按阵列实施Raid0技术,进一步提高硬盘设备的读写速度。这样从理论上讲,只要坏的不是同一组中的所有磁盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于Raid10技术击继承了Raid0的高速写速度和Raid1的数据安全性,在不考虑成本的情况下Raid10的性能都超过了Raid5,因此当前成为广泛使用的一种存储技术。