多语言展示
当前在线:1893今日阅读:176今日分享:34

双存储下OCR镜像和vote镜像

双存储下OCR镜像和vote镜像    Voting Disk和OCR是Oracle Clusterware的2部分。    OCR 记录的是节点成员的配置信息,如数据库、ASM、实例、监听器、VIP等CRS资源的配置信息。CRS进程管理的信息来自OCR的内容。OCR记录着 CRS进程管理资源的所有配置信息。大小约为100MB。    Voting Disk里面记录着节点成员的信息。如RAC数据库中有哪些节点成员,节点增加或者删除时也同样会将信息记录进来。Voting Disk主要为了在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。为了保证Voting Disk的安全,需要配置多个Voting Disk,Voting disk使用的是一种“多数可用算法”。当有多个Voting  disk时,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用(在实验中已经证实,存储A存放2个,存储B存放一个,关机存储B,集群正常,关机存储A,集群宕机)。 每个Voting Disk的大小约为20MB。    OCR镜像很简单只需要将ocr存放在两个DG中即可。    但是votedisk比较麻烦。每块votedisk只能独占一个failgroup,也就是说对于Normal redundancy的diskgroup上面要有三个votedisk就必须要有三块磁盘,而且每块磁盘必须是一个独立的failgroup,以此类推对于High redundancy的Diskgroup必须要有五块磁盘。votedisk如果使用dg,有且只能有一个dg,我们只能建立一个3个冗余磁盘的dg,但是考虑到“多数可用算法”,那么这三个磁盘必须来自不同的存储。问题是存储只有2台。解决思路是将某一台数据库服务器通过iscsi共享一块磁盘出来,本身能挂载,另外一台数据库服务器也能挂载。(1)三种策略下VOTE文件:External redundancy: A disk group with external redundancy contains only one voting diskNormal redundancy: A disk group with normal redundancy contains three voting disks High redundancy: A disk group with high redundancy contains five voting disks(2)三种策略组成:External redundancy:至少一个FAILGROUPNormal redundancy:至少两个FAILGROUP,如果这个DG是存放VOTE文件,则至少三个FAILGROUPHigh redundancy:至少三个FAILGROUP,如果这个DG是存放VOTE文件,则至少五个FAILGROUP(3)FAILGROUP中至少需要一个磁盘(4)OCR镜像步骤:1:创建镜像DG2:添加镜像(5)Voting Disk镜像步骤:1:心跳磁盘检测2:创建三个FAILGROUP的DG注意:以下“SQL>”表示都在ASM实例下执行如何进入ASM管理工具执行参考我的经验:sqlplus sys as sysasm进入ASM管理工具http://jingyan.baidu.com/article/b2c186c8d2577ac46ef6ff02.html
(4)OCR镜像步骤:
1

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

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]#

(5)Voting Disk镜像步骤:
1

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

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是否在执行再平衡工作。

推荐信息