Oracle集群管理-如何管理votedisk文件

1 votedisk基本管理

在votedisk文件中存储节点的成员信息,每个节点在启动并且试图加入RAC集群时,都需要读取votedisk文件,以确定成员节点的资格。这个文件无疑时很重要的,索引在安装Clusterware时需要创建多个Voting文件,每个文件都有唯一的ID即为FUID。如果将Voting文件存储在ASM磁盘组中,那么通过磁盘组的冗余就可以保证Voting文件的安全。

为了保证Voting文件的安全,需要对它进行备份,并且在必要时对其进行恢复,如果有必要,可以增加其他的Voting文件或者删除多余的Voting文件,还可以把Voting文件从一个存储迁移到另外一个存储位置。

通过crsctl命令可以对Voting文件进行管理,

  1. 查看Voting文件

crsctl query css votedisk

从11.2版本开始,Voting文件不需要进行手工备份,只要Clusterware的结构做了修改,Voting文件便会自动备份到OCR中,如果添加新的Voting文件以前备份的Voting文件内容自动回复到新的Voting文件中

  1. 删除Voting文件

crsctl delete css votedisk fuid

  1. 添加Voting文件

crsctl add css votedisk +data

  1. 替换Voting文件(原来的文件被删除)

crsctl replace votedisk +database

2 votedisk基本恢复

  1. 全部丢失恢复

如果所有的Voting文件全部损坏,就需要从OCR中进行恢复,因为Voting文件损坏,Cluster是无法启动成功的,

这时需要以root身份启动集群到exclusive模式。在这个模式下集群不读取Voting文件

crsctl start crs -excl

查看Voting文件的状态,应该为空空着state字段为OFF

crsctl query css votedisk

如果Voting文件存储在ASM磁盘组中,那么通过命令

crsctl replace votedisk +database

可以从OCR中恢复Voting文件

crsctl query css votedisk

crsctl stop crs

crsctl start crs

表决磁盘(votedisk)是为因网络导致脑裂的情况而创建的。表决磁盘在11G存储在ASM中,且如果放入ASM将有几点要求。
第一:表决磁盘文件必须全部放入ASM中;
第二:表决磁盘存在asm中的个数不能删除和添加,而是通过asm的normal,high、external冗余级别决定的。
如:在normal中必须有3个故障组存在3个votedisk,在high中必须要有5个故障组存在5个votedisk,那么在external只有1个votedisk
第三:表决磁盘文件在11G不在支持dd命令对其的备份和还原,而是支持crsctl相关命令
第四:表决磁盘文件的个数要是奇数,便于投票选举,且表决磁盘文件的个数最多为15个,但一般没必要超过5个。
介绍一下对于网络导致脑裂中表决磁盘的选举过程。
假如我有三个RAC实例节点分别是A,B,C那么当A节点宕机了,那么在11G中通过先尝试停止响应的资源,进而剔除该节点,那么为什么会剔除该节点呢?那是因为当发生脑裂的时候
当发生脑裂的时候被分割成两部分,A 为一部分投票为1,BC为一部分投票为2,那么更具选举会选择票数多的那方,从而剔除A;刚刚这是三个节点的例子
那么对于两个实例组成的RAC怎么处理呢?那么这个时候表决磁盘就起到一定的作用了,当脑裂发生了,那么每一方都持一票,谁也不能剔除谁?这可怎么办呢?那么oracle会选择
存留首先获得表决磁盘文件多的那方,将组成一个集群从而剔除另一方。通常我们所说的磁盘心跳就是通过共享磁盘中的表决磁盘来检测的。
eg:


[grid@rac-one peer]$ crsctl get css disktimeout
CRS-4678: Successful get disktimeout 200 for Cluster Synchronization Services.
[grid@rac-one peer]$ 

通过ocssd进程来管理

3 votedisk迁移

如何移动表决磁盘文件到另一asm磁盘组呢?
eg:
[grid@rac-two ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 25 23:31:24 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> col name for a20
SQL> col path for a40
SQL> set linesize 200
SQL> select a.name,b.name,b.path,b.voting_file from v$asm_disk b,v$asm_diskgroup a where a.group_number=b.group_number;

NAME                 NAME                 PATH                                     V
-------------------- -------------------- ---------------------------------------- -
DATADG               DATADG_0000          /dev/asm-diskg                           N
TESTDG               TESTDG_0004          /dev/asm-diskh                           N
TESTDG               TESTDG_0000          /dev/asm-diski                           N
TESTDG               TESTDG_0001          /dev/asm-diskj                           N
TESTDG               TESTDG_0003          /dev/asm-diskf                           N
GIDG                     GIDG_0001            /dev/asm-diskc                           Y
TESTDG               TESTDG_0002          /dev/asm-diskk                           N
GIDG                     GIDG_0000            /dev/asm-diskd                           Y
GIDG                     GIDG_0002            /dev/asm-diske                           Y
DATADG               DATADG_0001          /dev/asm-diskb                           N

10 rows selected.

SQL> exit
另外还可以使用crsctl query css votedisk 获得信息


[grid@rac-two ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   3da4160ba0334f66bf4b2e6e9b38cceb (/dev/asm-diskd) [GIDG]
 2. ONLINE   2797b9ed25e84f34bf8fa5948c8fedb6 (/dev/asm-diske) [GIDG]
 3. ONLINE   69ade332aa214f3abfd8b77a410019b0 (/dev/asm-diskc) [GIDG]
Located 3 voting disk(s).

当votedisk属于asm组从而移动votedisk的时候将不能使用crsctl add css votedisk命令,否则会报错。但是如果原先votedisk属于集群文件系统文件,那么可以使用该命令进而replace
完成操作。
[grid@rac-two ~]$ crsctl add css votedisk +testdg
CRS-4671: This command is not supported for ASM diskgroups.
CRS-4000: Command Add failed, or completed with errors.
将votedisk从磁盘组GIDG 移动到TESTDG


[grid@rac-two ~]$ crsctl replace votedisk +TESTDG
Successful addition of voting disk 98f8244772c74fc0bf8c5ddc699775f1.
Successful addition of voting disk aa123f79eef94f9ebf12ed0953a3caa6.
Successful addition of voting disk 42e16333baa44f78bf00840265bff13d.
Successful deletion of voting disk 3da4160ba0334f66bf4b2e6e9b38cceb.
Successful deletion of voting disk 2797b9ed25e84f34bf8fa5948c8fedb6.
Successful deletion of voting disk 69ade332aa214f3abfd8b77a410019b0.
Successfully replaced voting disk group with +TESTDG.
CRS-4266: Voting file(s) successfully replaced


[grid@rac-two ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   98f8244772c74fc0bf8c5ddc699775f1 (/dev/asm-diski) [TESTDG]
 2. ONLINE   aa123f79eef94f9ebf12ed0953a3caa6 (/dev/asm-diskk) [TESTDG]
 3. ONLINE   42e16333baa44f78bf00840265bff13d (/dev/asm-diskf) [TESTDG]
Located 3 voting disk(s).
[grid@rac-two ~]$  
备份表决磁盘文件。
刚刚介绍了无需备份,任何改变都会自动备份到ocr中。
如果磁盘文件损坏了那么如何修复呢?
首先要独占模式启动crs资源
crsctl start crs -excl
如果是存在asm中,使用crsctl replace votedisk +diskgroup
完成修复
如果是存在集群文件系统,那么需要查看votedisk信息,crsctl query css votedisk然后删除原先的失效的votedisk,进而在添加votedisk
命令为:crsctl add css votedisk ‘path',
然后再使用root停止crs,crsctl stop crs
然后再使用root启动crs ,crsctl start crs

 
原文链接:https://blog.csdn.net/rhys_oracle/article/details/22112133

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值