Oracle ASM 管理

Oracle ASM 管理


16.1 什么是ASM


自动存储管理即ASM(Automatic Storage Management),是Oracle提供的一项管理磁盘的功能,它是一种以纯软件方式实现的逻辑卷管理器,功能上提供了基于Oracle数据文件的条带化和可选的镜像。ASM的知识同时涉及了数据库管理和系统管理两大领域。


16.2 系统级的磁盘管理


物理卷:指的是独立磁盘,或磁盘分区或磁盘RAID结构。
逻辑卷:LVM(Logical Volume Manager),以软件方式将虚拟磁盘呈现给用户,LVM是操作系统级别的。提供了磁盘管理的灵活性,可靠性,具有条带,镜像和快照等功能。
磁盘阵列上的RAID技术:希望通过多个物理卷增强性能和容错性,常用的有4个级别,RAID0,RAID1,RAID5,RAID0+1。


16.3 ASM和LVM的比较


1)ASM了解Oracle特性,ASM可以对ASM数据文件制定不同的条带(两种)和镜像(三种)策略,这对提高数据库性能来说是一个优势。
2)ASM增加/删除磁盘后会使磁盘组上的ASM文件重新均衡分布,这个过程是自动完成的。
3)ASM是Oracle绑定的,不同的平台上可移植性好。


16.4 ASM体系结构(以下概念全是重点)


16.4.1 ASM实例
1)ASM数据库需要启动ASM实例,它和RDBMS实例分工协作,ASM实例负责管理ASM磁盘组和ASM磁盘以及定位ASM文件,注意仅仅是定位,ASM文件的IO读写操作还是由RDBMS实例完成的。


2)ASM实例合法参数很少,如ASM_DISKTRING和ASM_DISKGROUP,这些参数在RDBMS实例中是没有的。


16.4.2 ASM文件
ASM可以管理的文件有数据文件,临时文件,控制文件,联机日志和归档日志文件,spfile,及RMAN备份集和映像副本等。ASM不支持口令文件、跟踪文件、告警文件和Oracle二进制文件(重点)。


16.4.3 ASM磁盘和磁盘组概念


1)ASM disk可以是实际的磁盘,也可以是磁盘的某个分区,或LVM管理的逻辑卷,实际工作中ASM disk一般不使用文件系统格式化的磁盘。
2)ASM diskgroup由ASM disk组成,可以包含一个或多个ASM disk。
3)建立ASM diskgroup时会将所有ASM disk划分成单元(AU)。AU大小缺省1M。也可指定其属性为2,4,8,16,32或64M。(重点)
4)建立ASM file会依据文件的动态增长分配ASM extent,ASM extent是(可变长)基于一个或多个ASM AU ,一个ASM file会分布到一个ASM diskgroup的所有ASM disk上。
5)只能使用RMAN备份ASM file,操作系统命令对ASM file是不可知的。
6)可以通过ALTER DISKGROUP MOUNT手动加载ASM disk,也可以通过指定参数ASM_DISKGROUP自动加载。
7)当ASM diskgroup组中的ASM disk发生增减后,ASM diskgroup会自动再平衡,目的是使IO均衡在ASM diskgroup的所有ASM disk上。


16.4.4 利用磁盘组增加性能和冗余


1)ASM striping (条带)


为了提高IO读写性能,ASM需要进行条带化处理,注意striping(条带)是基于AU的。


2)ASM不能禁用striping。有两种类型的条带化方式:粗粒度条带(coarse)和细粒度条带(fine)。粗粒度条带大小=AU大小,一般来说相对1M的AU,粗粒度条带也是1M, 而细粒度条带总是128K, 条带策略已由Oracle模板缺省定义了(见下图)。若有特殊需求,你可自定义模板,然后在建立表空间时使用模板子句引用你自定义的文件模板。


ASM文件模板的默认值


Oracle文件类型 默认系统模板名称 条带化
------------------------------------------------------------------------------
控制文件 CONTROLFILE 细密
数据文件 DATAFILE 粗糙
日志文件 ONLINELOG 细密
归档日志文件 ARCHIVELOG 粗糙
临时文件 TEMPFILE 粗糙
RMAN备份文件 BACKUPSET 粗糙
动态参数文件 PARAMETERFILE 粗糙
......


16.4.5 ASM文件(file)、ASM区(extent)、ASM单元(unit)、ASM镜像(mirror)、ASM条带(stripe)之间的关系:


ASM file             ----->spread across all of the disks in a disk group
   /|\
ASM extent(3种规格) ----->mirror(3种规格)
   /|\
ASM au (7种规格)   ----->stripe(2种规格)


16.5 ASM 的一些重要特性


16.5.1 动态可变分配ASMextent的大小


ASM file (0--19999) extents extent=AU
ASM file (20000--39999) extents extent=8AU
ASM file (40000+) extents extent=64AU


16.5.2 ASM镜像及故障组


1)ASM镜像提供了数据的冗余支持,镜像有三种模式:


NORMAL REDUNDANCY(两路),
HIGH REDUNDANCY(三路),
EXTERNAL REDUNDANCY(无镜像,使用RAID)


2)ASM的镜像与操作系统提供的镜像有所不同。操作系统镜像是基于整个盘(分区)的镜像。而ASM是对ASM文件的extent做镜像,当ASM在某个磁盘上分配了一个primary extent时,必定在另一个磁盘上分配一个与之对应的secondary extent(镜像)。


3)对于双路磁盘控制器,为防止单路控制器同时损毁主副extent,ASM又引入故障组容错概念,使主副extent分布在不同的故障组下,即主extent和副extent分别属于不同的故障组。所以,如果不设故障组,则每个磁盘就是一个独立的故障组。


4)一个磁盘组可有两个或多个故障组(failgroup),一个故障组由一个或多个ASM磁盘组成,故障组只能在两路或三路镜像模式下进行。


故障组是在标准冗余的基础上指定镜像策略,它是一种镜像功能的补充。假定有磁盘组DG1,且创建了两个故障组controller1,controller2,每个故障组由2个ASM磁盘组成,则对标准冗余而言,指定两个故障组互为镜像


controller1  --> asmdiskA , asmdiskB
controller2  --> asmdiskC , asmdiskD


就是说:asmdiskA 的extent镜像一定会建立在另一个故障组的asmdiskC或asmdiskD磁盘上,而不会在本故障组conntroller1内。


16.5.3 重新平衡磁盘组


ASM重新平衡磁盘组的操作是自发的,动态的。无论是向磁盘组加盘还是减盘,只要改变了磁盘组中磁盘的数量,ASM就会重新分布磁盘上的数据。如果是增加磁盘还会为其划分au, 进而划分条带,这样,文件会立即分布到新加的ASM disk上。


自动重新平衡会消耗系统资源,有条件的话应该选择系统比较空闲的时段加减磁盘。


ASM_POWER_LIMIT这个参数值取1-11(在11gR2后可以选的范围是1-1024),此值越高平衡时消耗服务器资源越多(重点)。


如果需要也可以使用手动方式对磁盘组进行重新平衡。可以为power子句分配1-11的值。


SQL> ALTER DISKGROUP dgroup1 REBALANCE POWER 5;


16.5.4 快速镜像再同步特性(PPT-II-635)


一般情况下,如果由于一个磁盘损坏使之不可用,系统会自动将冗余extent的复制到另一个磁盘上,即重新创建该盘的extent副本,然后删除有故障的磁盘,这样做的缺点是迁移总会消耗一定的系统资源。但是,如果仅仅是电缆或控制器接口或电源等故障(干脆说不是介质损坏)而导致ASM磁盘不可用,这样的问题可以快速修复,为此Oracle引入ASM快速镜像再同步特性。


这个特性的要点是:(会尝试三次读,一次写。如果都不通则oracle认为磁盘组损坏。)


1)在给定修复期内,仅使磁盘offline,不会从磁盘组drop磁盘。(重点)。
2)将修复的磁盘online后,ASM仅重写offline之后发生变更的数据(增量数据),而不必执行冗长的再平衡。


可以通过设置属性参数disk_repair_time指定修复期。
如:alter diskgroup dg1 set attribute 'disk_repair_time'=4h; 


可以临时更改修复期
alter diskgroup dg1 offline disks in failuregroup controller1 drop after 2h;
这将意味着忽略了disk_repair_time属性,指定2小时为修复时间。


修复后重新进行联机即可
alter diskgroup dg1 ONLINE;


超过修复期,将转为常规方式处理,即自动drop掉这些磁盘,然后开始复制整个副本并做REBALANCE。
也可以在修复期内提前使用FORCE选项删除这些磁盘:
alter diskgroup dg1 drop disks in failuregroup controller1 FORCE;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值