Oracle ASM磁盘组空间分配与冗余理解

一、冗余级别

ASM 磁盘组空间理解必须先看冗余类型:

  • EXTERN:ASM 不做镜像

  • NORMAL:ASM 双副本

  • HIGH:ASM 三副本

不同冗余级别下,Usable_file_MB 的计算不同。

ASM 磁盘组空间理解必须先看冗余类型,每种冗余对应数据的镜像副本数和容错能力:

  • EXTERN(无冗余)

    ASM 不做任何镜像,数据只写一次。

    ✅ 优点:节省空间

    ⚠️ 缺点:磁盘损坏会导致数据丢失

  • NORMAL(双副本)

    每份数据写两次,保留一份镜像。

    ✅ 优点:可容忍单盘故障

    ⚠️ 缺点:可用空间约为总容量的一半

  • HIGH(三副本)

    每份数据写三次,保留两份镜像。

    ✅ 优点:可容忍两块盘同时故障

    ⚠️ 缺点:可用空间约为总容量的三分之一

总结:冗余不仅影响可用空间,还保证了磁盘故障时数据安全。Usable_file_MB 的计算必须结合冗余级别,否则容易误判可写容量。


二、磁盘组空间结构(以 RECO、HIGH 冗余为例)

复制代码
Total_MB(总容量)= 8.79 TB
├─ 已分配文件占用(Mirror_used_MB)= 4.22 TB
│    └─ 数据文件、归档日志、备份文件、控制文件、SPFILE 等已经占用的空间
└─ Free_MB(逻辑空闲)= 4.82 TB
     ├─ Req_mir_free_MB(冗余预留)= 2.93 TB
     │    └─ 为三倍冗余和未来写入预留的"保险带",平时不占用
     └─ Usable_file_MB(可用空间)= 0.63 TB
          └─ 平时写入归档、备份等可用的实际可写空间

三、重要理解

  1. 已分配文件占用 ≠ 可用空间

    Mirror_used_MB 是历史已写入文件实际占用的空间,不在 Free_MB 中。

  2. Req_mir_free_MB

    • 不是已用空间,而是 ASM 为保证镜像安全预留的底线

    • 平时不会被写入消耗,只有当 Usable_file_MB 用尽才可能使用

  3. Usable_file_MB

    • 当前真正能写入的空间

    • 决定了归档、备份等能继续写入的容量


四、公式(HIGH 冗余)

复制代码
Total_MB = 已分配文件占用 + Free_MB
Usable_file_MB = (Free_MB - Req_mir_free_MB) / 3

代入当前数据:

复制代码
Free_MB         = 4.82 TB
Req_mir_free_MB = 2.93 TB

Usable_file_MB = (4.82 - 2.93) / 3 ≈ 0.63 TB

五、直观示意图

复制代码
Total_MB(8.79 TB)
├─ 已分配文件占用(实际镜像占用)≈ 4.22 TB
└─ Free_MB(逻辑空闲)≈ 4.82 TB
     ├─ Req_mir_free_MB(安全预留)≈ 2.93 TB
     └─ Usable_file_MB(可用空间)≈ 0.63 TB

💡 理解总结

  • 已分配文件占用 4.22 TB,不在 Free_MB 或 Usable_file_MB

  • 冗余预留 2.93 TB 平时不占用,可保证镜像安全

  • Usable_file_MB 0.63 TB 才是真正可写的空间

相关推荐
xingfujie1 天前
运维实战攻略
运维
HHFQ1 天前
在 systemd 场景下的 CPU 限制方式
linux
道清茗1 天前
【RH294知识点汇总】第 9 章 《 自动执行 Linux 管理任务 》常见问题
linux·运维·服务器
山羊硬件Time1 天前
自动化管理Linux的好工具:shell script
linux·嵌入式硬件·硬件工程师·基带工程·硬件开发
Flying pigs~~1 天前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
北方的流星1 天前
华三路由器NAT配置
运维·网络·华三
wj3055853781 天前
Codex + Git 开发环境配置指南(WSL版)
linux·运维·git
misL NITL1 天前
mysql之如何获知版本
数据库·mysql
许彰午1 天前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
星马梦缘1 天前
如何切换window-ubuntu双系统【方案二】
linux·运维·ubuntu