ASM 知识详解

我怕爱的太早我们不能终老 提交于 2019-12-08 10:04:08

ASM 知识详解

做了几次RAC,最近复习了一下ASM相关知识,总结了一下。

[@more@]

一、ASM概述

ASM 的实现要创建一个普通的ORACLE实例,其中参数INSTANCE_TYPE=ASM被设置为数据库驻留的节点上某个ASM的值。该实例并没有相关的数据库,而只是用来管理被数据库访问的磁盘。

ASM可以创建一个或多个磁盘(通常是RAW格式,标准的NFS存储也可以)组成的ASM磁盘组。在组里可以存放所有的ORACLE文件,如spfile,controlfile,redolog,datafile

并且在1MB的大小区间中存放文件,尽管有很多磁盘是可用的。区间的大小是1M,这对于除控制文件和日志文件之外的文件都是一样的,重做日志,控件文件和日志文件默认使用的是细粒度分割带,其区间大小是128K。这是将大I/O分割成较小的块,并由更多的磁盘进行处理,从而提高这些类型文件的性能。

在磁盘组生成时需设置冗余级别。假设使用一般的冗余(双重镜像),而我们磁盘组里有五个盘。如果在该组上创建一个10MB的文件,那么第一个1MB的区间可能被镜像在磁盘3和磁盘5上,下一个1MB的区间可能被镜像在磁盘2和磁盘4上,再下一个区间可能被镜像在磁盘1和磁盘3上,如此下去。镜像完成后,每个区间都被镜像了,但却没有两个磁盘包括相同的镜像。ASM外部冗余与此不同,它是在硬件级别上完成的。假设TEMP表空间是4G,如果由10个磁盘组成磁盘组,我们无需关心表空间是如何布局的,ASM会自动跨磁盘扩展区间,寻找I/O平衡避免产生磁盘过热点。

镜像实际上是针对被称为“伙伴”磁盘来实现的,在一个ASM磁盘组内,一个磁盘只能有最多8个“伙伴”磁盘。限制“伙伴”数量有利于减少因为双磁盘故障而导致数据丢失的可能性。ASM理论上最多支持10000个磁盘,可跨越63个磁盘组,ASM在一个磁盘组内可支持一百多万个文件,在10g r1中,一个节点只能有一个ASM实例。

ASM磁盘组的文件大小限制跟冗余级别有关:

外部冗余:300GB,一般冗余:150GB,高冗余:100GB

ASM磁盘组中添加或删除磁盘不会影响数据库可用性能力,ASM会自动重新平衡操作。参数ASM_POWER_LIMIT用来控制重新平衡操作,默认值为1,即启用一个单独的从属进程。最大值为11,创建11个从属进程。可以推迟重新平衡操作(如在夜里)。通过:

Alter system set asm_power_limit=0;

Alter system set asm_power_limit=11;

ASM引入两个进程,RBALARBnRBAL进程用来确定何时需要执行重新平衡操作及估计该操作花费的时间,然后RBAL调用ARBn来实际操作,从ARB0ARB11

实际上,常规的数据库都有一个RBAL进程和一个ASMB进程,但在数据库实例中RBAL用来进行全局调用,以打开某个磁盘组内的磁盘。ASMB进程与该节点的CSS守护进程进行通信,并接收来自ASM实例的文件区间映射信息。ASMB还负责为ASM实例提供I/O统计数据。

二、ASM的实现

ASM有初使化参数文件,与ORACLE实例不同的是,它没有控制文件、数据文件、重做日志。并有以下几个参数:

INSTANCE_TYPE=ASMASM实例强制的参数)

ASM_DISKSTRING=/dev/raw/raw*(查找候选磁盘路径)

ASM_DISKGROUPS=ASM_DISK(定义启动时需要安装的磁盘组)

ASM要求有一个约100MSGA,因此一个ASM实例总的空间大约是130MB.

如果要创建闪回恢复区,ORACLE建议安装一个单独的ASM磁盘组作为闪回恢复区。

ASM要求即便是单实例要要运行ocssd后台进程(集群同步服务,WINDOWS下,ocssd本身是一种服务,称为OracleCSService)。为此,即便是在单实例环境下,ORACLE也会在首次安装过程中自动安装或创建ocssd 后台进程。

当一个磁盘成为ASM磁盘组成部分时,每个磁盘的头被修改以反映相关信息,如磁盘组名称、组中所有磁盘容量,分配单元的大小等。磁盘头还包含与该磁盘相关的特殊信息,如容量、故障组、磁盘名等。此外,元数据存储在磁盘本身的ASM文件中,使用低于256的文件号。为此,当在一个ASM磁盘组上创建一个新数据库时,系统数据文件的文件号通常是256,而数据库其他文件从256开始向上编号。即使是选择外部冗余,ASM元数据也通常会在三个磁盘上进行镜像。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/668365/viewspace-997850/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/668365/viewspace-997850/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!