管理ASM磁盘组-1

本文详细介绍了Oracle的Automatic Storage Management (ASM)如何管理磁盘组,包括ASM的冗余设置(外部冗余、正常冗余、高冗余),ASM磁盘的性质,分配单元的概念,以及如何创建、删除和修改磁盘组。通过实例展示了如何在ASM中创建磁盘组,并调整磁盘权限,最后讨论了ASM的扩展性和动态性能视图的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

磁盘组概览
单一故障点 现在一般的企业都会使用cluster 每一个节点只会负责一部分的会话
一个节点出现问题,会话会被保留,移植到其它节点中
共享存储池  shared storage  磁盘上的数据都可以被节点看到 数据的一致性得到了保障
在每台服务器上启动一个ASM实例 
磁盘组是一个或多个磁盘的逻辑分组。ASM将其作为一个集合来管理。每个磁盘组都包含与自身相关联的元数据
在磁盘组内分配文件空间。磁盘组中存储的文件的内容将在该磁盘组的磁盘中平均分布或条带化,以便消除热点并在各磁盘上提供一致的性能。
每个ASM文件都完全包含在一个磁盘组中。但是一个磁盘组可以包含属于多个数据的文件。而一个数据库可以使用来自多个磁盘组的没文件。
磁盘组的关键属性是它的冗余设置。三种冗余设置:
外部冗余:ASM不提供任何数据镜像。external  不对数据做任何保护
正常冗余:ASM提供数据双向镜像。normal
高冗余:ASM提供三向镜像。high   

ASM磁盘
是为ASM磁盘组预配的存储设备
通过正常O/S接口访问
必须可由ASM所有者读写   
必须可由集群中所有节点访问    
在不同的节点上可以有不同的O/S名称或者路径
可以是:
整个物理盘或物理磁盘的分区
存储阵列中的磁盘或分区
逻辑卷LV或逻辑单元LUN
网络连接文件NFS

ASM分配单元
在创建磁盘组时可以设置AU大小 不可以变更  ASM 最小的I/O单位
在执行空间分配时一次最少分配一个AU
AU默认大小为1MB:
能够被数据库缓存,能够提供高效的后续访问   
允许的AU大小
1.2.4.8.16.32.64MB
在超大型数据库(VLDB)中或使用专门的存储硬件时,较大的AU可能非常有用。

ASM文件
由AU组成的ASM区的集合
可变大小的区支持大型文件
对数据库内核显示为普通文件
文件名以+开头
磁盘组中的磁盘上平均分布
根据磁盘组中定义的策略进行镜像

区映射
任何一个AU 下一个AU分配一定不再同一个磁盘上  任何一个disk 不会连续两个AU
1.RDBMS——ASM
2.分配AU
3.EXTENTMAP——DB     文件和物理块的对应  在shared pool上找
4.文件初始化      
5.数据库提交请求
6.close 请求
文件区与分配单元的关系
0——19999区:1个AU大小
20000——39999区:4个AU大小
40000区以上:16个AU大小
任何两上连续分配的分配单元
一定不在同一块磁盘上

条带化
一个条带=一个AU
一个AU大小为1MB 该磁盘组的条带深度为1MB带表一个条带大小为1MB 条带宽度为1 代表该条带只存在一个磁盘组上
什么是条带化
条带是把连续的数据分割成相同大小的数据块,每段数据分别写入到不同磁盘上的方法。简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法。
条带深度:
也叫条带大小,减少条带的大小,更小的数据块分散到更多的磁盘上,提高写入性能,增加寻址时间。
增大条带的大小,更大的数据块,降低写入性能,提高了寻址能力
条带宽度 
指同时可以并发读或写的条带数量,例如条带深度为128K,条带宽度为8,一次读写128K*8=1MB
更高的条带宽度,提供更好的传输性能,列如8块18G的硬盘做条带化,要优于4块36G硬盘做条带化。

在ASM中,条带化主要有两种粒度
不可调粗粒度(磁盘组的所有磁盘中执行I/O负载平衡)
一个条带就是一个AU
条带深度是1M,条带宽度一直是1
可调细粒度
一条带深度默认为128k
条带宽度和条带深度 受 _asm_stripewidth
                      _asm_stripesize
                      默认为8
条带深度最大为1MB

失败组 (Fail Group) 
初始化参数 ASM_PREFERRED_READ_GROUP的作用
平时不用设置 默认即可用光纤网络连接磁盘组  速度慢  通过设置这个参数 设置所有的数据都从本地的磁盘组
参数指定优先读取的失败组,可以在多个失败组分布的异地的情况下,节省网络的带宽,提高本地I/O效率的效果。

ASM的扩展性
最多支持63个磁盘组
最多支持10000个磁盘
最大支持4PB/磁盘
最大支持 40 Exabyte/ASM存储
最大支持1百W个文件/磁盘组
单个文件最大大小:外部冗余最大35TB 标准冗余最大5.8TB 高冗余度时最大3TB

管理磁盘组
创建 删除 修改
ASM实例主要的目的时管理磁盘组和保护数据
ASM实例将文件分布传送到数据库实例。
通过ASM实例,使用SYSASM或者SYSDBA权限来管理磁盘组。添加新磁盘组,修改现有磁盘组来添加,删除磁盘以及其它磁盘操作,删除磁盘组

使用SQL*PLUS创建和删除磁盘组
首先要指定磁盘组名称
指定冗余度:高冗余(三路)标准冗余(两路)外部冗余
指定失败组:非EXTERNAL冗余度时必须指定
指定磁盘组中的磁盘成员:
ASM能够自动检测出磁盘容量
可手动限制使用空间
添加磁盘时,ASM会自动检查磁盘头以确定该磁盘
是否已经加入其它磁盘组,通过FORCE参数强制添加。
删除磁盘组及其所有文件
若磁盘组内除ASM元数据外还包含其它文件,则必须指定INCLUDING CONTENTS选项
必须先挂载磁盘组才能将其删除,确保未打开任何磁盘组文件后,删除该组及其所有驱动器,并清楚磁盘的标头中的ASM格式信息和元数据

[root@oel ~]# fdisk -l
对于新添加的8块磁盘进行逻辑分区的划分
添加完盘转换成RAW
[root@oel ~]# vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh1", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="sdi1", RUN+="/bin/raw /dev/raw/raw8 %N"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值