美文网首页
存储数据的保护:RAID 和 纠删码(一)

存储数据的保护:RAID 和 纠删码(一)

作者: wayyyy | 来源:发表于2022-03-14 03:08 被阅读0次

数据存储在单个磁盘上,存在以下固有缺陷:

  • 访问速度慢,单一的I/O接口,无法实现并发
  • 容量小,尽管单个磁盘容量不断提升,但是仍然无法满足爆炸式增长的数据存储需求
  • 安全性差,容易成为单点故障,安全性较差

如果单个磁盘无法满足访问速度,容量,安全性要求,那么可以使用多个磁盘组合起来提供存储服务,RAID 技术就对其做出了一些有益的尝试。

单个磁盘数据是以扇区作为基本单位进行存储和访问的,RAID 抽象出一个类似于扇区的最小数据访问单位 -- 条带(stripe)。它并非将磁盘再次物理格式化为条或者带,而是想办法在多个磁盘之间建立一种逻辑映射关系,通过这种逻辑映射关系,RAID可以将多个物理磁盘抽象为一个容量更大,I/O并发程度更高的虚拟磁盘,以条带作为基本单位进行管理。

image.png
  • 单个条带所跨过的磁盘个数,称为条带宽度
  • 单个条带在单个磁盘上分配的字节数,称为条带深度,条带深度一般为磁盘基本块(指访问磁盘的最小粒度,扇区)的整数倍

目前,主流的RAID技术有以下几种基本模式:

RAID0

RAID0 将多个磁盘以条带为单位重新划分,形成一个地址空间在逻辑上连续的虚拟磁盘,其I/O能力以及可用存储空间是所有磁盘之和,但是不具备容错能力。一个典型的RAID0系统如图:

image.png
RAID1

RAID1 将同一份数据重复写入两个或多个磁盘,即每个磁盘存储的内容都是完全相同的。因此RAID1 也称为镜像,它能提供的I/O能力以及可用存储空间只有所有的磁盘的 1 / N(N为镜像个数)。由于只要任意一个镜像存活,就可以确保数据不会丢失。

image.png
RAID5

RAID5 是以一个或多个基本块作为条带深度均分数据,同时基于异或运算生成一个于数据块同样大小的校验块。

image.png

假设一块磁盘坏了(红色),那么我们可以通过剩下的磁盘中的数据经过异或运算得到故障磁盘的数据

image.png

因此RAID5 能够提供的 I/O 能力以及可用存储空间为所有磁盘的(N-1)/ N,其中 N 为组成RAID5的磁盘个数,即RAID4的条带宽度。

由异或运算的性质,如果条带中任意一个数据块出错,都可以通过其他仍然正常的数据块于校验块执行异或操作进行数据恢复,因此RAID5具有一定的容错能力,至多允许一块磁盘异常。并且,由于正常情况下并不需要读取校验块,为了避免浪费读带宽。RAID5条带中校验块的位置不是固定不变的,而是不停地在磁盘之间跳动。

4块磁盘组成RAID5.png
RAID6

RAID6 在 RAID5 的基础上进一步提升了容错能力,允许RAID阵列中同时有两块磁盘故障。原因在于 RAID6 为每一个条带增加了一个校验块,即每个条带同时包含两个校验块,因此RAID6的空间和I/O利用率都比RAID5低,同时生成校验块的算法也更加复杂。


参考资料
1、https://zhuanlan.zhihu.com/p/80361528
2、《ceph之RADOS设计原理与实现》

相关文章

  • 存储数据的保护:RAID 和 纠删码(一)

    数据存储在单个磁盘上,存在以下固有缺陷: 访问速度慢,单一的I/O接口,无法实现并发 容量小,尽管单个磁盘容量不断...

  • 存储数据的保护:RAID 和 纠删码(二)

    前面已经介绍了基本的概念,本节将分析高阶RAID(RAID5及以上)技术的隐含的数学原理。RAID5 基于条带将数...

  • 【转】Reed Solomon纠删码

    原文链接 纠删码是存储领域常用的数据冗余技术, 相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠...

  • 纠删码(Erasure Code)浅析

    【摘要】:副本策略和纠删码是存储领域常见的两种数据冗余技术。相比于副本策略,纠删码具有更高的磁盘利用率。 Reed...

  • 存储数据的保护:多副本

    对于存储数据的保护,我们一般采用副本的方式和纠删码的方式。 副本一般采用三副本,为什么是三副本?

  • 论文研读(2019.1~2019.2)

    最近比较关注纠删码存储系统中数据更新的文章,做个小总结,以便理清思路。 Shen,et al.《Cross-Rac...

  • HDFS简介

    分布式文件系统 特点 容忍硬件故障,3个副本,RS(x,y)纠删码 RS(10,4)膨胀率1.4 RAID5 流式...

  • [Sheepdog] 纠删码

  • HDFS纠删码

    1.目的 副本是昂贵的--在HDFS中默认的3副本机制有200%的存储空间和其它的资源(比如:网络带宽)开销。然而...

  • ceph设计原理与实现(纠删码、多副本)

    1、生产环境很少使用备份数高于2的纠删码2、创建和获取纠删码模板:ceph osd erasure-code-pr...

网友评论

      本文标题:存储数据的保护:RAID 和 纠删码(一)

      本文链接:https://www.haomeiwen.com/subject/htjxhrtx.html