In Cluster environment, when you check the status of the CRS (Cluster Ready Service) you may find the error as CRS-4535 Cannot communicate with Cluster Ready Services as shown below.
| 
1 
2 
3 
4 
5 | [root@rac1 bin]# ./crsctl check crsCRS-4638: Oracle High Availability Services isonlineCRS-4535: Cannot communicate with Cluster Ready ServicesCRS-4530: Communications failure contacting Cluster Synchronization Services daemonCRS-4534: Cannot communicate with Event Manager | 
This mainly occurs for two reasons:
1. Check if the nodes are able to ping each other in terms of respective IPs (Public, Private and Virtual IP).
2. Check if the Grid owner has the permission on the ASM disks on the node where you faced the error.
1. Check if the nodes are able to ping each other in terms of respective IPs (Public, Private and Virtual IP).
2. Check if the Grid owner has the permission on the ASM disks on the node where you faced the error.
In my case, GRID owner was user Oracle. The connectivity between the nodes using their Public, Private and Virtual IPs were perfect and was able to ping each other using the above said IPs.
So, the issue laid with the permission of the ASM disks for the Grid Owner (username Oracle)
This is what I found with the permissions for the ASM disks. The disks were owned by ROOT and ORACLE had no permissions on it.
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 | [root@rac1 bin]# cd /dev/oracleasm/disks[root@rac1 disks]# ls -lrttotal 0brw-------1root root 8, 17May  610:16DISK1brw-------1root root 8, 33May  610:16DISK2brw-------1root root 8, 49May  610:16DISK3brw-------1root root 8, 65May  610:16DISK4brw-------1root root 8, 81May  610:16DISK5[root@rac1 bin]# ps -ef  | grep cssroot      37841010:17?        00:00:01/u01/app/grid/11.2.0/bin/cssdmonitorroot      38011010:17?        00:00:01/u01/app/grid/11.2.0/bin/cssdagentroot      41894107010:26pts/100:00:00grep css | 
Now, change the owner of these disks to ORACLE as shown below and also provide appropriate permission for the ORACLE user to read/write these disks.
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 | [root@rac1 disks]# chown -R oracle:dba /dev/oracleasm/disks[root@rac1 disks]# chmod -R 777 /dev/oracleasm/disks[root@rac1 disks]# ls -lrttotal 0brwxrwxrwx 1oracle dba 8, 17May  610:16DISK1brwxrwxrwx 1oracle dba 8, 33May  610:16DISK2brwxrwxrwx 1oracle dba 8, 49May  610:16DISK3brwxrwxrwx 1oracle dba 8, 65May  610:16DISK4brwxrwxrwx 1oracle dba 8, 81May  610:16DISK5 | 
Once you have assigned the permission, start the cluster services as the ROOT user.
Change to your $GRID_HOME/bin directory (in my case, $GRID_HOME was /u01/app/oracle/product/11.2.0/grid) and start the cluster services using the CRSCTL utility as shown below.
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 | [root@rac1 bin]# ./crsctl start clusterCRS-2672: Attempting to start 'ora.cssd'on 'rac1'CRS-2676: Start of 'ora.cssd'on 'rac1'succeededCRS-2672: Attempting to start 'ora.ctssd'on 'rac1'CRS-2676: Start of 'ora.ctssd'on 'rac1'succeededCRS-2679: Attempting to clean 'ora.asm'on 'rac1'CRS-2681: Clean of 'ora.asm'on 'rac1'succeededCRS-2672: Attempting to start 'ora.asm'on 'rac1'CRS-2676: Start of 'ora.asm'on 'rac1'succeededCRS-2672: Attempting to start 'ora.crsd'on 'rac1'CRS-2676: Start of 'ora.crsd'on 'rac1'succeeded | 
Check the CSS service status:
| 
1 
2 
3 
4 
5 | [root@rac1 bin]# ps -ef | grep cssroot      37841010:17?        00:00:01/u01/app/grid/11.2.0/bin/cssdmonitorroot      43721010:30?        00:00:01/u01/app/grid/11.2.0/bin/cssdagentoracle    43871110:30?        00:00:02/u01/app/grid/11.2.0/bin/ocssd.binroot      53474107010:33pts/100:00:00grep css | 
Now check if CRS (Cluster Ready Service) is online or not:
| 
1 
2 
3 
4 
5 
6 | [root@rac1 bin]# ./crsctl check crsCRS-4638: Oracle High Availability Services isonlineCRS-4537: Cluster Ready Services isonlineCRS-4529: Cluster Synchronization Services isonlineCRS-4533: Event Manager isonline[root@rac1 bin]# | 
Here we go !!
