1:创建镜像DGCREATE DISKGROUP gridmirdg NORMAL REDUNDANCY FAILGROUP gmirfail01 DISK '/dev/mapper/crsB11' FAILGROUP gmirfial02 DISK '/dev/mapper/crsB12' FAILGROUP gmirfial03 DISK '/dev/mapper/crsB13' ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';这种创建方法是错误的,创建规则是:每个FAILGROUP中的磁盘来自不同的存储。这个DG只是存放OCR那么,没有必要创建三个FAILGROUP。创建时记住在集群其他节点手工mount这个dgalter diskgroup gridmirdg mount;
2:添加镜像[root@node1 grid]# ocrconfig -add +gridmirdg[root@node1 grid]# ocrcheck[root@node1 grid]# cat /etc/oracle/ocr.loc#Device/file getting replaced by device +gridmirdgocrconfig_loc=+gridnewdgocrmirrorconfig_loc=+gridmirdglocal_only=false[root@node1 grid]#
1:心跳磁盘检测SQL> select ksppinm as 'hidden parameter', ksppstvl as 'value' from x$ksppi join x$ksppcv using (indx) where ksppinm like '\_%' escape '\' and ksppinm like '%asm_hb%' order by ksppinm; hidden parameter value---------------------------------_asm_hbeatiowait 15_asm_hbeatwaitquantum 2votedisk存放的normal 策略DG需要至少3个磁盘,心跳磁盘检测默认15秒一次,如果三个中少了一个,根据“多数可用算法”,集群维持正常,但是如果三个中少个两个vote磁盘,15秒之后所有节点服务器会重启,然后集群不能正常启动。Generally this kind messages comes in ASM alertlog file on below situations,Delayed ASM PST heart beats on ASM disks in normal or high redundancy diskgroup,thus the ASM instance dismount the diskgroup.By default, it is 15 seconds.By the way the heart beat delays are sort of ignored for external redundancy diskgroup.ASM instance stop issuing more PST heart beat until it succeeds PST revalidation,but the heart beat delays do not dismount external redundancy diskgroup directly.
2:三种VOTE镜像方法所以如果一个存储宕机,要保证集群正常,至少需要三个存储。但是只有两个存储,这么实现三个存储呢?我的办法是在其中一个节点上开辟出一个iscsi共享设备。1、如果是在安装集群软件的时候指定VOTE存放位置,那么指定三个不同的磁盘设备,且三个存储设备来自不同的存储2、如果想后期修改VOTE镜像,那么可以将VOTE迁移到新创建的DG中,DG创建语句:CREATE DISKGROUP gridnewdg NORMAL REDUNDANCY FAILGROUP gnewfail01 DISK '/dev/mapper/crsA13' FAILGROUP gnewfial04 DISK '/dev/mapper/crsB13' FAILGROUP gnewfial05 DISK '/dev/mapper/crsC01' ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';crsA*表示存储 AcrsB*表示存储 BcrsC*表示服务器A共享出来的iscsi设备如何迁移VOTE请参考我的经验:迁移ASM集群信息http://jingyan.baidu.com/article/cb5d6105ed4185005c2fe004.html3、如果想后期修改VOTE镜像,但又不想迁移VOTE至新的DG,那么可以通过添加FAILGROUP和删除FAILGROUP来实现。加入原始DG是这样的:CREATE DISKGROUP gridnewdg NORMAL REDUNDANCY FAILGROUP gnewfail01 DISK '/dev/mapper/crsA11','/dev/mapper/crsB11' FAILGROUP gnewfial02 DISK '/dev/mapper/crsA12','/dev/mapper/crsB12' FAILGROUP gnewfial03 DISK '/dev/mapper/crsA13','/dev/mapper/crsB13' ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';最终想达到:CREATE DISKGROUP gridnewdg NORMAL REDUNDANCY FAILGROUP gnewfail01 DISK '/dev/mapper/crsA13' FAILGROUP gnewfial04 DISK '/dev/mapper/crsB13' FAILGROUP gnewfial05 DISK '/dev/mapper/crsC01' ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';那么步骤需要:SQL>alter diskgroup gridnewdg add failgroup gnewfial05 disk '/dev/mapper/crsC01';SQL> alter diskgroup gridnewdg drop disk GRIDNEWDG_0005; --crsB13删除之后,因为需要再次添加crsB13,需要DD清除该磁盘,否则报错SQL>alter diskgroup gridnewdg add failgroup gnewfial04 disk '/dev/mapper/crscrsB13';SQL> alter diskgroup gridnewdg drop disk GRIDNEWDG_0000; --crsA11SQL> alter diskgroup gridnewdg drop disk GRIDNEWDG_0001; --crsB11SQL> alter diskgroup gridnewdg drop disk GRIDNEWDG_0002; --crsA12SQL> alter diskgroup gridnewdg drop disk GRIDNEWDG_0003; --crsB12没执行一个步骤都需要查看select * from v$asm_operation是否在执行再平衡工作。