Sunday, December 03, 2006

Adding a voting disk online

In 10.2 RAC it is now possible to add a voting disk online in addition to specifying more than one voting disk during the ClusterWare install.In 10G R1 there was no software level mirroring of the voting disk.

I tried this out for the first time today and things didn't go as I expected.

[root@dbrac1 ~]# /home/oracle/oracle/product/10.2.0/crs/bin/crsctl add css votedisk /dev/raw/raw4
Cluster is not in a ready state for online disk addition


You have to use the force option in the above command due to
Bug 4898020 ADDING VOTING DISK ONLINE CRASH THE CRS
which is fixed in the 10.2.0.4 patchset. This is again another case where clearly documented functionality in 10.2 does not work.

Before using the force option make sure the CRS stack is not up on any of the nodes.

[root@dbrac1 init.d]# ps -ef | grep d.bin | grep -v grep
should retrun no rows.


[root@dbrac1 init.d]# /home/oracle/oracle/product/10.2.0/crs/bin/crsctl add css votedisk /dev/raw/raw4 -force
Now formatting voting disk: /dev/raw/raw4
successful addition of votedisk /dev/raw/raw4.
[root@dbrac1 init.d]#

Check that the newly added disk can be seen from both nodes.

[root@dbrac1 init.d]# /home/oracle/oracle/product/10.2.0/crs/bin/crsctl query css votedisk
0. 0 /dev/raw/raw2
1. 0 /dev/raw/raw4

located 2 votedisk(s).


[root@dbrac2 init.d]# /home/oracle/oracle/product/10.2.0/crs/bin/crsctl query css votedisk
0. 0 /dev/raw/raw2
1. 0 /dev/raw/raw4

located 2 votedisk(s).


The same error is encountered should you wish to delete the newly added disk

[root@dbrac1 bin]# ./crsctl delete css votedisk /dev/raw/raw4
Cluster is not in a ready state for online disk removal
[root@dbrac1 bin]# ./crsctl delete css votedisk /dev/raw/raw4 -force
successful deletion of votedisk /dev/raw/raw4.

Again please note that the force option should be used only after the CRS stack
is shutdown on all nodes. Failure to do so could result in OCR corruption.

4 comments:

Alex Gorbachev said...

Right. I remember we got into this trouble on our test platform. Interesting that we tried with -f option with CRS online and put our cluster in really fancy state when same voting disk was registered twice and this kind of odd things.
Even though that it's possible to recover (obviously with the whole cluster down), it's better to stay away for it as you said.

Anonymous said...

Hi, Which Oracle release did you exactly use ? I saw that the bug seems to concern 10.2.0.1. I tested a "crsctl add css votedisk -force " on a "sandbox" Clusterware 10.2.0.3 while everything was up and running and it seemed to work fine. The voting disk was available on the second node. No crash/reboot has been discovered in the log files.

I had to use the "-force" because it told that "Cluster is not in a ready state for online disk addition". The question is now if the "-force" destroyed something or not.

Anonymous said...

In 10.2.0.4 you still cannot add Voting Disk online, at least on Sun Solaris 10.

There was a bug in which when you add Voting Disk online it corrupts OCR. That is what happen to me 2 weeks ago when I thought the bug is fixed in 10.2.0.4 and it corrupted the OCR and that bug is present since 10.2.0.2 if my memory serves me right.

Looreine said...

That's funny. I can remember a question of the 1z0-048 RAC Oracle Certified Expert that was offering several options and between them there was two regarding the addition of voting disk. Of course one of them was "you can add voting disks online" and the other was "you cannot add voting disks online".
At this stage I am puzzle as I don't know what is the correct answer for the Oracle certification.
As you say the documentation seems to be contradictory by itself:

*******************************
Adding and Removing Voting Disks
To add or remove a voting disk, first shut down Oracle Clusterware on all nodes, then use the following commands as the root user, where path is the fully qualified path for the additional voting disk.

Caution:

If you use the -force option to add or remove a voting disk while the Oracle Clusterware stack is active, you can corrupt your cluster configuration.
To add a voting disk:

crsctl add css votedisk path
To remove a voting disk:

crsctl delete css votedisk path
Note:

If your cluster is down, then you can use the -force option to modify the voting disk configuration when using either of these commands without interacting with active Oracle Clusterware daemons.
*******************************

So, how can guess what the right answer is?????

LW