`

ASM的元数据(原创)

 
阅读更多

概述

ASM Filesystem是建立在ASM Diskgroup上的,并且有元数据描述其内容布局,并且这些元数据也是记录在磁盘组上的,故ASM Diskgroup是自描述的。

ASM的元数据分成两类:Physical Metadata和Virtual Metadata

Physical Metadata:这类数据位于磁盘的固定位置,用于描述Diksgroup的信息

Virtual Metadata:我们知道RDBMS是通过在ASM磁盘组中创建文件的方式来使用ASM磁盘组的,这些文件叫ASM File,包括控制文件,spfile,数据文件,联机日志,归档日志,备份集等;这些文件在ASM Diskgroup上如何布局就是通过Virtual Metadata来记录的。Virtual Metadata本身也是以ASM File的形式保存在ASM Diskgroup上,为了与数据库的数据文件、控制文件这些通常意义上的ASM File相区别,对于Virual Metadata的ASM File有一个特殊的名称,File Directory。大概是因为这些文件的功能非常类似普通文件系统中的目录,是文件容器的原因吧。

Physical Metadata

Physical Metadata不是以ASM File形式存在的,而是固定存放于每个磁盘的头两个Allocation Unit。Physical Metadata包含了Disk Header、Allocation Table、Free Space Table和PST。

Disk Header

每个ASM Disk都有一个Disk Header,占据第一个AU的第一个数据块。这个数据块的内容提供ASM Discovery使用。Disk Header记录的是每个磁盘的专有数据(Disk-Specific),因此没有必要在其他磁盘上镜像。Disk Header包含如下内容

disk name
disk number
diskgroup name
failure group name
disk size
allocation unit (AU) size
creation time
mount time
ASM compatibility
RDBMS compatibility
file directory pointer
ASMLIB reserved block

Allocation Table

Allocation Table相当于一个表,ASM磁盘上的每一个AU都会在这个中有记录(Allocation Table Entry),如果这个AU分配给了某个数据文件,ATE中将包含对应的File number和Extent number。如果磁盘空间很大,这个Allocation Table不能存放所有的AU条目,就会有第二个Allocation Table出现,不过第二个Allocation Table是存放在第一个Allocation Table锁覆盖的最后一个AU的下一个AU。比如第一个Allocation Table存放在AU0上,假设这个Allocation Table有1000项,覆盖了AU2-AU1001;则第二个Allocation Table会被放在AU 1002上。

Free Space Table

Free Space Table也是一个表格,用于记录没有被使用的AU。每个Allocation Table的第二个Block(Block 1)用于存放Free Allocation Unit。在需要空间时,ASM不用再扫描AT,从这个表即可立即获得。

PST
PST用来跟踪Diskgroup的成员关系,每个磁盘的第二个AU用于保存PST内容。PST的数量取决于磁盘组的冗余状态和磁盘故障组的数据量,详细关系如下
External redundancy diskgroups:只有一份PST

Normal-redundancy diskgroups :当故障组数量大于等于3时,有3份PST。当故障组数量小于3时,每个故障组保存一份PST。

High-redundancy diskgroups :当故障组数量大于等于5时,有3份PST。当故障组数量小于5时,每个故障组保存一份PST。

每个AU1都会保存两份PST,其中一份作为另一份更新PST时的快照。当需要更新PST时,只更改其中的一份,更新完毕后再更新另一份PST

PST包含的内容如下

=====自身的描述信息=====

version number
timestamp
PST size (number of disks)
number of PST copies
list of disks containing the PST
value of compatible.asm (if  COMPATIBLE.ASM >= 11.1)

=====用于成员之间跟踪的信息=====

disk status (for example, whether it is online or offline)
number of partners
list of partners

最后一个Block用于磁盘组的Heartbeat

Virtual Metadata

说明:如无特别说明,以下所指的文件号均为ASM File的文件号

Virtual Metadata记录了ASM File如何在磁盘组上分布的,也叫File Directory,根据记录的不同又可分为几种不同的File Directory。这些File Directory和普通的ASM File一样也是根据磁盘组的冗余策略进行镜像的:如果磁盘组采用External的冗余策略,则这些文件也不会被镜像;如果磁盘组采用的是Normal或High-Redundancy策略,这些文件都被做3份镜像。Virtual Metadata包含以下项目:

File Directory
Disk Directory
Active Change Directory (ACD)
Continuing Operations Directory (COD)
Template Directory
Alias Directory
Attribute Directory

File Directory

这个文件记录了ASM File的元数据,每个ASM File有一条记录,并使用文件号进行索引。File Directory位于每个磁盘组的第一个文件。具体包含如下内容Incarnation number、File size、File block size、File type、Redundancy (none, normal, or high)、Striping (coarse or fine-grained)、File creation time、File modification time (the time that the file was last opened for writing)和File layout

其中Incarnation number是根据创建文件的时间戳生成的,以确保唯一性。File block size根据文件类型的不同而不同。每个ASM元数据的块大小为4k,数据文件的块大小根据创建表空间时指定的大小从2k~32k不等,联机日志文件的块大小为512字节。file creation time即为ASM File的创建时间。File modification time记录了用于修改ASM File内容而打开ASM File的时间。这也意味着,File modification time记录的时间往往会早于最后一次修改的时间,该记录精确度为小时。File Layout,这部分内容记录了文件的Extent Pointer,并且是采用多级方式的记录,这里的Extent Pointer记录的是RDBMS中Extent所对应的Disk Number与AU Number。文件的头60个Extent Pointer叫做Direct Extents pointer,意味着通过这些指针可以直接访问到Extent。第61个Extent开始并不指向Extent,而是指向Indirect Extent,叫做Indirect Extents pointer。最多可有300个Indirect Extents pointer。Indirect Extent是一个二级列表,其中记录着真正的Extent Pointer,这部分内容并不包含于File Layout中。下图为包含1个包含10个ASM磁盘的磁盘组的File Layout信息

File Layout和Allocation Table关系可参见下图

 

File Layout信息也就是Extent Map,RDBMS需要从ASM获得这个Extent Map之后才能进行数据读写;在10g中,RDBMS必须获得Direct Extent和Indirect Extent才能打开文件;到11g后,只需要获得Direct Extent即可打开文件,而Indirect Extent部分按需请求。

Disk Directory

用于记录组成ASM磁盘组的ASM磁盘信息,和Physical Metadata中的PST类似,但内容更详细。包含Disk name、Failure group name、Disk size、Disk free space和Disk creation time。Disk Directory位于第2号文件

Active Change Directory (ACD)

ACD在ASM实例的作用和联机日志文件在RDBMS中的作用非常类似。每个实例会分配42MB的ACD空间,其中第一个数据块用于记录文件的Open/Close状态和检查点,这部分信息每3秒更新一次。而其他的空间采用循环的方式记录ACD Change Record。ASM利用ACD中的内容执行Instance Recover和Crash Recovery,以确保ASM的一致性。Active Change Directory位于第3号文件

Continuing Operations Directory (COD)

这部分内容用于跟踪运行时间长的操作,比如创建文件、Rebalance,用于操作失败后的恢复。COD相当于RDBMS中的UNDO Tablespace的功能。Continuing Operations Directory位于第4号文件

Template Directory

记录磁盘组所有ASM模板信息,模板记录包含:Template name、File redundancy、File striping policy和System flag。Template Directory位于第5号文件中

Alias Directory

用于记录磁盘组所有ASM别名(ASM alias)信息,别名记录包含:Alias name (or directory name)、Alias incarnation number、File number、File incarnation number、Parent directory和System flag Alias Directory位于第6号文件中

Attributes Directory

记录了磁盘组的属性信息,只有当ASM版本高于或等于11.1时才会有这个元数据。Attributes Directory位于第9号文件中。


参考至:《Oracle Automatic Storage Management: Under-the-Hood & Practical Deployment Guide》

             《大话Oracle Rac》张晓明著
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com

0
1
分享到:
评论

相关推荐

    ASM1083 PCIe转PCI芯片数据表

    ASM1083 PCIe转PCI芯片数据表 ASM1083 PCIe转PCI芯片数据表是ASMedia TECHNOLOGY INC.公司出品的一款PCIe转PCI桥接芯片,其主要功能是将PCI Express(Peripheral Component Interconnect Express)接口转换为传统的...

    asm 最新版手册

    Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至...

    ASM9260T数据手册

    此外,它还内置了两路USB OTG接口,方便了USB设备的接入和数据交换。在通讯方面,ASM9260T提供了I2C、I2S、SPI、CAN以及以太网MAC接口,使得该芯片能够处理多种类型的网络通讯和外部设备连接。 在显示支持方面,ASM...

    ASM1061.zip

    在“ASM1061.zip”压缩包中,可能包含ASM1061的详细数据手册、应用笔记、参考设计电路图、驱动程序源码、硬件设计指南等资源。这些资料将帮助硬件开发者了解如何正确地将ASM1061集成到他们的系统中,包括接口设计、...

    ASM1053芯片数据手册

    在讨论ASM1053芯片的功能与特性之前,需要明确一点,根据文档中的版权声明和免责声明,ASM1053芯片的数据手册所提供的信息并不授权任何知识产权,且不提供任何明示或暗示的保证,包括对产品适用性、性能、材料或不...

    ASM1061资料文件.rar

    首先,ASM1061是一款高性能的PCI Express (PCI-E) to Serial ATA (SATA)桥接芯片,它能够将PCI-E总线的数据传输速率转换为SATA接口的速度,从而实现高速数据交换。PCI-E是一种高速接口标准,而SATA则是广泛用于存储...

    ASM恢复实例

    (1)磁盘组元数据:包含ASM元数据文件和ASM日志文件。这些文件具有高冗余度(通常是3份副本),块大小为4KB。ASM日志文件用于ASM实例和崩溃恢复。 (2)磁盘元数据:每个磁盘的头部,通常位于每个磁盘的前两个分配...

    c32asm16进制修改

    c32asm16进制修改 修改特征码帮手很强大

    asm.jar各个版本

    asm-1.3.3.jar, asm-1.3.4.jar, asm-1.3.5.jar, asm-1.4.1.jar, asm-1.4.2.jar, asm-1.4.3.jar, asm-1.4.jar, asm-1.5.1.jar, asm-1.5.2.jar, asm-1.5.3.jar, asm-2.0.jar, asm-2.1.jar, asm-2.2.1-sources.jar, asm...

    IMU芯片ASM330LHH的数据手册

    7. 六通道同步输出:为了提高死区推算算法的准确性,ASM330LHH提供六个通道的同步输出数据。 8. 智能可编程中断:智能中断功能可以减少处理器的工作负担,仅在特定事件发生时才触发中断,这对于低功耗应用尤其重要...

    ASM9128T数据手册

    压缩包里有:ASM9128T数据手册精简版 V1.0.3.pdf 、ASM9260T SIP176 EVK Rev.B 和 2014.03.01.pdf ASM9260T数据手册V1.2 20141201.pdf

    asm的搜索图片数据

    在"asm的搜索图片数据"这个场景中,我们讨论的是ASM技术如何与图像数据相互作用,特别是位图格式的图像在训练和搜索过程中的应用。 首先,我们要理解位图(Bitmap)格式。位图是一种常见的图像文件格式,它以像素...

    ORACLE ASM

    了解ASM元数据有助于理解ASM文件系统的运行机制,这对于管理和优化ASM环境至关重要。ASM的自描述特性确保了磁盘组在不同节点间的可识别性和数据完整性。 通过Oracle ASM,数据库管理员可以更有效地管理存储资源,...

    ASM 1351.zip

    ASM 1351 是一款由ASMedia( ASM 微电子)公司开发的集成电路,主要应用于数据传输和接口控制领域。这个压缩包“ASM 1351.zip”包含了与ASM 1351相关的三个关键文件:一个固件升级工具、数据表以及设计套件。 1. **...

    ASM1153 datasheet

    ASM1153 USB转sata芯片datasheet

    数据库架构和ASM

    ASM的多路复用特性可以提高数据冗余,减少数据丢失的风险,同时在集群环境中提供了高可用性。 在深入学习ASM之前,数据库管理员需要理解Oracle的物理存储结构,如数据文件、控制文件和重做日志文件,以及相关的非...

    ASM入门笔记

    Oracle ASM 元数据是Oracle ASM用来控制磁盘组并且元数据驻留在磁盘组中的信息

    Oracle ASM故障数据恢复解决方案

    1. 获取ASM元数据:通过底层工具,如使用Oracle提供的命令行工具,读取并分析ASM磁盘上的元数据信息,了解磁盘组的结构。 2. 重组ASM存储空间:根据分析结果,尝试修复或重建损坏的元数据,恢复磁盘组的完整性。 3. ...

    ASM1064 datasheet v1.1.pdf

    ASM1064通过PCI-E接口与主板通信,PCI-E是一种高速、低延迟的总线标准,允许数据并行传输,从而实现高速的数据吞吐。 ASM1064的特性包括: 1. **四通道SATA 6Gb/s支持**:该控制器可以同时管理四个SATA端口,每个...

    ASM1153E+Datasheet+v02_leadinglight.pdf

    标题中提到的“ASM1153E+Datasheet+v02_leadinglight.pdf”表明本文件是一份技术手册,更具体地说,它是一份关于“ASM1153E”芯片的数据手册的版本02。这份数据手册是由“Leadinglight”发布的,这很可能是产品的...

Global site tag (gtag.js) - Google Analytics