【ASM 翻译系列第二弹:ASM 12C 版本新特性】

随着Oracle 12c的发布,也就意味着全新版本的ASM面世了。已知的重大新特性有Flex ASM,数据预校验和更加便捷的磁盘管理操作。下面针对这几个方面进行详细介绍。

Flex ASM

Flex ASM特性可以允许ASM实例只运行在集群中某些节点上。默认安装将会创建3个ASM实例,而不管集群中节点的数量。一个ASM实例可以为本地和远端数据库提供服务。如果一个ASM实例crash,数据库实例会fail over到另一个ASM实例,而不会crash。

随着Flex ASM的引入,又出现了一个新的实例类型 -- I/O server或者叫ASM代理实例,在Flex集群环境中,一般会有几个(默认3个)I/O server实例,为间接客户端(典型的有ACFS集群文件系统)提供服务。一个I/O server可以和ASM实例运行在相同节点,也可以在不同节点,它的功能是从ASM实例(本地或远程)那里获得间接客户端(例如acfs)的元数据信息。

译者注:作者在这里对ASM 代理实例的描述可能会让大家产生误解,其实每一个要使用ACFS的节点都必须在本地存在ASM代理实例,否则acfs将不能被挂载。

另外,Flex ASM是12c的可选特性。

Physical metadata replication

在ASM 12c中,除了会复制每个磁盘的磁盘头(从版本11.1.0.7开始有这个功能),还会复制allocation table-AT表。这些功能让ASM可以应对磁盘的逻辑和物理损坏。ASM磁盘组新增的PHYSMETAREPLICATED属性就是用来追踪磁盘组的元数据复制状态的。

译者注:其实在10.2.0.5版本上磁盘头的信息也会有一份copy,同样,存放在AU1的倒数第二个ASM元数据块中。

$ asmcmd lsattr -G DATA -l phys_meta_replicated

Name Value

phys_meta_replicated true

物理元数据复制状态的标志位位于磁盘头(kfdhdb.flags)。一旦物理元数据被复制,这个标志位就会从0变为1,而且再也不会变为1了。(此后只会有:1代表元数据复制完毕,2 代表元数据复制中 两种状态)。

More storage

ASM 12c支持511个磁盘组,单个磁盘最大容量32PB。而在11G版本,ASM支持63个磁盘组,单个磁盘最大容量为2TB。

Online with power

ASM 12c中可以通过power值来控制fast resync操作过程中的并行度,从而提高性能。磁盘resync的检查点功能,可以在实例崩溃后,从rsync进程的断点处继续做恢复,而不用从头开始。ASM 12c也提供了resync操作完成的预估时间。

为resync操作指定power的示例(power范围从1到1024):

$ asmcmd online -G DATA -D DATA_DISK1 --power 42

Disk scrubbing - proactive data validation and repair

在ASM 12C中,normal和high冗余的磁盘组,会校验数据损坏然后自动修复。CONTENT.CHECK设置为true,就会在磁盘rebalacne过程中进行校验和修复。该操作也可以通过ALTER DISKGROUP SCRUB命令来手动执行。磁盘清理的操作可以在磁盘组,磁盘和文件级别进行,而且可以通过v$asm_operation视图来监控。

Even read for disk groups

在以前的ASM版本中,如果没有设置prefer failgroup,数据总是从主副本里读取。镜像副本的数据只有在主副本数据不可用的时候读取。12C出现的均衡读取的特性,每个读请求都会被发往load最轻的磁盘。这里的load最轻的磁盘指的是读请求数最少的磁盘。

在非Exadata环境中,Oracle以及ASM 12.1版本以后,均衡读取功能默认被打开。在Exadata环境中,均衡读取功能只有在遭遇有存储节点盘不可用的时候才会被打开。

译者注:原文没有提供Exadata下遭遇何种失败的时候会启用均衡度,译者补充的信息参考自第二版Expert Oracle Exadata第九章Cell Disk Failure。

均衡读取功能只在做了normal或者high冗余的磁盘组中可用。

Replace an offline disk

12C有了ALTER DISKGROUP REPLACE DISK命令,这个命令混合了rebalance和fast mirror resync功能。不需要做整个磁盘组的rebalance,新替换的磁盘上的数据可以用partner磁盘数据来构建。这就大大降低了替换磁盘的时间。

注意要被替换的磁盘必须是offline状态。如果磁盘offline的时间过期,磁盘将被drop,就会触发rebalance。当加入新磁盘时,又会触发一次rebalance。

译者注:在11G版本下,一个拥有几十块的failgroup的rebalance时间和一块盘的rebalance时间差异上并不是非常大,前者是后者的二到四倍时间,12C版本的出现将会大大加速后者的rebalance时间。

ASM password file in a disk group

ASM 11.2允许ASM spfile存放在磁盘组中。在12c,可以把ASM密码文件放在磁盘组中。与spfile不同,只有在ASM实例启动,包含密码文件的磁盘组mount起来之后,密码文件才可用。

orapw工具有现在可以接受ASM磁盘组作为密码文件的存放位置。asmcmd也可以用来管理密码文件。

译者注:spfile的位置是通过磁盘头部分记录了它位于磁盘的具体物理位置。

Failgroup repair timer

12C版本进一步提供了Failgroup repair timer,之前版本提供disk repair timer,Failgroup repair timer默认为24小时,注意disk repair timer仍然默认为3.6小时。

译者注:对于为什么Failgroup repair timer的默认时间比disk repair timer时间长,比较容易理解,这个功能的初衷是为了迎合Exadata环境下一个failgroup都来自于一个存储节点,一整个存储节点不可用很大可能意味着存储节点临时故障。但是一个磁盘的故障大部分情况是,这个磁盘坏掉了。

Rebalance rebalanced

现在rebalance操作可以通过生成和查看详细的工作计划来估算时间。对应的命令为EXPLAIN WORK,视图为v$asm_estimate。

在ASM 12c中,对于文件的rebalance操作有了优先级顺序 -- 关键的文件(比如控制文件和redo)比其他数据库文件优先rebalance。

在Exadata中,rebalance可以卸载到存储节点做。

Thin provisioning support

ASM 12c 为某些操作(比如与磁盘组rebalance操作相关的)提供了精简配置。该特性默认情况下不打开,可以通过指定THIN_PROVISIONED属性为TRUE来打开。

Enhanced file access control (ACL)

文件的属主以及权限更改更加容易,比如,可以更改一个打开的文件的权限。ACL功能现在Windows系统上也可用了。

Oracle Cluster Registry (OCR) backup in ASM disk group

将ocr备份储存在磁盘组中,可以让任何需要恢复ocr的节点都访问到该备份。从而简化了ocr的管理。

可以使用ocrconfig命令指定ocr备份的位置在ASM磁盘组中


时间: 2024-09-05 02:42:57

【ASM 翻译系列第二弹:ASM 12C 版本新特性】的相关文章

Oracle ASM 翻译系列第二十三弹:ASM Internal ASM files number 12 and 254

ASM files number 12 and 254 staleness directory是ASM元信息的12号文件,包含了可以把staleness registry中的槽位映射给特定磁盘和客户端的元信息.staleness registry是ASM元信息254号文件,当磁盘offline时,用于跟踪AU的状态.这两个特性适用于COMPATIBLE.RDBMS设置为11.1或以上且NORMAL或HIGH冗余模式的磁盘组.只有在需要时staleness元信息才会被创建,本身的内容大小会随着of

Oracle ASM 翻译系列第一弹:基础知识 ASM AU,Extents,Mirroring 和 Failgroups

在ASM磁盘组中,最基本空间分配单位是allocation unit,简称AU,每个ASM的磁盘在初始化后都会被切割成一个一个的AU. 当磁盘组创建时,可以通过设置AU_SIZE的属性值,来指定AU的大小(在11.1版本以后),AU的大小可以是1,2,4,8,16,32,64MB,如果不指定AU的大小,默认值是1MB(Exadata下为4MB). AU size是磁盘组的属性(不是磁盘的属性,不是ASM实例的属性),因此每一个ASM磁盘组都可以有自己的AU size值. ASM Extents

Oracle ASM 翻译系列第二十六弹:ASM 高级知识 Where is my data

Where is my data 有时候我们想要知道一个特定的database block位于ASM的哪个磁盘,磁盘的哪个AU以及AU的哪一个块.本篇文章将向大家展示如何解决这个问题. Database Instance 首先在数据库里创建测试表空间: SQL> create tablespace T1 datafile '+DATA'; Tablespace created. SQL> select f.FILE#, f.NAME "File", t.NAME "

Oracle ASM 翻译系列第二十七弹:ASM INTERNAL ASM METADATA BLOCK

ASM METADATA BLOCK ASM的元数据由ASM实例进行维护和管理,元信息本身非常重要,ASM磁盘组中的文件要想被Oracle DB和其他客户端正常使用,就要求元信息一定要是完好无损的,ASM的元信息以元信息块的形式存储在磁盘组中. 译者注:ASM的元信息可以类比为Oracle数据库的数据字典,一旦核心的元信息发生毁坏,那么ASM磁盘组将不能被装载继而提供服务. 有些ASM 元数据在每个ASM 磁盘的固定位置,被称为物理元信息,有些ASM元数据是以文件(目录)形式保存,被称为虚拟元数

Oracle ASM 翻译系列第二十一弹:ASM Attributes Directory

ASM Attributes Directory ASM的元数据9号文件,是ASM属性目录,包含了磁盘组的属性信息.属性目录只有在磁盘组的compatible.asm属性设置为11.1或以上时才会存在. 直到ASM 11.1版本开始,才引入了磁盘组属性的概念,它被用来细粒度的调整磁盘组的属性.有些属性只能在磁盘组创建时指定(如au_size),有些属性可以在任何时候指定(如disk_repair_time).有些属性保存在磁盘头中(如au_size),有些属性被存储在[成员关系和状态表]中或磁盘

Oracle ASM 翻译系列第二十五弹:ASM 高级知识 When will my rebalance complete

When will my rebalance complete "磁盘组的rebalance什么时候能完成?",这个问题我经常被问到,但是如果你期望我给出一个具体的数值,那么你会失望,毕竟ASM本身已经给你提供了一个估算值(GV$ASM_OPERATION.EST_MINUTES),其实你想知道的是rebalance完成的精确的时间.虽然我不能给你一个精确的时间,但是我可以给你一些rebalance的操作细节,让你知道当前rebalance是否正在进行中,进行到哪个阶段,以及这个阶段是

Oracle ASM 翻译系列第二十弹:ASM Internal ASM file number 7

ASM file number 7 ASM元信息7号文件,是ASM的逻辑卷目录,用于跟踪与ADVM有关的文件. ASM动态逻辑卷设备是由ASM动态逻辑卷构建的.一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备.ASM集群文件系统通过ADVM接口构建在ASM磁盘组之上.ADVM像数据库一样,也是ASM的一个客户端.当一个逻辑卷被访问时,相应的ASM文件会被打开并且ASM extent的信息会被发送到ADVM驱动. 有两种与ADVM逻辑卷相关的文件类型: · ASMVOL:逻辑卷文件,作为逻辑卷存

Oracle ASM 翻译系列第二十二弹:ASM Internal ASM file number 8

ASM file number 8 ASM元信息8号文件是磁盘空间使用目录Used Space Directory,简称USD,它记录了每个ASM磁盘组中每个磁盘的每个zone上被使用的AU数.一个磁盘的zone包含hot zone-热区(磁盘外圈,译者注)和cold zone-冷区(磁盘内圈,译者注).USD目录为每个磁盘提供了一个条目,条目信息记录了2个zone(COLD和HOT)的AU使用数. USD结构是在11.2版本中引入的,并且与智能数据存放特性有关.USD元数据文件在ASM兼容性参

Oracle ASM 翻译系列第二十八弹:ASM INTERNAL Partnership and Status Table

Partnership and Status Table Partnership and Status Table简称PST表包含了一个磁盘组中所有磁盘的相关信息-磁盘号,磁盘状态,partner的磁盘号,心跳信息和failgroup的信息(11G及以上版本). 每个磁盘的AU 1是为PST表预留的,但是并不是每一个磁盘都有PST表的信息. PST count 在external冗余的磁盘组中只有一份PST表. 在normal冗余的磁盘组中,至少有两份PST表.如果磁盘组中有三个或更多的fail