详解Raid级别和知识点

2020-09-03 15:30:46 浏览数 (1)

一、Raid介绍

RAID是(Redundent Array of Inexpensive Disks)的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列"。后来RAID中的字母I被改作了Independent,RAID就成了"独立冗余磁盘阵列",但这只是名称的变化,实质性的内容并没有改变。可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。

RAID包含一组或者一个集合甚至一个阵列。使用一组磁盘结合驱动器组成RAID阵列或RAID集。将至少两个磁盘连接到一个RAID控制器,而成为一个逻辑卷,也可以将多个驱动器放在一个组中。一组磁盘只能使用一个RAID级别。使用RAID可以提高服务器的性能。不同RAID的级别,性能会有所不同。它通过容错和高可用性来保存我们的数据。

RAID的优点:

  • 传输速率高。在部分RAID模式中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍的速率。因为CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。
  • 更高的安全性。相较于普通磁盘驱动器很多RAID模式都提供了多种数据修复功能,当RAID中的某一磁盘驱动器出现严重故障无法使用时,可以通过RAID中的其他磁盘驱动器来恢复此驱动器中的数据,而普通磁盘驱动器无法实现,这是使用RAID的第二个原因。

二、Raid概念

软件Raid:

软件RAID的性能较低,因为其使用主机的资源。 需要加载RAID软件以从软件RAID卷中读取数据。在加载RAID软件前,操作系统需要引导起来才能加载RAID软件。在软件RAID中无需物理硬件。零成本投资。

硬件Raid:

硬件RAID的性能较高。它采用PCI Express卡物理地提供有专用的RAID控制器。它不会使用主机资源。它有NVRAM用于缓存的读取和写入。缓存用于RAID重建时,即使出现电源故障,它会使用后备的电池电源保持缓存。对于大规模使用是非常昂贵的投资。

硬件RAID卡图示如下:

几个重要Raid概念:

  • 校验用在RAID重建中从校验所保存的信息中重新生成丢失的内容。 RAID 5,RAID 6基于校验;
  • 条带化是将切片数据随机存储到多个磁盘。它不会在单个磁盘中保存完整的数据。如果我们使用2个磁盘,则每个磁盘存储我们的一半数据。
  • 镜像被用于RAID 1和 RAID 10。镜像会自动备份数据,在RAID 1中,它会保存相同的内容到其他盘上。
  • 热备份只是我们的服务器上的一个备用驱动器,它可以自动更换发生故障的驱动器。在我们的阵列中,如果任何一个驱动器损坏,热备份驱动器会自动用于重建RAID。
  • 是RAID控制器每次读写数据时的最小单位,最小4KB。通过定义块大小,我们可以增加I/O性能。

三、Raid级别

RAID有不同的级别,下面列举比较常用的模式:

  • RAID0 = 条带化
  • RAID1 = 镜像
  • RAID5 = 单磁盘分布式奇偶校验
  • RAID6 = 双磁盘分布式奇偶校验
  • RAID10 = 镜像 条带 (嵌套RAID)
Raid0

RAID 0,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘还要低。一般用在对数据安全要求不高,但对速度要求很高的场合,如:大型游戏、图形图像编辑等。此种RAID模式至少需要2个磁盘,而更多的磁盘则能提供更高效的数据传输。

条带化有很好的性能。在RAID0(条带化)中数据将使用切片的方式被写入到磁盘。一半的内容放在一个磁盘上,另一半内容将被写入到另一个磁盘。

假设我们有2个磁盘驱动器,例如, 如果我们将数据"TECMINT"写到逻辑卷中,"T"将被保存在第一盘中,"E"将保存在第二盘,"C"将被保存在第一盘,"M"将保存在第二盘,它会一直继续此循环过程。

LCTT译注:实际上不可能按字节切片,是按数据块切片的.

在这种情况下,如果驱动器中的任何一个发生故障,我们就会丢失数据,因为一个盘中只有一半的数据,不能用于重建RAID。不过,当比较在意写入速度和性能时,RAID 0是非常好的选择。创建 RAID 0(条带化)至少需要2个磁盘。如果你的数据是非常宝贵的,那么不要使用此RAID级别。

Raid0特点:

  • 高性能
  • RAID0中容量零损失
  • 零容错
  • 写和读有很高的性能
Raid1

RAID 1,镜象磁盘阵列。每一个磁盘都有一个镜像磁盘,镜像磁盘随时保持与原磁盘的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。此种RAID模式每组仅需要2个磁盘。

镜像可以对我们的数据做一份相同的副本。假设我们有两个2TB的硬盘驱动器,我们总共有4TB,但在镜像中,但是放在RAID控制器后面的驱动器形成了一个逻辑驱动器,我们只能看到这个逻辑驱动器有2TB。

当我们保存数据时,它将同时写入这两个2TB驱动器中。创建 RAID 1(镜像化)最少需要两个驱动器。如果发生磁盘故障,我们可以通过更换一个新的磁盘恢复RAID 。如果在RAID 1中任何一个磁盘发生故障,我们可以从另一个磁盘中获取相同的数据,因为另外的磁盘中也有相同的数据。所以是零数据丢失。

Raid1特点:

  • 良好的性能
  • 总容量丢失一半可用空间
  • 完全容错
  • 重建会更快
  • 写性能变慢
  • 读性能变好
  • 能用于操作系统和小规模的数据库
Raid5

RAID 5, 无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,但没有独立的校验盘,而是使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,既提高了系统可靠性也消除了产生瓶颈的可能,对大小数据量的读写都有很好的性能。为了能跨越数组里的所有磁盘来写入数据及校验码信息,RAID 5设定最少需要三个磁盘,因此在这种情况下,会有1/3的磁盘容量会被备份校验码占用而无法使用,当有四个磁盘时,则需要1/4的容量作为备份,才能让最坏情况的发生率降到最低。当磁盘的数目增多时,每个磁盘上被备份校验码占用的磁盘容量就会降低,但是磁盘故障的风险率也同时增加了,一但同时有两个磁盘故障,则无法进行数据恢复。

RAID 5多用于企业级。 RAID 5的以分布式奇偶校验的方式工作。奇偶校验信息将被用于重建数据。它从剩下的正常驱动器上的信息来重建。在驱动器发生故障时,这可以保护我们的数据。

假设我们有4个驱动器,如果一个驱动器发生故障而后我们更换发生故障的驱动器后,我们可以从奇偶校验中重建数据到更换的驱动器上。奇偶校验信息存储在所有的4个驱动器上,如果我们有4个 1TB 的驱动器。奇偶校验信息将被存储在每个驱动器的256G中,而其它768GB是用户自己使用的。单个驱动器故障后,RAID 5依旧正常工作,如果驱动器损坏个数超过1个会导致数据的丢失。

Raid5特点:

  • 性能卓越
  • 读速度将非常好
  • 写速度处于平均水准,如果我们不使用硬件 RAID 控制器,写速度缓慢
  • 从所有驱动器的奇偶校验信息中重建
  • 完全容错
  • 1个磁盘空间将用于奇偶校验
  • 可以被用在文件服务器,Web服务器,非常重要的备份中
Raid6

RAID 6和RAID 5相似但它有两个分布式奇偶校验。大多用在大数量的阵列中。我们最少需要4个驱动器,即使有2个驱动器发生故障,我们依然可以更换新的驱动器后重建数据。

它比RAID 5慢,因为它将数据同时写到4个驱动器上。当我们使用硬件 RAID 控制器时速度就处于平均水准。如果我们有6个的1TB驱动器,4个驱动器将用于数据保存,2个驱动器将用于校验。

Raid6特点:

  • 性能不佳
  • 读的性能很好
  • 如果我们不使用硬件 RAID 控制器写的性能会很差
  • 从两个奇偶校验驱动器上重建
  • 完全容错
  • 2个磁盘空间将用于奇偶校验
  • 可用于大型阵列
  • 用于备份和视频流中,用于大规模
Raid10

RAID 10可以被称为1 0或0 1。它将做镜像 条带两个工作。在 RAID 10中首先做镜像然后做条带。在 RAID 01上首先做条带,然后做镜像。RAID 10比RAID 01好。

假设,我们有4个驱动器。当我逻辑卷上写数据时,它会使用镜像和条带的方式将数据保存到4个驱动器上。

如果我在 RAID 10 上写入数据“TECMINT”,数据将使用如下方式保存。首先将“T”同时写入两个磁盘,“E”也将同时写入另外两个磁盘,所有数据都写入两块磁盘。这样可以将每个数据复制到另外的磁盘。

同时它将使用 RAID 0 方式写入数据,遵循将“T”写入第一组盘,“E”写入第二组盘。再次将“C”写入第一组盘,“M”到第二组盘。

Raid10特点:

  • 良好的读写性能
  • 总容量丢失一半的可用空间
  • 容错
  • 从副本数据中快速重建
  • 由于其高性能和高可用性,常被用于数据库的存储中

总结

下面附录几张参考表。

针对不同RAID 模式在实际运用中可以使用的磁盘空间分别有多少,在用列表举例说明:

所有Raid级别的一些特性:

0 人点赞