当前位置: 首页 > news >正文

ASM架构基础与核心概念

第一部分:ASM架构总览

1.1 ASM设计哲学

Oracle Automatic Storage Management(ASM)的核心设计目标:

  • 简化存储管理:替代传统文件系统和卷管理器
  • 自动负载均衡:数据自动分布到所有可用磁盘
  • 高可用性:内置镜像和故障转移机制
  • 性能优化:条带化和直接I/O路径

1.2 ASM体系结构

应用层:Oracle数据库实例

接口层:ASM客户端(ASMB、RBAL)

服务层:ASM实例

存储层:ASM磁盘组(Disk Groups)

第二部分:核心组件详解

2.1 ASM实例

特殊用途的Oracle实例,不包含数据字典,主要功能:

  • 管理磁盘组元数据
  • 协调磁盘重新平衡
  • 提供文件布局服务

关键后台进程

-- RBAL:磁盘组协调器

-- ASMB:与数据库实例通信

-- GMON:磁盘组监控

-- OSM0:重新平衡从进程

2.2 磁盘组(Disk Groups)

ASM管理的最高层级存储单元,特性:

  • 逻辑磁盘集合
  • 统一的存储池
  • 独立的冗余策略

创建语法示例

CREATE DISKGROUP dg_data EXTERNAL REDUNDANCYDISK '/dev/sdb1', '/dev/sdc1', '/dev/sdd1'ATTRIBUTE 'au_size' = '4M';

命令参数说明

  • EXTERNAL REDUNDANCY表示不提供ASM镜像保护,依赖底层存储系统提供冗余
  • DISK子句列出要包含在磁盘组中的磁盘设备路径
  • ATTRIBUTE 'au_size'设置分配单元大小为4MB(默认为1MB)

2.3 分配单元(Allocation Units)

ASM空间分配的基本单位

  • 默认大小:1MB(可配置1, 2, 4, 8, 16, 32, 64MB)
  • Exadata默认:4MB
  • 磁盘组级别属性,非全局设置

AU大小影响

-- 大AU优势:大文件性能更好,元数据开销更小

-- 小AU优势:空间利用率更高,适合小文件

第三部分:数据分布机制

3.1 条带化策略

双重条带化机制

3.1.1 精细条带(Fine-grained)
  • 条带大小:128KB
  • 适用场景:控制文件、在线重做日志
  • 优势:减少小I/O延迟
3.1.2 粗粒度条带(Coarse-grained)
  • 条带大小:等于AU大小
  • 适用场景:数据文件、临时文件
  • 优势:大I/O吞吐量高

3.2 文件与区映射

文件组织结构

文件(File)

虚拟区(Virtual Extents)

物理区(Physical Extents)

分配单元(Allocation Units)

可变大小区特性

-- 0-19,999区:1倍AU大小

-- 20,000-39,999区:4倍AU大小

-- 40,000+区:16倍AU大小

-- 优势:减少大文件的元数据开销

第四部分:冗余与高可用

4.1 冗余级别

三种冗余策略

4.1.1 外部冗余(External)
  • 依赖硬件RAID保护
  • 无ASM镜像开销
  • 存储空间利用率100%
4.1.2 正常冗余(Normal)
  • 双路镜像(2副本)
  • 可容忍单磁盘故障
  • 存储空间利用率50%
4.1.3 高冗余(High)
  • 三路镜像(3副本)
  • 可容忍双磁盘故障
  • 存储空间利用率33%

4.2 故障组(Failure Groups)

智能镜像放置策略

-- 创建故障组示例(NORMAL)

CREATE DISKGROUP dg_data NORMAL REDUNDANCYFAILGROUP fg1 DISK '/dev/sdb1', '/dev/sdc1'FAILGROUP fg2 DISK '/dev/sdd1', '/dev/sde1'
;

故障组设计原则

  • 同一故障组的磁盘共享单点故障风险
  • 镜像副本必须放在不同故障组
  • 建议故障组对应不同物理存储单元

第五部分:核心操作原理

5.1 文件创建过程

ASM文件创建流程

  1. 数据库实例请求创建文件
  1. ASM实例分配初始区(extent)
  1. 返回文件句柄和区映射表
  1. 数据库实例直接访问存储

元数据交互最小化

-- 文件打开后,数据库直接I/O

-- 仅元数据变更时需要ASM协调

-- 类似传统文件系统的inode概念

5.2 重新平衡(Rebalance)

自动数据重新分布

触发条件

  • 添加/删除磁盘
  • 磁盘resize操作
  • 手动触发rebalance

三个阶段

-- 阶段1:计划生成(几分钟)

-- 阶段2:区重定位(主要工作阶段)

-- 阶段3:磁盘压缩(优化数据位置)

Power控制

-- 范围:1-1024(11gR2+)

-- 高power值:更快完成,更高资源消耗

-- 低power值:对业务影响小,执行时间长

示例:

ALTER DISKGROUP dg_data REBALANCE POWER 8;

第六部分:实践配置指南

6.1 磁盘组创建最佳实践

容量规划

-- 估算公式:所需空间 = 数据量 × 冗余因子

-- 外部冗余:因子=1.0

-- 正常冗余:因子=2.0

-- 高冗余:因子=3.0

-- 额外预留20%空间用于重新平衡

AU大小选择

-- OLTP系统:1-4MB AU

-- DSS系统:8-16MB AU

-- Exadata:默认4MB,可调整

-- 大文件系统:考虑更大AU减少元数据

6.2 多路径配置

确保路径冗余

# 检查多路径配置

multipath -ll

# 确认所有路径可见

asmcmd lsdsk --discovery

第七部分:监控与维护

7.1 关键监控视图

磁盘组状态监控

SELECT name, state, type, total_mb, free_mb,usable_file_mb, required_mirror_free_mbFROM v$asm_diskgroup;

磁盘状态检查

SELECT disk_number, name, path, state, failgroupFROM v$asm_diskWHERE group_number = (SELECT group_numberFROM v$asm_diskgroupWHERE name = 'DG_DATA');

总结

重点掌握:

  1. ASM架构核心:理解实例、磁盘组、AU的关系
  1. 数据分布原理:条带化、镜像、故障组的作用
  1. 监控维护:状态检查与监控视图

下一章预告:将深入ASM元数据结构和内部管理机制,包括磁盘头、FST、AT表等核心元数据组件的工作原理。

http://www.dtcms.com/a/470859.html

相关文章:

  • 每天五分钟深度学习:正则化技术解决过拟合(高方差)问题
  • 局域网建设个人网站美食网站设计论文
  • 使用 systemd 管理 MySQL 服务
  • 做网站客户最关心哪些问题下载百度电商平台app
  • 消防电器具工程量-图形识别快速计算
  • 印度股票市场数据接口,支持实时行情、IPO新股、公司信息、技术分析等多种功能
  • 顺德 网站开发 招聘工程平台网
  • 网站建设开发网站案例项目费用插画原画十大培训机构
  • 排查素材下载过慢或失败问题
  • 小网站托管费用大连网站建设 仟亿
  • 基于单片机的窗帘、灯光、空调智能家居控制系统设计
  • Docker存储体系深度解析
  • 如何基于OneAPI构建langchain RAG系统
  • 网站建设说明书模板wordpress菜单结构
  • 如何应对紧急投标?AI工具1小时完成400页标书
  • 百度网盘PC电脑端提速方法
  • 【触想智能】什么是工业平板电脑以及工业平板电脑对制造业具有什么意义
  • 郑州 网站建设p9制作公司
  • 深度解析 “应用程序无法正常启动 0xc000007b”:原因、解决方案与预防措施
  • 南宁智慧园区网站建设wordpress如何更改页面链接
  • PowerBI实战-跨页面钻取drill through
  • 怎样做网站标题优化百度网站开发
  • 前后端解耦架构的演进:从REST到GraphQL与gRPC的范式迁移
  • 9.4 归并排序(排序(上))
  • 老人摔倒检测的智能视觉分析技术与应用 跌倒检测 儿童摔倒检测 跌倒预警
  • 网站制作 语言选择怎么做h5网站模板免费下载
  • 【Linux】数据链路层 and 其他知识
  • 个人网站怎么做口碑怎么创建小程序卖东西
  • linux下conda未安装的解决方法(离线安装linux下的conda)
  • 不错的免费网站建设动漫画设计与制作是学什么