Using cluvfy To Verify Oracle RAC Node Setup

This post describes cluvfy used in RAC 10g. Starting from Oracle 11g this tool is integrated in the Oracle Universal Installer.

Cluvfy — the cluster verification tool

Run cluvfy to verify if nodes can reach each other, all packages and patches are installed, RAM and space requirements are met and groups and users are correct:

oracle@rac1:/mnt/software/clusterware/cluvfy (racdb1) $ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

Example output:

Performing pre-checks for cluster services setup 

Checking node reachability...

Check: Node reachability from node "rac1"
  Destination Node                      Reachable?              
  ------------------------------------  ------------------------
  rac2                                  yes                     
  rac1                                  yes                     
Result: Node reachability check passed from node "rac1".


Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Comment                 
  ------------------------------------  ------------------------
  rac2                                  passed                  
  rac1                                  passed                  
Result: User equivalence check passed for user "oracle".

Checking administrative privileges...

Check: Existence of user "oracle"
  Node Name     User Exists               Comment                 
  ------------  ------------------------  ------------------------
  rac2          yes                       passed                  
  rac1          yes                       passed                  
Result: User existence check passed for "oracle".

Check: Existence of group "oinstall"
  Node Name     Status                    Group ID                
  ------------  ------------------------  ------------------------
  rac2          exists                    100                     
  rac1          exists                    100                     
Result: Group existence check passed for "oinstall".

Check: Membership of user "oracle" in group "oinstall" [as Primary]
  Node Name         User Exists   Group Exists  User in Group  Primary       Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              yes           yes           yes           yes           passed      
  rac1              yes           yes           yes           yes           passed      
Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed.

Administrative privileges check passed.

Checking node connectivity...


Interface information for node "rac2"
  Interface Name                  IP Address                      Subnet          
  ------------------------------  ------------------------------  ----------------
  e1000g0                         192.168.3.69                    192.168.3.0     
  e1000g1                         10.0.0.2                        10.0.0.0        
  e1000g2                         192.168.3.70                    192.168.3.0     


Interface information for node "rac1"
  Interface Name                  IP Address                      Subnet          
  ------------------------------  ------------------------------  ----------------
  e1000g0                         192.168.3.67                    192.168.3.0     
  e1000g1                         10.0.0.1                        10.0.0.0        
  e1000g2                         192.168.3.68                    192.168.3.0     


Check: Node connectivity of subnet "192.168.3.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  rac2:e1000g0                    rac2:e1000g2                    yes             
  rac2:e1000g0                    rac1:e1000g0                    yes             
  rac2:e1000g0                    rac1:e1000g2                    yes             
  rac2:e1000g2                    rac1:e1000g0                    yes             
  rac2:e1000g2                    rac1:e1000g2                    yes             
  rac1:e1000g0                    rac1:e1000g2                    yes             
Result: Node connectivity check passed for subnet "192.168.3.0" with node(s) rac2,rac1.

Check: Node connectivity of subnet "10.0.0.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  rac2:e1000g1                    rac1:e1000g1                    yes             
Result: Node connectivity check passed for subnet "10.0.0.0" with node(s) rac2,rac1.

Suitable interfaces for the private interconnect on subnet "192.168.3.0":
rac2 e1000g0:192.168.3.69
rac1 e1000g0:192.168.3.67

Suitable interfaces for the private interconnect on subnet "192.168.3.0":
rac2 e1000g2:192.168.3.70
rac1 e1000g2:192.168.3.68

Suitable interfaces for the private interconnect on subnet "10.0.0.0":
rac2 e1000g1:10.0.0.2
rac1 e1000g1:10.0.0.1

ERROR: 
Could not find a suitable set of interfaces for VIPs.

Result: Node connectivity check failed.


Checking system requirements for 'crs'...

Check: Total memory 
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          1GB (1048576KB)           512MB (524288KB)          passed    
  rac1          1GB (1048576KB)           512MB (524288KB)          passed    
Result: Total memory check passed.

Check: Free disk space in "/tmp" dir
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          16.15GB (16930048KB)      400MB (409600KB)          passed    
  rac1          15.93GB (16700584KB)      400MB (409600KB)          passed    
Result: Free disk space check passed.

Check: Swap space 
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          2.61MB (2672KB)           512MB (524288KB)          failed    
  rac1          2.61MB (2672KB)           512MB (524288KB)          failed    
Result: Swap space check failed.

Check: System architecture 
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          64-bit                    64-bit                    passed    
  rac1          64-bit                    64-bit                    passed    
Result: System architecture check passed.

Check: Operating system version 
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          SunOS 5.10                SunOS 5.10                passed    
  rac1          SunOS 5.10                SunOS 5.10                passed    
Result: Operating system version check passed.

Check: Operating system patch for "118345-03" 
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          unknown                   118345-03                 failed    
  rac1          unknown                   118345-03                 failed    
Result: Operating system patch check failed for "118345-03".

Check: Operating system patch for "119961-01" 
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          119961-06                 119961-01                 passed    
  rac1          119961-06                 119961-01                 passed    
Result: Operating system patch check passed for "119961-01".

Check: Operating system patch for "117837-05" 
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          unknown                   117837-05                 failed    
  rac1          unknown                   117837-05                 failed    
Result: Operating system patch check failed for "117837-05".

Check: Operating system patch for "117846-08" 
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          unknown                   117846-08                 failed    
  rac1          unknown                   117846-08                 failed    
Result: Operating system patch check failed for "117846-08".

Check: Operating system patch for "118682-01" 
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  rac2          unknown                   118682-01                 failed    
  rac1          unknown                   118682-01                 failed    
Result: Operating system patch check failed for "118682-01".

Check: Group existence for "dba" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  rac2          exists                    passed                  
  rac1          exists                    passed                  
Result: Group existence check passed for "dba".

Check: Group existence for "oinstall" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  rac2          exists                    passed                  
  rac1          exists                    passed                  
Result: Group existence check passed for "oinstall".

Check: User existence for "oracle" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  rac2          exists                    passed                  
  rac1          exists                    passed                  
Result: User existence check passed for "oracle".

Check: User existence for "nobody" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  rac2          exists                    passed                  
  rac1          exists                    passed                  
Result: User existence check passed for "nobody".

System requirement failed for 'crs'

Pre-check for cluster services setup was unsuccessful on all the nodes. 

Errors

It’s safe to ignore the error message:

ERROR: 
Could not find a suitable set of interfaces for VIPs.

when cluvfy fails to check the interfaces for the private interconnect (it lists all possible interfaces but shows an error) as you might have chosen multiple private IP spaces.

In my test installation (Parallels virtual machines) I also ignored the warning with swap space as I definitely have enough.

This entry was posted in Databases, System Administration and tagged , . Bookmark the permalink.