写在前面
之前对ASM的failgroup总是记忆的很模糊,也算没有真正弄明白过failgroup的机制,通过整理ASM常用脚本,引发让自己动手实验弄明白了redundancy和failgroup的对应关系,不再浆糊。
基本概念
redundancy
指的是一个diskgroup内同一份数据的保护级别,通过failgroup的冗余来保证数据的冗余,有三个取值,external,normal,high
failgroup
属于diskgroup的子集,不同diskgroup可以有同名的failgroup,一个failgroup只能属于一个diskgroup,当设置了冗余级别时,同一份数据会存在不同的failgroup内。如果有多个存储,这样可以根据存储的位置来设置failgroup,这样一个存储有问题,不会影响数据库使用
redundancy=external
冗余级别为external时,ASM不保证数据的冗余,完全依赖于存储的冗余,不能指定failgroup,但是默认会为每一个disk分配一个failgroup,同一份数据只能存在一个failgroup中
redundancy=normal
冗余级别为normal时,ASM要求至少2个failgroup,可以大于2个,每一份数据会存储两份,分别位于两个不同的failgroup中
redundancy=high
冗余级别为high时,ASM要求至少3个failgroup,可以大于3个,每一份数据会存储三份,分别位于三个不同的failgroup中
实验环节
实验环境
两节点的RAC,创建9块共享盘/dev/asm-rdata01~/dev/asm-rdata09,每块2G大小
external模式
不能指定failgroup,但是也会为每一个disk创建一个failgroup
--节点1操作
creatediskgroupDATA1externalredundancydisk/dev/asm-rdata01attribute