ASM一 介绍

1.ASM概述

ASM是一个卷管理器,将多个磁盘做一个磁盘组来管理.数据在ASM上是均匀分布的,因此避免了热读,提高了性能,性能的RAW差不多.

ASM支持磁盘热插拔,在增加减少磁盘后,ASM会自动的重分布数据,不需要停机.

ASM在软件级别实现了镜像,有三种冗余方式:普通(双重镜像)、高级(三重镜像)、外部(无镜像),避免了因磁盘损坏而导致的数据丢失.在使用了RAID时,可以使用外部冗余方式.

ASM使用OMF管理数据文件.OMF会自动确定文件地点和名称.

一个ASM磁盘组可以被多个数据库使用.

ASM磁盘组可以与其它文件系统共存,如RAW\磁带等.

ACFS(Oracle Automatic Storage Management Cluster File System)自动管理的集群文件系统是一个多平台、可伸缩系统,可以支持非ORACLE的群集文件系统。

ADVM(Oracle ASM Dynamic Volume Manager)ASM动态空间管理器 提供了容量管理功能和标准的对外磁盘接口。

ASM可以用SQLPLUS 、ASMCMD、Oracle ASM Configuration Assistant 、OEM来管理。

 

ASM实例

ASM实例使用了与ORACLE数据库一样的技术,包括SGA和后台进行。ASM需要的SGA较小,对系统的影响也不大。

ASM是用Oracle Grid Infrastructure 软件安装的。ASM与数据库有不同的ORACLE_HOME。ASM实例维护ASM元数据。ASM元数据用于管理磁盘组,元数据组保存在磁盘组内,包括:

  • The disks that belong to a disk group  磁盘信息

  • The amount of space that is available in a disk group 磁盘组总容量

  • The filenames of the files in a disk group 磁盘组和文件名

  • The location of disk group data file extents 文件块的位置 

  • A redo log that records information about atomically changing metadata blocks 记录元数据块变化的日志文件

  • Oracle ADVM volume information ADVM信息

可以用ASM做集群,当一个节点失效后,如一个节点上的ASM停止后,该结点上的数据库实例也停止(说明数据库实例与ASM实例是以应对的),不过其它结点上的ASM实例和数据库实例依然可用。(PS:应该算是伪群集,ASM停了实例也要停。。)

在一台服务器上,一个ASM实例支持多个数据库,每个数据库都可以访问这两个磁盘组:

RAC中,每个实例只与同一个节点上的ASM实例相连,但是所有ASM实例之间都是相连的,数据库实例通过本节点上的ASM实例连接整个磁盘组:

要使用集群的ASM,必须要在每个安装ASM的结点上安装Oracle Clusterware ,做了集群后,每个ASM实例都能连接到同样的磁盘组。

 

一个磁盘组可以支持多个实例,一个实例也可以使用多个磁盘组,不过大多数情况下,两个磁盘组足够,极少情况下使用三个磁盘组。

 

镜像和故障组

有三种镜像模式:

normal:两重镜像。需要两个磁盘组,互为故障组。

high:三重镜像。需要三个磁盘组,互为故障组

exteral:不提供镜像。

 

ASM将主区(extents)和镜像区放在不同的故障组,当一个故障组损坏时,另一个依然可用。

在创建磁盘组时,指定故障组,一旦创建了磁盘组,就不能修改镜像模式。

 

ASM磁盘

ASM磁盘可由以下组成
磁盘或磁盘的分区、逻辑卷、网络盘(NFS)

将磁盘加入磁盘组时,可以设定磁盘的名称,该名称不同于OS磁盘名称。ASM根据磁盘容量将数据平均的分布到每个磁盘上,以确保每个磁盘有相同的I/O性能,所以不同种类的ASM磁盘不应许放到同一个磁盘组中。

 

分配单元Allocation Units

AU是基本的ASM单元。在创建磁盘组时指定AU大小 AU_SIZE ,AU_SIZE 参数可是1,2,4,8,16,32,64MB,根据磁盘的兼容性等级compatibility level来设定。大的AU常用于数据仓库中,可以提高性能。

 

ASM文件

可以存储以下文件:

  • Control files

  • Data files, temporary data files, and data file copies

  • SPFILEs

  • Online redo logs, archive logs, and Flashback logs

  • RMAN backups

  • Disaster recovery configurations

  • Change tracking bitmaps

  • Data Pump dumpsets

ASM自动管理文件名。

 

 

分区extents

一个ASM文件包含一个或多个extents,一个extents包含一个或多个AU,大文件使用可变的分区。

可以变的分区大小(兼容性参数在11.1或以上时):

A.0 - 19999分区,分区大小=AU大小

B.20000 - 39999的分区,分区大小=AU*4

C.40000+的分区,分区大小=AU*16

 

 

ASM条带化(Oracle ASM Striping

条带化有两项功能:A.将负载平均的分配到磁盘组的每个磁盘  B.减少I/O延迟

条带化的细粒度是128K,粗粒度大小与AU相同,细粒度用于较小的I/O读写。细粒度条带化示例,AU=1M,变化的区间:

在一个磁盘中,写满一个AU再写下一个AU。

细粒度条带化示例:

在每个AU中都依次写入一个字母,当所有的AU中都放入一个字母后,在每个AU中写入第二个字母。

 

 

文件模板File Templates

模板用于指定一属性,如文件镜像、条带化设置等。创建文件时使用模板,可以简化操作。内置了一个默认模板,可以修改这个模板来实现修改化功能,每个磁盘组都有一个默认的模板。

 

 

ASM磁盘组管理

发现磁盘About Discovering Disks

disk discovery process进行通过ASM_DISKSTRING 参数来寻找ASM磁盘。

 

加载和卸载ASM磁盘组About Mounting and Dismounting Disk Groups

磁盘组必须被本地的ASM实例加载才能被数据库使用。加载时,需要找到所有ASM磁盘。

卸载已经打开的磁盘组时,如果不加force选项将会报错。

 

 

添加和删除磁盘About Adding and Dropping Disks

可以将磁盘加入到一个已经存在的磁盘组中,前提是这个磁盘必须在ASM_DISKSTRING中。在加入磁盘后,ASM自动的重分布数据从而将数据写到这个磁盘上。为了减少重分布时的I/O,应该将多个磁盘一起加到磁盘组中(To minimize the rebalancing I/O, it is more efficient to add multiple disks at the same time.)

当磁盘有问题时可以卸载磁盘,要使用ASM磁盘的名字卸载。 如果磁盘无法读写,ASM自动卸载这个磁盘

删除磁盘时也会数据重分布。

 

在线存储重组和动态重分布About Online Storage Reconfigurations and Dynamic Rebalancing

当文件被打散后,每个磁盘上该文件都占有相同的百分比,这是为负载均衡。重分布数据不是基于I/O状况,而是基于磁盘容量(的变化)。当磁盘组容量发生变化后,ASM自动进行重分布。可以设置重分布的速率。在重分布运行时,重新执行重分布可以设置重分布的速率。重分布期间,数据库是可用的。POWER_LIMIT 设置重分布速率。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值