Friday, August 25, 2006

Using the Cluster Verification Utility to check RAC setup

Starting with Oracle database 10g Release 2 we can use the new Cluster Verification Utility (CVU) called cluvfy to check a cluster environment before and after a RAC installation.
This comes in very handy when you want to check your hardware and software setup before making the big step of installing the cluster ready services and rdbms software for the cluster db.
The CVU is shipped with the clusterware, but you can also get it directly from Oracle Technology Network.
It is already available for the following platforms:
Linux
Solaris
HP
AIX
Windows

Under linux you must first of all install the cvuqdisk rpm .

CVU requires Java 1.4.1 installed, needs about 30Mb of diskspace on the invocation node and about 25 Mb of working direcory on every node in the nodelist. The working directory must exeist on all nodes and the invoking user must have write access there.

Let's take a short look at what we can do with cluvfy:
[oracle@ed-olraclin1b bin]$ /stage/10gR2/rdbms/clusterware/cluvfy/runcluvfy.sh -help
USAGE:
cluvfy [ -help ]
cluvfy stage { -list -help }
cluvfy stage {-pre-post} [-verbose]cluvfy comp { -list -help }cluvfy comp [-verbose]

Let's provoke an error in order to get more help!
[oracle@ed-olraclin1b bin]$ /stage/10gR2/rdbms/clusterware/cluvfy/runcluvfy.sh stage -pre
ERROR:Invalid command line syntax.
USAGE:
cluvfy stage {-pre-post} [-verbose]
SYNTAX (for Stages):
cluvfy stage -post hwos -n [ -s ] [-verbose]
cluvfy stage -pre cfs -n -s [-verbose]
cluvfy stage -post cfs -n -f [-verbose]
cluvfy stage -pre crsinst -n [-r { 10gR1 10gR2 } ]
[ -c ] [ -q ]
[ -osdba ]
[ -orainv ] [-verbose]
cluvfy stage -post crsinst -n [-verbose]
cluvfy stage -pre dbinst -n [-r { 10gR1 10gR2 } ]
[ -osdba ] [-verbose]
cluvfy stage -pre dbcfg -n -d [-verbose]

As we see, cluvfy uses stages, which are states of the system, either pre- or post. With the pre-stages you can check whether the requirements for an installation are met, with the post-stages you can check if everything with the installation worked well.

Here is an example for a pre-installation check before installing clusterware on a linux cluster:

[oracle@ed-olraclin1a .ssh]$ /stage/10gR2/rdbms/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n ed-olraclin1a,ed-olraclin1b
Performing pre-checks for cluster services setup
Checking node reachability...
Node reachability check passed from node "ed-olraclin1a".
Checking user equivalence...
User equivalence check passed for user "oracle".
Checking administrative privileges...
User existence check passed for "oracle".
Group existence check passed for "oinstall".
Membership check for user "oracle" in group "oinstall" [as Primary] passed.
Administrative privileges check passed.
Checking node connectivity...
Node connectivity check passed for subnet "138.2.147.0" with node(s) ed-olraclin1b,ed-olraclin1a.
Node connectivity check passed for subnet "192.168.1.0" with node(s) ed-olraclin1b,ed-olraclin1a.
Suitable interfaces for VIP on subnet "138.2.147.0":ed-olraclin1b eth0:138.2.147.72ed-olraclin1a eth0:138.2.147.70
Suitable interfaces for the private interconnect on subnet "192.168.1.0":ed-olraclin1b eth1:192.168.1.12ed-olraclin1a eth1:192.168.1.11
Node connectivity check passed.

Checking system requirements for 'crs'...
Total memory check passed.
Free disk space check passed.
Swap space check passed.
System architecture check passed.
Kernel version check passed.
Package existence check passed for "make-3.79".
Package existence check passed for "binutils-2.14".
Package existence check passed for "gcc-3.2".
Package existence check passed for "glibc-2.3.2-95.27".
Package existence check passed for "compat-db-4.0.14-5".
Package existence check passed for "compat-gcc-7.3-2.96.128".
Package existence check passed for "compat-gcc-c++-7.3-2.96.128".
Package existence check passed for "compat-libstdc++-7.3-2.96.128".
Package existence check passed for "compat-libstdc++-devel-7.3-2.96.128".
Package existence check passed for "openmotif-2.2.3".
Package existence check passed for "setarch-1.3-1".

Group existence check passed for "dba".
Group existence check passed for "oinstall".
User existence check passed for "nobody".
System requirement passed for 'crs' Pre-check for cluster services setup was successful.

This is what we want to see at the end of the test!
Only with this result you can be sure that an installation of of the cluster ready services will be successful.

There are a number of good metalink notes on CVU available.
As a first entry I would recommend Note:339939.1
Subject: Running Cluster Verification Utility to Diagnose Install Problems
Here you find detailed information about the supported platform-versions as well as how to install CVU and how it works.

0 Comments:

Post a Comment

<< Home