管理oracle clusterware (Voting Disk)

2014-11-24 14:11:56 · 作者: · 浏览: 0
管理oracle clusterware (Voting Disk)

Voting Disk 这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。Voting disk使用的是一种“多数可用算法”,如果有多个Voting disk,,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。这点和OCR 不一样。OCR 只需配置一个。

多路复用表决磁盘
表决磁盘是提供集群可用性的重要资源。
如果表决磁盘存储在可靠磁盘中,则使用一个表决磁盘即可。
对于其他情况,应使用多路复用表决磁盘:
– 不必依赖多路径解决方案。
– 多路复用副本应存储在独立的设备中。
– 确保表决磁盘设备具有足够的I/O。
– 至少使用三个多路复用副本。
CSS 使用简单的多数决定规则来确定表决磁盘读数是否一致: v = f*2+1

更改表决磁盘配置
可以动态更改表决磁盘配置。
要添加新的表决磁盘,请使用以下命令:
# crsctl add css votedisk
要删除表决磁盘,请使用以下命令:
# crsctl delete css votedisk
如果所有节点上的Oracle Clusterware 都已关闭,请使用 –force 选项:
# crsctl delete css votedisk -force
# crsctl add css votedisk -force
注:添加新的表决磁盘或删除表决磁盘时,最好将所有节点的clusterware全部关闭,以免存活节点损坏配置。

备份和恢复表决磁盘
不需要做,仅需删除和添加操作
建议使用符号链接。
请使用dd 命令备份一个表决磁盘。
– 在安装Oracle Clusterware 之后
– 在添加或删除节点之后
– 可以联机执行
$ crsctl query css votedisk
$ dd if= of= bs=4k
可以使用以下方法恢复表决磁盘:使用dd 命令恢复第一个表决磁盘,然后根据需要对该磁盘进行多路复用。
如果没有可用的表决磁盘备份,则应重新安装Oracle Clusterware。

实例:
[sql] view plaincopy
--查看voting disks位置
[root@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2

located 1 votedisk(s).

--备份voting disks
[root@rac1 ~]# dd if=/dev/raw/raw2 of=/oracle/backup/votedisk_0.bak
208864+0 records in
208864+0 records out
106938368 bytes (107 MB) copied, 88.7502 seconds, 1.2 MB/s
[root@rac1 ~]# ll /oracle/backup/votedisk_0.bak
-rw-r--r-- 1 root root 106938368 Feb 21 00:03 /oracle/backup/votedisk_0.bak

--恢复voting disks
[root@rac1 ~]# dd if=/oracle/backup/votedisk_0.bak of=/dev/raw/raw2
208864+0 records in
208864+0 records out
106938368 bytes (107 MB) copied, 97.1257 seconds, 1.1 MB/s

--更改表决磁盘配置,添加voting disk
[root@rac1 ~]# crsctl add css votedisk /dev/raw/raw3
Cluster is not in a ready state for online disk addition --添加失败

--关闭所有节点Oracle Clusterware,并添加-force选项
[root@rac1 ~]# crsctl add css votedisk /dev/raw/raw3 -force
Now formatting voting disk: /dev/raw/raw3
successful addition of votedisk /dev/raw/raw3.
[root@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2
1. 0 /dev/raw/raw3

located 2 votedisk(s).

--更改表决磁盘配置,删除voting disk
[root@rac1 ~]# crsctl delete css votedisk /dev/raw/raw3 -force
successful deletion of votedisk /dev/raw/raw3.

参考:
http://www.2cto.com/database/201202/120556. html
Administering Oracle Clusterware Components
http://docs.oracle.com/cd/B19306_01/rac.102/b14197/votocr.htm#BABGEEEJ

摘自 Laughing