原文: ASM METADATA BLOCK
作者: Bane Radulovic
译者:邱大龙,沃趣科技数据库技术专家,主要参与公司产品实施、测试、维护以及优化。对SQL优化、数据迁移、备份容灾等有深入的研究,对大数据量数据迁移、故障恢复、高并发下数据库性能调优有丰富的经验。
审校:魏兴华
责编:仲培艺
ASM的元数据由ASM实例进行维护和管理,元信息本身非常重要,ASM磁盘组中的文件要想被Oracle DB和其他客户端正常使用,就要求元信息一定要是完好无损的,ASM的元信息以元信息块的形式存储在磁盘组中。
译者注:ASM的元信息可以类比为Oracle数据库的数据字典,一旦核心的元信息发生毁坏,那么ASM磁盘组将不能被装载继而提供服务。
有些ASM 元数据在每个ASM磁盘的固定位置,被称为物理元信息,有些ASM元数据是以文件(目录)形式保存,被称为虚拟元数据,虚拟元数据像所有其他普通ASM文件一样被管理,它也会根据磁盘组冗余属性决定是否做镜像,在磁盘组的配置发生变化后也会做重平衡,同时元信息本身也会根据需要自动增长。
译者注:例如元信息1号文件记录了ASM磁盘组中所有文件的基本信息,随着ASM中文件的不断增多,1号文件本身也会自动增长用来记录新增的文件。
Physically addressed metadata
ASM物理元数据有如下几个结构:
- 磁盘头
- Free Space Table,FST表
- Allocation Table,AT表
- Partnership and Status Table,PST表
每个ASM磁盘会在第一个AU(AU 0)的第一个block(block 0)中记录磁盘头信息,第二个block(block 1)中记录FST表,剩余的块上记录AT表。
PST信息保存在每个磁盘的第二个AU中(AU 1),虽然每个磁盘的AU 1都会为PST表而预留,但一个磁盘组只会有几个磁盘上真正的存放PST表。
Virtually addressed metadata
虚拟元数据的结构如下:
- File Directory
- Disk Directory
- Active Change Directory (ACD)
- Continuing Operations Directory (COD) Template Directory
- Alias Directory
- ADVM Volume Directory
- Disk Used Space Directory
- Attributes Directory
- ASM User Directory and User Group Directory
- Staleness Directory and Staleness Registry
- Password directory
以上虚拟元数据都是以文件(目录)的形式被管理,后续的章节中,也会对上面的每一个文件进行详细说明。
ASM metadata lives in ASM disk groups
ASM元数据存储在磁盘组内,换而言之就是磁盘组是ASM元数据存在的基本前提,值得强调的是ASM不会在磁盘组之外存储任何东西。
每个ASM磁盘都有ASM的元数据信息。有些元数据是仅和本磁盘相关的,有些是和整个磁盘组相关的。例如ASM 磁盘头是仅仅和本磁盘相关的,但partnership and status table-PST表却是和整个磁盘组相关的。
有些元数据(例如磁盘头和AT表)会存储在每个磁盘上,而有些元数据只会存储在部分磁盘中。例如每个磁盘的AU1会为PST信息预留,但是仅一部分的磁盘会真正存放PST信息。
有些元数据结构可能在低的ASM版本上并不存在。例如在兼容性为10.2的磁盘组中,没有staleness directory,它是为了配合11G出现的fast resync特性而出现的元数据结构,因此仅在11.1和之后的版本存在。即使在11.1版本中,外部冗余的磁盘组也没有staleness directory,只有冗余类型是normal和high的磁盘组上会有该类元信息。
ASM metadata blocks
ASM元数据结构是由一个或多个ASM 元数据块构成。块类型和元数据类型是相互对应的,例如一个ASM磁盘头很明确的由一个类型为KFBTYP_DISKHEAD
元数据块组成的,一个AT表是由多个类型为KFBTYP_ALLOCTBL
元数据块组成。
ASM元数据是由ASM元数据块组成的,更多的相关话题请参阅后续的有关ASM元数据块的章节。