Exadata Interleaved GridDisk 1

原文链接: http://www.dbaleet.org/exadata_interleaved_griddisk_1

 

 

在了解什么是Interleaved Griddisk之前,首先需要弄清楚默认情况下的Griddisk是如何创建的。我们一起回顾一下之前的文章Exadata存储架构概述:Exadata的存储从底层往上层依次是PhysicalDisk=>LUN=>CellDisk=>GridDisk,  前两个步骤基本可以简单的理解为是一对一的映射,后一个步骤为一对多的映射。

 

在传统Griddisk的创建过程中,一块CellDisk被分成了多个部分,首先会在Cell盘的最外圈划分一定的区域创建data前缀的gridisk, 这一部分区域是磁盘访问速度最快的区域,被成为hot zone,在ASM中这些GridDisk被用创建DATA磁盘组,用来存放数据库的数据文件, 接下来再在依次往里创建reco前缀的GridDisk, 这一部分是磁盘访问速度较慢的区域,被成为cold zone,在ASM中,这一部分Griddisk被用来创建RECO磁盘组,用来存放flash recovery area以及archived log。当然通常情况下还有一个叫做DBFS的磁盘组,这个磁盘组用来存放RAC使用的OCR和voting disk,以及用来创建数据库文件系统DBFS, dbfs使用的griddisk位于磁盘的最内圈,访问速度是最慢的。当然并不是所有的盘上都创建有以dbfs为前缀的griddisk,前两块磁盘是没有创建dbfs为前缀的griddisk的,因为这一部分空间已经被cell的操作系统使用了。

 

下图左边就是传统的griddisk了,其中griddisk 1位于外圈,访问速度更快,griddisk 2位于内圈,访问速度相对较慢。

 

 

介绍完了传统的grid disk,我们再来看一看interleaved griddisk. interleave本身的意思是交织,交错。上面的图示中右侧就是interleaverd griddisk了。interleave的过程其实在实际上是在创建celldisk的时候发生的,一块interleaved griddisk的容量来自两个方面,例如上图右侧的griddisk 3的空间就是由最外圈部分的浅灰色区域以及中间部分的深灰色区域拼揍而成,同理griddisk 4就是有次外侧的深绿色区域以及最内测的深绿色所组成。

再来看一个具体的实例:下图为一个容量为600GB的高性能(HP)磁盘(实际可用的celldisk空间为558G),在创建celldisk的时候制定了interleaving为normal_redundancy,并且创建了两块griddisk,其中一块名字为data1_interleaving_test, 大小为200G, 另一块名字为data2_interleaving_test,大小为358G。

 

通过上图可以清楚的看到每块griddisk的构成,首先创建interleaving属性为normal redundancy的celldisk,就将celldisk的空间划分为两块面积均等的部分,空间各占50%。 ((如果属性为high  redundancy则会分成三个均等的部分,各占33.33%))然后创建griddisk的时候再从个50%中个取一半,例如data1_interleaving_test 大小200G,会从其中一个50%中取100G,从另外一个50%中再取100%G,data2_interleaving_test 类似。

那么这种做法的目的究竟是什么呢?

我个人认为: interleaved更多的来说只是性能折衷的一种方案。

传统的griddisk的处理方式更加极端,使用最外圈创建出来的griddisk的性能可能是使用最内圈创建出来的griddisk的好几倍,导致使用内圈创建出来的gridisk性能比较糟糕,这在某些场景下可能是不适用的,例如某些对ASM磁盘要求性能比较均衡,归档量比较大的数据仓库应用。

那么interleaving griddisk又有什么好处呢?

我们知道, ASM的normal redundacy中每一个分配的extent都有一个primary copy和一个secondary copy, 分别被称为primary extent和secondary extent。 如果需要读取这个extent的内容, ASM默认会从primary extent中读取所需的信息,而不会从secondary copy读取。 如果使用了interleaving griddisk则会默认将primary extent放置在外圈那50%的空间,secodary extent放置在内圈的50%,因为外圈的访问速度较内圈快,所以这样做在一定程度上就能提高ASM读取数据的速率。

 

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号