Oracle ASM 磁盘组冗余策略

Oracle ASM 磁盘组冗余策略

      • [1. 外部冗余(External Redundancy)](#1. 外部冗余(External Redundancy))
      • [2. 普通冗余(Normal Redundancy)](#2. 普通冗余(Normal Redundancy))
      • [3. 高冗余(High Redundancy)](#3. 高冗余(High Redundancy))
      • 关键注意事项
      • 如何选择合适的策略?

Oracle ASM(Automatic Storage Management)的磁盘组冗余策略决定了数据在磁盘组中的分布和保护方式,确保数据的可用性和可靠性。以下是三种主要冗余策略的详细说明:


1. 外部冗余(External Redundancy)

特点

无数据镜像 :依赖底层存储硬件(如RAID、SAN)提供冗余。

空间效率 :无额外存储开销,存储容量等于所有磁盘的总和。

最小磁盘需求 :至少1个磁盘。

适用场景

• 底层存储已具备硬件冗余(如RAID 5/6/10)。

• 对成本敏感且可接受单点故障风险。

示例创建语句

sql 复制代码
CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/sda1', '/dev/sdb1';

2. 普通冗余(Normal Redundancy)

特点

双副本镜像 :每个数据块在两个不同故障组中保存副本。

故障容忍 :可容忍单个磁盘或整个故障组的失效。

空间开销 :有效存储容量为总磁盘空间的50%。

最小需求

• 至少2个故障组(Failure Groups),每个故障组包含1个或多个磁盘。

适用场景

• 需要平衡可用性与存储成本的中等关键性环境。

示例创建语句

sql 复制代码
CREATE DISKGROUP data NORMAL REDUNDANCY
FAILGROUP fg1 DISK '/dev/sda1',
FAILGROUP fg2 DISK '/dev/sdb1';

3. 高冗余(High Redundancy)

特点

三副本镜像 :每个数据块在三个不同故障组中保存副本。

故障容忍 :可容忍两个磁盘或两个故障组同时失效。

空间开销 :有效存储容量为总磁盘空间的33%。

最小需求

• 至少3个故障组。

适用场景

• 对数据可用性要求极高的关键系统(如金融、医疗)。

示例创建语句

sql 复制代码
CREATE DISKGROUP data HIGH REDUNDANCY
FAILGROUP fg1 DISK '/dev/sda1',
FAILGROUP fg2 DISK '/dev/sdb1',
FAILGROUP fg3 DISK '/dev/sdc1';

关键注意事项

  1. 故障组(Failure Group)

    • 定义共享相同故障点的磁盘集合(如同一机架、控制器)。

    • 默认情况下,每个磁盘属于一个隐式故障组。

  2. 冗余策略调整

    • 无法直接修改现有磁盘组的冗余策略,需新建磁盘组并迁移数据。

  3. 性能影响

    • 镜像副本会增加写操作开销,但可能提升读性能(多副本并行读取)。


如何选择合适的策略?

外部冗余 :硬件已有冗余,追求最大存储利用率。

普通冗余 :平衡可用性与成本,适用于多数生产环境。

高冗余 :极端高可用需求,如跨数据中心部署。

灵活冗余:动态调整需求,适应复杂存储架构。

建议根据业务连续性要求(RTO/RPO)和存储预算综合选择。

相关推荐
这个DBA有点耶1 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
阿里云大数据AI技术2 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
镜舟科技2 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend3 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SamDeepThinking3 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
ClouGence6 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩6 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
你好潘先生8 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师8 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码8 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python