华为RAID2.0++原理讲述

网友投稿 2045 2022-05-28

我们在了解华为RAID2.0+技术原理之前,我们可以先了解一下我们的传统RAID技术。我们传统的RAID技术是一种盘级虚拟化的技术,有RAID0 RAID1 RAID5 RAID10等常见的RAID技术,传统RAID的状态主要有几种:创建RAID 、RAID组正常工作 、RAID组降级、 RAID组失效 。传统RAID技术热备方式主要是通过固定的盘来进行数据的恢复。那么对传统RAID技术有个大致的了解之后,我们来了解一下RAID2.0+是个怎么样的技术。RAID2.0+是一种块级的虚拟化技术,它由不同类型的硬盘组成硬盘域,硬盘域内将每块硬盘分成64M大小的chrunk,由同种类型的硬盘chrunk(简称CK)组成chrunk group(简称CKG),CKG又分成默认大小为4M打extent,由extent组成thick lun,extent细分为默认64K大小的grain,grain可以组成我们的thin lun。

下面我介绍一下RAID2.0+里面的一些基本概念

硬盘域:硬盘域是由多块相同或不同类型的硬盘组合而成。不同的硬盘域间相互隔离,如果将不同的业务承载到不同硬盘域中,就隔离了业务之间的性能影响和故障影响。

存储池:存储池创建于硬盘域中,是存放存储空间资源的容器,所有应用服务器使用的存储空间都来自于存储池。存储池根据存储介质的不同,可以划分为3个存储层,分别是高性能层、性能层和容量层。

存储层:存储池中相同性能的存储介质集合,用于管理不同性能的存储介质,以便为不同性能要求的应用提供不同存储空间。

CHUNK:硬盘上划分的连续的固定大小的物理空间,简写为CK。

CHUNK Group:由不同硬盘的CK组成的逻辑集合。CHUNK Group具有RAID属性,简写为CKG。

Extent:Extent是在CKG中划分的固定大小的块(默认4MB)。它是组成thick LUN的基本单位,也是存储池中申请空间、释放空间和迁移数据的最小单位。Extent大小可以在创建存储池时候的属性进行修改。

华为RAID2.0+原理讲述

Grain:Grain是在Extent中按照固定大小进一步划分的更细粒度的块,系统默认值为64KB(当存储池的硬盘为全SSD时,默认值为8KB)。它是组成thin LUN的基本单位,Grain内的LBA(Logical Block Address)是连续的。Grain大小可以在存储的命令行进行修改。

那么我们的RAID2.0+当中性能好的方面体现在哪里?主要是以下几个方面。

第一,RAID2.0+的负载均衡的方式。主要有两种,第一种是根据crush算法,在创建CKG的时候选择CK,我们RAID2.0+就会通过该算法保证硬盘被选中的概率与硬盘剩余容量成正比。第二就是smartmotion,该迁移主要是发生在DG层次。当有新盘加入硬盘域的时候,会触发smartmotion,查出待均衡的原CKG,然后给该CKG分配一个目标CKG,该CKG包含来源于新盘的CK,如果原CKG和目标CKG中对应位置的CK落在不同的盘,就会触发实现均衡。那么有数据的原CKG迁移到目标CKG中,没有数据的只需要改变CKG的映射关系即可。

第二、RAID2.0+的重构方式。主要有三种,第一种是全盘重构,就是当一块盘故障或者被拔出之后进行数据恢复。第二种是局部重构,就是硬盘上出现坏块,通过RAID算法将上面的数据重构到热备CK中。第三种是恢复重构,就是在某块硬盘在不能正常访问期间的写操作无法完成,只能处于降级写状态,会在系统上记录相关的日志并且更新校验值,待硬盘恢复后,将故障期间的数据根据RAID算法计算之后更新数据。

第三、RAID2.0+的热备采用的是空间的形式,每个盘上面的CK都可以作为数据恢复的CK,恢复速度较快。

以上就大概是RAID2.0+的一些相关知识点的认可,供大家学习。

Oracle 存储

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:高性能算力中心 — NVMe/NVMe-oF
下一篇:云服务器常见操作文档链接
相关文章