天天看点

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

冗余是一种数据保护方法,旨在作为针对硬盘驱动器故障的实时故障保护措施。

备份不提供实时保护,但可以提供对更多问题的保护,包括驱动器故障,设备失窃,火灾甚至只是意外删除文件。

通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

奇偶校验算法

相同为假,相异为真

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

RAID0

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

在所有RAID级别中,RAID 0(也被称为条带化RAID)具有最高的存储性能。RAID 0使用条带化技术将数据分布存储在RAID组的所有硬盘中。

一个RAID 0包含至少2个成员盘。

RAID 0采用条带化技术将数据写入硬盘组中,它将数据分为数据块,并均匀地分布存储在RAID组中的所有硬盘上。只有当RAID组的前一个分条被数据块写满后,数据才会写入到下一个分条。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

RAID 1的两个硬盘必须具有相同的大小。如果两个硬盘的容量大小不同,可用容量是最小的硬盘的容量。

读写性能

数据读取

数据恢复

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

写惩罚

只要是并行写入的都会有写惩罚

只要是又XOR算法的都会有写惩罚

写入

数据读取

数据恢复

异或(xor) 1+1=0 1+0=1 0+1=1相同为0,不同为1

在数据恢复过程中,由于所有操作在一个单独的硬盘上运行,给数据恢复硬盘上造成沉重的压力,同时降低了RAID的性能。

2、使用的硬盘容量非常大(通常超过2T)。大容量硬盘的重建时间较长,两个硬盘都失效是会造成数据较长时间不能访问。在RAID 6中,可以实现一个硬盘重构时另一个硬盘失效。一些企业希望在使用大容量硬盘后,存储阵列的供应商使用一个双重保护的RAID组。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

对于大多数的企业客户而言,RAID 0并不是一个真正可以操作的选择,而RAID 1受限于硬盘容量利用率。RAID 10组合了RAID 1和RAID 0,提供了最好的解决方案,特别是在随机写入时,由于不存在写惩罚,性能优势比较明显。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

RAID 50是RAID 0和RAID 5的组合。两个子组被配置成RAID 5,这两个子组再形成RAID 0。每个RAID 5子组完全独立于对方。RAID 50需要至少六个硬盘,因为一个RAID 5组最少需要三个硬盘。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

随机写性能:并发

连续写性能:并行

并发是指一个处理器同时处理多个任务。

并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复

仅被某一特定的RAID组使的热备盘是一个局部热备盘,如果有其它RAID组里的硬盘失效,局部热备盘不会投入使用。

HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
  • RAID技术可以保护因物理硬盘故障而引起的数据丢失。每个RAID级别都有各自的特性,像RAID组性能、可以容忍的失效硬盘数、部署相应RAID类型的成本/开销。开销可以表为:为了数据保护而使用的硬盘(空间)的量。数据保护有两种方法:使用复制的数据(RAID 1和RAID 10)和添加额外的校验信息帮助重建数据(RAID 3,RAID 5;RAID 6,RAID 50)。
  • RAID 0是不会在企业中使用的,因为它没有提供数据保护。尽管RAID 0的I/O很快,没有开销。RAID 0硬盘组的所有容量都可用于存储用户数据。
  • RAID技术可以保护因物理硬盘故障而引起的数据丢失。每个RAID级别都有各自的特性,像RAID组性能、可以容忍的失效硬盘数、部署相应RAID类型的成本/开销。开销可以表为:为了数据保护而使用的硬盘(空间)的量。数据保护有两种方法:使用复制的数据(RAID 1和RAID 10)和添加额外的校验信息帮助重建数据(RAID 3,RAID 5;RAID 6,RAID 50)。
  • RAID 0是不会在企业中使用的,因为它没有提供数据保护。尽管RAID 0的I/O很快,没有开销。RAID 0硬盘组的所有容量都可用于存储用户数据。
  • 答案:
    • 1、条带(strip):硬盘中单个或者多个连续的扇区构成一个条带,他是一块硬盘上进一次数据读写的最小单元。 它是组成分条的元素。分条(stipe):同一硬盘阵列中的多个硬盘驱动器上的相同“位置”(或者说是相同编号)的条带的组合。
    • 2、正常:一切都是正常的,同时热备盘可用;重构:有一个硬盘出现故障,热备盘正在对数据进行重新构建;降级:硬盘故障但没有热备盘可用;失效:太多的硬盘故障同时有发生,数据不能再恢复,随后数据丢失将不可避免。
    • 3、RAID 5使用分布式奇偶校验。数据被分割成块(可选择的大小),然后计算奇偶校验值。数据块和校验块并行写入硬盘组中所有硬盘。
    • 4、当存储容量不超过单个硬盘的大小,同时数据是非常重要的时候,使用RAID 1。RAID 5能保护一个硬盘失效,但随机写性能比RAID1差。
    • 5、RAID 10
    • 6、LUN是某一RAID组硬盘容量空间的逻辑分配。RAID是一组硬盘一起工作,形成一个逻辑组合以提供存储容量及性能。
      • 一个RAID组的可用空间计算公式如下:
      • (硬盘数量*硬盘容量)- 该RAID类型的开销。
  • HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
  • 例如:
    • 有4个物理硬盘,其中每一个是300G容量。当我们把它们放在一个RAID组中,代表了4×300GB=1.2TB的硬盘容量。假设我们将硬盘组设置成RAID 5进行数据保护,实际可用空间将是3×300=900GB。我们“浪费”了一个硬盘的容量 ,因为在4个硬盘中需要有相当于1个硬盘的空间储存校验信息。
    • 从存储管理员的角度来看,现在可以创建1个空间为900 GB的LUN,或多个较小的LUN,使用900 GB容量的一部分。
    • 每个LUN的数据保护都将是RAID 5级别。
  • 有两种类型热备盘,全局热备盘和局部热备盘。
    • 不同RAID组共用一个热备盘,此热备盘称为全局热备盘。它将替换任何硬盘组中的任何失效硬盘。热备盘要求:热备盘的容量需要比失效的硬盘具有相同的大小或更大,类型要和失效RAID组中的硬盘类型相同!
  • 一个RAID 6组的性能,无论算法是DP还是P+Q,相对都比较慢。因此,RAID 6适用两种场景:
    • 1、数据非常重要,需要尽可能长的时间处于在线和可使用的状态。
  • HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
  • HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
  • RAID 5是改进版的RAID 3,使用条带化并计算奇偶校验信息。在RAID 3中有一块专用硬盘负责奇偶校验数据的写入和读取,这导致了我们前面提到的性能瓶颈问题。RAID 5使用的是分布式奇偶校验,每个成员硬盘将用于存储用户数据和奇偶校验数据。所以RAID 5没有瓶颈或热点。
  • 假定一个RAID 5的硬盘数为N,其中有效用户数据存储容量为N-1个硬盘的容量。与其他RAID一样,RAID 5阵列中的成员盘的容量和转速应该是相同的。
  • 在RAID 3级别和RAID 5级别的硬盘阵列中,如果一个硬盘失效,该硬盘组将从在线(正常)状态转变为降级状态,直到完成重构失效硬盘。如果RAID中的另一个硬盘也出现故障,则硬盘组的数据将丢失。
  • HCIE云计算之路---RAID技术读写性能数据读取数据恢复写惩罚写入数据读取数据恢复
  • 对于数据恢复,RAID 3通过对数据硬盘和奇偶校验硬盘进行异或运算来恢复故障硬盘上丢失的数据。
  • 如图所示,当硬盘2失败,数据块A1,B1,C1丢失。恢复这些数据块,首先要恢复A1,可以对硬盘1的A0、硬盘3上的A2、校验硬盘上的P1运用异或操作得到A1。B1和C1也用同样的方法恢复。在结束时,所有丢失的数据在硬盘2上恢复。
  • 在RAID 3中,数据以分条的方式进行读取。RAID中的每个硬盘的硬盘驱动器被控制,所以RAID 3里同一条带上的数据块可以并行读取。所以,RAID 3的每一个硬盘被充分利用,提升了读取性能。
  • RAID 3使用并行数据读(写)模式。
  • RAID 3的读取性能取决于读取的数据量和RAID 3阵列的硬盘数量。
  • RAID 3采用单硬盘容错和并行数据传输。换句话说,RAID 3采用分条技术将数据分块,这些块进行异或算法,并将奇偶校验数据写到最后一个盘——RAID 3组的奇偶校验硬盘。当硬盘出现故障时,数据被写入到那些没有故障的硬盘上,奇偶校验继续。
  • RAID 3的性能不是固定的。原则上,RAID 3采用的是N+1的数据保护方法。这意味着当有N个硬盘的用户数据需要保护时,需要一个额外的硬盘来存储校验信息。在这种情况下,新的数据块被写入硬盘同时,奇偶校验信息被计算生成后,写入校验硬盘。
  • 通常情况下,RAID 3组的所有的硬盘会在分条过程中合作,N个硬盘会并行写入。但当新写入的数据较少,只需写入一个或两个硬盘时,按照RAID 3的工作原理,仍需要读所有的硬盘以便重新计算新的奇偶校验值。这种少量写入数据的场景,因为需要额外的读和写操作,相对于对单个硬盘进行数据写入,并没有提升硬盘的性能,这种情况被称为RAID 3的“写惩罚”。
  • RAID 3与RAID 0类似,不同之处在于RAID 3带有专用的奇偶校验的分条。在RAID 3中,一块专用硬盘(校验盘)用来保存同一分条上其他硬盘上的相应的条带中的数据的奇偶校验值。如果检测到不正确的数据或硬盘出现故障,我们可以利用奇偶校验信息来恢复故障硬盘上的数据。RAID 3适用于数据密集型或单用户环境,需要长期、连续访问的数据块。RAID 3将数据写入操作分配给RAID组内的数据成员盘。但是,当有新数据需要写入时,无论写入哪个硬盘,RAID 3都需要重新计算并重写校验信息。因此,当某个应用程序需要大量写入时,RAID 3的奇偶校验盘将有很大的工作量。因为需要等待奇偶校验,所以会对RAID 3组的读写性能有一定影响。此外,因为校验盘有较高的工作负载,它往往是RAID 3里最容易失效的硬盘。这就是为什么校验盘被称为RAID 3的瓶颈的原因。
  • 假定一个RAID 3的硬盘数为N,其中有效用户数据存储容量为N-1个硬盘的容量。与其他RAID一样,RAID 3中的成员盘的容量和转速应该是相同的。
  • RAID 1的数据盘与镜像盘具有相同的内容。当其中一个硬盘出现故障时,可以使用镜像盘恢复数据。在图中,硬盘1失败,数据丢失,我们可以用一个新的硬盘替换硬盘1,并从硬盘2复制数据到新硬盘,以恢复丢失的数据。在大多数的存储解决方案中,阵列会自动替换故障硬盘。
  • 当RAID 1组中有硬盘失效,只要新的硬盘重建没有完成,RAID 1就处于降级状态。尤其当单个硬盘的容量越高,数据重建就越长。下面的表格罗列了不同容量硬盘重建所需时间。
  • RAID 1读取数据时,会同时读取数据盘和镜像盘,以提高读取性能。如果其中一个硬盘失败,可以从另一个硬盘读取数据。
  • RAID 1系统的读取性能等于两个硬盘的性能之和。在RAID组降级的情况下,性能下降一半。
  • RAID 0采用条带化技术将不同数据并行写入到硬盘中,而RAID 1则是同时写入相同的数据到每个硬盘,数据在所有成员硬盘中都是相同的。在上图所示,数据块D0,D1和D2,等待写入到硬盘。D0和D0的副本同时写入到两个硬盘中(硬盘1和硬盘2),其他数据块也以相同的方式(镜像)写入到RAID 1硬盘组中。
  • 通常来说,一个RAID 1的写性能是单个硬盘的写性能。
  • RAID 1(也被称为镜像结构的硬盘阵列)旨在建立一个高安全性的RAID级别。RAID1使用2个相同的硬盘系统,并设置了镜像。当数据写入到一个硬盘上时,数据的副本会同时存储在镜像硬盘上。当源硬盘(物理)失败时,镜像硬盘从源硬盘接管服务,保证服务的连续性。镜像盘作为备份,提供高数据可靠性。
  • 一个RAID 1组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一G字节的数据存储占用了2G字节的硬盘空间,所以说两个硬盘组成的RAID 1的空间利用率是50%。
  • 总结来说,RAID技术的优势体现在如下几个方面:
    • 把多个硬盘组合成一个逻辑盘组,以提供更大容量的存储。
    • 将数据分割成数据块,对多个硬盘并行进行写入/读出,提高硬盘访问速度。
    • 通过提供镜像或奇偶校验来提供容错。
  • RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的RAID技术更多则是与数据保护相关,换言之,当物理设备失效时,RAID能够用来防止数据的丢失。
  • RAID技术的主要功能:
    • 通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高了数据存取速度。
    • 通过对一阵列中的几块硬盘同时读取(并行访问),减少了硬盘的机械寻道时间,提高了数据存取速度。

继续阅读