传统RAID和RAID2.0对比

传统RAID是基于一块块硬盘来做RAID,现在的硬盘存储空间多则10T,这要是坏了一块,重构10T的数据耗时不说,还影响同RAID组中其他硬盘的工作效率。这时RAID2.0诞生了。

RAID2.0不再以硬盘为单位做RAID,而是先将同RAID组中的所有硬盘切块,基于块来构建RAID组。

RAID2.0+

RAID2.0+底层是RAID2.0,但是上层(LUN层)又做了精细化分。原理如下

 

大致可以看到,底层先对硬盘切条形成CK,把各个硬盘(必须是同一类型的硬盘)的条放在一起形成CKG。再对CKG横向切割(为了让数据分散到每一块硬盘中,纵向是相同硬盘,横向是不同硬盘)。再把切割完的数据块组成Extent,把多个Extent组成LUN,最后映射给主机使用。

同时可以看到热备盘也由原来的一块实体盘改成了由多个不同硬盘组成的块来充当热备盘。

进一步详细了解以上的名词

LD(逻辑磁盘):即现时中看得见摸得着的实际磁盘,可以是SSD、SAS硬盘、SATA硬盘。但是这些硬盘混用的时候需要把类型相同的硬盘组成组,然后组中进行对硬盘的纵向切割形成CK

CK(逻辑块):是磁盘中按照固定大小切分的物理空间,是组成RAID的基本单位。需要注意的是,逻辑块大小是固定值不能改变。通常SSD/SAS切分成64MB,SATA/NL-SAS切成256MB

CKG(逻辑块组):是指在同一个磁盘组内的不同磁盘划分出来的逻辑块(CK),然后按照RAID组算法组成的逻辑存储单元。注意此时已经构建完RAID组。一个逻辑块组中的所有逻辑块都来自于同一个硬盘组(磁盘类型相同的组)

Extent:在逻辑块组CKG的基础上划分的,固定大小的逻辑存储空间。一个逻辑块组CKG可以切分成多个Extent,一个Extent归属与一个卷或者一个LUN,多个Extent可以组成一个LUN然后映射给主机使用。当LUN的空间不够的时候,可以通过给LUN增加Extent来扩容Extent,动态调整LUN大小

Grain:是一种更细粒度的Extent。以Extent构成的LUN被称为传统非精简LUN(Thick LUN 或者FAT LUN),以Grain构成的LUN称为精简LUN(Thin LUN)。除了组成单位有差异,Thick LUN和Thin LUN在储存空间分配、存储空间回收以及性能上有很大区别。(目前不了解区别在哪,后续遇到在补充)

Volume和LUN:Volume就是卷组,LVM已经介绍过。LUN就相当于PV。最后用户看到的PV就是可用的虚拟磁盘。

Thick LUN和Thin LUN对比

 

 可以看到Thick LUN直接由Extent组成LUN,然后映射给主机使用。Extent块大小是512KB~64MB之间可以手动调节。

 

 

Thin LUN则是将Extent再次切割成更小的单位Grain,然后利用Grain组成LUN映射给主机使用。Grian的颗粒大小是64KB

补充几个专业名词

硬盘域(Disk Domain 简称DD)

是一堆磁盘的集合。因为此时RAID尚未建成,所以磁盘域中可以包含多种类型的磁盘,(SSD、SAS等)。在大型存储中,磁盘的数量非常多,可以用磁盘域将多组物理磁盘分开,组成多个和磁盘域,实现磁盘域之间故障、性能、存储资源完全隔离,有效避免系统中一块物理磁盘故障影响整个系统的工作效率。

磁盘域中不同类型的磁盘对应不同的存储层级。

Tier0(高性能层):SSD

Tier1(性能层):SAS

Tier2(容量层):NL-SAS、SATA

存储池(Storage Pool 简称SP)

下属于磁盘域,一个磁盘域中可以划分多个存储池。不同存储池中可以实现故障隔离、管理分离,分别服务不同的应用。

创建存储池先指定存储层级(Tier0/1/2),然后指定容量,最后指定RAID组策略。

磁盘组(Disk Group 简称DG)

指硬盘域中相同类型磁盘的集合。

小结

由于没有实际操作过,我推测在真机上先划分硬盘域,之后指定存储池参数(选择层级、指定容量、指定RAID策略)。什么CK\CKG\EXTENT\GRAIN都在指定存储池参数后系统帮你自动规划好了,不需要手动规划。然后你最终看到的就是已经创建成功的LUN,之后直接映射就OK了。此文未完结,实际操作是否与推测一致待后续补充。

posted @ 2021-06-23 15:08  airoot  阅读(1863)  评论(0编辑  收藏  举报