Oracle ASM 磁盘组冗余策略
- 1. 外部冗余(External Redundancy)
- 2. 普通冗余(Normal Redundancy)
- 3. 高冗余(High Redundancy)
- 关键注意事项
- 如何选择合适的策略?
Oracle ASM(Automatic Storage Management)的磁盘组冗余策略决定了数据在磁盘组中的分布和保护方式,确保数据的可用性和可靠性。以下是三种主要冗余策略的详细说明:
1. 外部冗余(External Redundancy)
• 特点:
• 无数据镜像:依赖底层存储硬件(如RAID、SAN)提供冗余。
• 空间效率:无额外存储开销,存储容量等于所有磁盘的总和。
• 最小磁盘需求:至少1个磁盘。
• 适用场景:
• 底层存储已具备硬件冗余(如RAID 5/6/10)。
• 对成本敏感且可接受单点故障风险。
示例创建语句:
CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/sda1', '/dev/sdb1';
2. 普通冗余(Normal Redundancy)
• 特点:
• 双副本镜像:每个数据块在两个不同故障组中保存副本。
• 故障容忍:可容忍单个磁盘或整个故障组的失效。
• 空间开销:有效存储容量为总磁盘空间的50%。
• 最小需求:
• 至少2个故障组(Failure Groups),每个故障组包含1个或多个磁盘。
• 适用场景:
• 需要平衡可用性与存储成本的中等关键性环境。
示例创建语句:
CREATE DISKGROUP data NORMAL REDUNDANCY
FAILGROUP fg1 DISK '/dev/sda1',
FAILGROUP fg2 DISK '/dev/sdb1';
3. 高冗余(High Redundancy)
• 特点:
• 三副本镜像:每个数据块在三个不同故障组中保存副本。
• 故障容忍:可容忍两个磁盘或两个故障组同时失效。
• 空间开销:有效存储容量为总磁盘空间的33%。
• 最小需求:
• 至少3个故障组。
• 适用场景:
• 对数据可用性要求极高的关键系统(如金融、医疗)。
示例创建语句:
CREATE DISKGROUP data HIGH REDUNDANCY
FAILGROUP fg1 DISK '/dev/sda1',
FAILGROUP fg2 DISK '/dev/sdb1',
FAILGROUP fg3 DISK '/dev/sdc1';
关键注意事项
-
故障组(Failure Group):
• 定义共享相同故障点的磁盘集合(如同一机架、控制器)。
• 默认情况下,每个磁盘属于一个隐式故障组。 -
冗余策略调整:
• 无法直接修改现有磁盘组的冗余策略,需新建磁盘组并迁移数据。 -
性能影响:
• 镜像副本会增加写操作开销,但可能提升读性能(多副本并行读取)。
如何选择合适的策略?
• 外部冗余:硬件已有冗余,追求最大存储利用率。
• 普通冗余:平衡可用性与成本,适用于多数生产环境。
• 高冗余:极端高可用需求,如跨数据中心部署。
• 灵活冗余:动态调整需求,适应复杂存储架构。
建议根据业务连续性要求(RTO/RPO)和存储预算综合选择。