下午好,我的网工朋友。
硬盘设备是计算机中较容易出现故障的元器件之一,也是网工们最经常接触到的设备之一,用途广泛。
但是,硬盘不能像CPU、内存、电源甚至主板那样在出现故障后换新的去解决问题,所以经常会需要让你关注“数据冗余”和“异地备份”这两个模块的工作内容。
今天这篇文章就想和你分享一下关于RAID基础技术的最全解读,希望能够更好的帮助你了解和掌握该技术。
今日文章阅读福利:《 RAID技术详解白皮书 》
私信我,发送暗号“RAID”,即可获取最新版技术白皮书资源。
01 什么是RAID?
1988年,美国加利福尼亚大学伯克利分校首次提出并定义了RAID(Redundant Array of Inexpensive Disks ,廉价冗余磁盘阵列)技术的概念。
RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。
随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘, “廉价” 已经毫无意义。
因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用 “ 独立 ” 替代 “ 廉价 ” ,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks ,有“独立磁盘构成的具有冗余能力的阵列”之意)。
RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。
RAID 利用数据条带、镜像和数据校验三大技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。
目前已有的RAID磁盘阵列方案至少有十几种,出于成本和技术方面考虑,通常需要针对不同的需求在数据可靠性及读写性能上做出权衡,制定出满足各自需求的不同方案。下面介绍几种常用的RAID方案。
02 什么是 RAID 0?
RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。
在最理想的状态下(n 块使用相同型号和容量的磁盘组成RAID 0),它的读写性能是单个磁盘性能的 n 倍。但是它没有任何形式的冗余策略,若任意一块硬盘发生故障,将导致整个系统的数据都受到破坏。
RAID 0技术能够有效地提升硬盘IO性能,但是不具备数据备份和错误修复能力。如下图所示,数据被分别写入到不同的硬盘设备中。
当使用相同型号和容量的磁盘组成RAID 0,该模式会将磁盘先切出等量区块block(一般设置为4K-1M之间),当要写入一个文件时,该文件将会依据block大小进行切割,之后按照顺序依次写入各磁盘中。
当某块磁盘损坏,那么文件数据就缺少一块,这个文件就损毁了。由于每个文件都是这样存放的,所以RAID 0 模式任何一块磁盘损坏,在RAID上面所有的数据都会损毁而无法读取。
03 什么是 RAID 1?
也称为“disk mirroring,磁盘镜像”,RAID 1 完全是关于备份数据(也称为冗余)。
如果您至少有两个驱动器,使用 RAID 1 将复制您的数据,并在每个驱动器上存储一个副本,这称为镜像,它确保您在驱动器出现故障时不会丢失文件。
使用 RAID 1 意味着如果一个驱动器出现故障,您仍然可以在另一个驱动器上保留所有数据的副本,然后,即使计算机仍在运行,您也可以用新的驱动器更换出现故障的驱动器,它会自动为您在良好驱动器上的所有数据创建一个新的镜像。
RAID 阵列中的此功能称为热插拔。
但是,使用 RAID 1 意味着您将获得的存储容量仅为其他方式的一半,这是因为每次将文件保存到一个驱动器时,都会将副本保存到第二个驱动器。
RAID 1 最适合用于存储您不想丢失的数据,例如重要的银行数据或家庭照片和文档。
04 什么是 RAID 5?
RAID 5 也称为“disk striping with parity带奇偶校验的磁盘条带化”,与速度和冗余有关。
如果您有至少三个硬盘驱动器,使用 RAID 5 会将您的数据分成多个段并将这些段保存在您的驱动器中。
现在,当您在该阵列中写入数据时,就像在 RAID 0 中一样,您的数据被分解为多个单元并分布在阵列中的硬盘驱动器上。
但是,除了条带化数据之外,它还在驱动器上存储奇偶校验位。
奇偶校验位是一个额外的二进制数字,可帮助您的阵列检查是否有任何错误或丢失的段,这些数据位也可以用作冗余。
就像磁盘镜像一样,该阵列中的驱动器也是可热插拔的。
因此,如果一个驱动器出现故障,您可以轻松地将其更换为新的,并且阵列将自动重新创建您的 RAID 配置。
但是,RAID 5 不会为您提供与 RAID 1 相同的速度或与 RAID 0 相同的容量。
创建奇偶校验位需要处理能力,并且会留出一些存储空间用于冗余
因此,如果您有三个硬盘驱动器,每个硬盘驱动器具有 500GB 的存储空间,您将只能获得 1TB 的容量,因为三分之一的空间将分配给冗余。
此设置最适合存储关键数据和运行需要良好速度和效率的应用程序。
05 什么是 RAID 6?
前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。
如果两个磁盘同时发生故障,数据将无法恢复。
RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。
RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。
RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。
当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。
因此, RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。
06 什么是 RAID 10?
归类为“hybrid RAID configuration混合RAID配置”,RAID 10实际上是RAID 1+0的组合。
这意味着你可以获得磁盘条带化的速度和磁盘镜像的冗余性。
对于技术人员来说,这也被称为“stripe of mirrors条带镜像”。
如果您至少有四个驱动器,RAID 10 将提高您只有一个驱动器的速度,并且您可以获得冗余的优势。
但是,这也意味着您必须购买更多驱动器,而您只能获得所有驱动器的一半容量。
RAID 10 最适合运行需要 7*24 全天候运行的应用程序或托管服务器,如果您的一两个驱动器出现故障,您仍然拥有包含完整数据的镜像驱动器。
07 什么是RAID 50?
RAID 50是RAID 5与RAID 0的结合,先做RAID 5,再做RAID 0,即对两组以上RAID 5做条带化存取。
RAID 50至少6块磁盘,每组RAID 5至少要3块硬盘,每组只允许1块盘故障。
此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。
RAID 50也被称为镜象阵列条带,既可以像RAID 0一样,将数据分割成条带,在同一时间内并发向多块磁盘写入,又可以像RAID 5一样,通过数据的校验位来保证数据的安全,且校验条带均匀分布在各个磁盘上。RAID50 可以弥补RAID5的读写性能的不足。
08 什么是RAID 60?
RAID 60是RAID 6与RAID 0的结合,先做RAID 6,再做RAID 0,即对两组以上RAID 6做条带化存取。
RAID 60最少磁盘数8,每组RAID 6至少要4块硬盘,并允许2块盘故障。
适用于数据要求高可靠性、高请求率、高数据传输;
Raid 60所需磁盘数=大于8的偶数,硬盘利用率=RAID 6 的磁盘利用率。
最后,一张图帮你汇总这些级别的异同点,帮助你更好理解:
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
标签:10,RAID,50,硬盘,磁盘,驱动器,数据,冗余 From: https://blog.51cto.com/u_15281548/7411556