oracle asm 存储故障,Oracle ASM自动存储管理概述

Oracle

ASM 是一个针对Oracle数据库文件的高性能、易管理的存储解决方案。Oracle ASM

是一个卷管理器,并提供一个专为数据库使用而设计的文件系统。

Oracle ASM 提供几个超越传统文件系统和存储管理器的优势,包括以下这些:

●简化了与存储相关的任务,如创建数据库、规划数据库文件布局、和管理磁盘空间

●跨物理磁盘分布数据,以消除热点,并提供均匀的磁盘性能

●在存储配置更改后自动平衡数据

ASM基础概念:

●ASM的最小存储单位是一个"allocation unit"(AU),通常为1MB,在Exadata上推荐为4MB

●文件被划分为多个文件片,称之为"extent"

●11g之前extent的大小总是为一个AU,11g之后一个extent可以是1 or 8 or 64个AU

●ASM使用file extent map维护文件extent的位置

●ASM在LUN DISK的头部header维护其元数据,而非数据字典

●同时RDBMS DB会在shared pool中缓存file extent map,当server

process处理IO时使用

●因为ASM instance使用类似于普通RDBMS的原理的instance/crash recovery,所以ASM

instance崩溃后总是能恢复的

ASM存储以diskgroups的概念呈现:

●Diskgroup DG对RDBMS实例可见,例如一个DATA

DG,对于RDBMS来说就是以'+DATA'表示的一个存储点,可以在该DG上创建一个tablespace,例如:create

tablespace TBS datafile '+DATA' size 10M

●Diskgroup下面是一个或者多个failure group (FG)

●FG被定义为一组Disk

●Disk在这里可以是裸的物理卷、磁盘分区、代表某个磁盘阵列的LUN,亦或者是LVM或者NAS设备

ASM所提供的高可用性:

●ASM提供数据镜像以便从磁盘失败中恢复

●用户可以选择EXTERNAL、NORMAL、HIGH三种冗余镜像

●EXTERNAL 即ASM本身不做镜像,而依赖于底层存储阵列资深实现镜像;在External下任何的写错误都会导致Disk

Group被强制dismount。在此模式下所有的ASM DISK必须都存在,否则Disk Group将无法MOUNT

●NORMAL 即ASM将为每一个extent创建一个额外的拷贝以便实现冗余;默认情况下所有的文件都会被镜像,这样每一个file

extent都有2份拷贝。若写错误发生在2个Disk上且这2个Disk是partners时将导致disk Disk

Group被强制dismount。若发生失败的磁盘不是partners则不会引起数据丢失和不可用。

●HIGH

即ASM为每一个extent创建两个额外的拷贝以便实现更高的冗余。2个互为partners的Disk的失败不会引起数据丢失,当然不能有更多的partners

Disk失败了。

●数据镜像依赖于failure group和extent partnering实现。ASM在NORMAL 或 HIGH

冗余度下可以容许丢失一个failure group中所有的磁盘。

Failure Group镜像的使用

●ASM的镜像并不像RAID 1那样

●ASM的镜像基于文件extent的粒度,extent分布在多个磁盘之间,称为partner

●Partner disk会存放在一个或者多个分离的failure group上

●ASM自动选择partner并限制其数量小于10个

●若磁盘失败,则ASM更新其extent map使今后的读取操作指向剩余的健康partner

●在11g中,若某个disk处于offline状态,则对于文件的变更会被追踪记录这样当disk被重现online时则这些变化得以重新应用,前提是

offline的时间不超过DISK_REPAIR_TIME所指定的时间(默认为3.6个小时).

这种情况常发生在存储控制器故障或者类似的短期磁盘故障:

●这种对于文件变更的追踪基于一个发生变化的file

extent的位图,该位图告诉ASM哪些extents需要从健康的partner哪里拷贝至需要修复的disk,该特性称之为fast

mirror resync

●在10g中没有fast mirror

resync特性,若disk出现offline则直接自动被drop掉,不存在允许修复的周期

●对于无法再online的disk,则必须被drop掉; 一个新的disk会被ASM选择并通过rebalancing

操作拷贝数据,这些工作是后台自动完成的。

重新平衡Rebalancing

●Rebalancing是在磁盘之间移动文件extent以实现diskgroup上的IO负载均衡的过程

●Rebalancing在后台异步发生,是可监控的

●在集群环境中,一个diskgroup的重平衡只能在一个ASM instance上发生,不能通过集群多节点同时处理以加速

●当disk被加入或移除时,ASM会自动在后台开始数据重新平衡工作

●重平衡的速度和力度可以通过asm_power_limit参数控制

●asm_power_limit参数默认为1,其范围为0~11(从11.2.0.2开始是0-1024),该参数控制实施重平衡后台进程的数量;Level

0表示不实施重新平衡

●在重新平衡过程中IO性能(主要是吞吐量和响应时间)可能受到影响,其影响程度取决于存储本身的能力和重新平衡的力度,默认的asm_powner_limit=1不会造成过度的影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值