配置了SSH之后,发现在验证用户等价时失败:
$ ./runcluvfy.sh comp nodecon -n ahrac1,ahrac2 -verbose
Verifying node connectivity
ERROR:
User equivalence unavailable on all the nodes.
Verification cannot proceed.
Verification of node connectivity was unsuccessful on all the nodes.
查询metalink发现是Oracle cluvfy工具的问题。Oracle在文章:Note:369598.1:User Equivalence Check Failed for User Oracle Using Ssh/scp中进行了详细的描述。
简单的说,Oracle在寻找ssh命令时,去/usr/local/bin目录下寻找,而ssh命令在/usr/bin目录下。
相应的解决方法也很简单,在/usr/local/bin目录下建立一个指向/usr/bin/ssh的链接就可以了。
root@ahrac1 # mkdir -p /usr/local/bin
root@ahrac1 # ln -s -f /usr/bin/ssh /usr/local/bin/ssh
root@ahrac1 # ln -s -f /usr/bin/scp /usr/local/bin/scp
不过再次尝试,仍然报错:
$ ./runcluvfy.sh comp nodecon -n ahrac1,ahrac2 -verbose
Verifying node connectivity
ERROR:
User equivalence unavailable on all the nodes.
Verification cannot proceed.
Verification of node connectivity was unsuccessful on all the nodes.
后来才发现,原来Oracle用户的ssh验证步骤必须先执行:
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
Enter passphrase for /export/home/oracle/.ssh/id_rsa:
Identity added: /export/home/oracle/.ssh/id_rsa (/export/home/oracle/.ssh/id_rsa)
Enter passphrase for /export/home/oracle/.ssh/id_dsa:
Identity added: /export/home/oracle/.ssh/id_dsa (/export/home/oracle/.ssh/id_dsa)
$ ./runcluvfy.sh comp nodecon -n ahrac1,ahrac2 -verbose
Verifying node connectivity
Checking node connectivity...
Interface information for node "ahrac2"
Interface Name IP Address Subnet
------------------------------ ------------------------------ -----------
ce0 172.25.198.43 172.25.0.0
ce0 172.25.198.45 172.25.198.0
ce1 10.0.0.4 10.0.0.0
Interface information for node "ahrac1"
Interface Name IP Address Subnet
------------------------------ ------------------------------ -----------
ce0 172.25.198.42 172.25.0.0
ce0 172.25.198.44 172.25.198.0
ce1 10.0.0.3 10.0.0.0
Check: Node connectivity of subnet "172.25.0.0"
Source Destination Connected?
------------------------------ ------------------------------ -----------
ahrac2:ce0 ahrac1:ce0 yes
Result: Node connectivity check passed for subnet "172.25.0.0" with node(s) ahrac2,ahrac1.
Check: Node connectivity of subnet "172.25.198.0"
Source Destination Connected?
------------------------------ ------------------------------ -----------
ahrac2:ce0 ahrac1:ce0 yes
Result: Node connectivity check passed for subnet "172.25.198.0" with node(s) ahrac2,ahrac1.
Check: Node connectivity of subnet "10.0.0.0"
Source Destination Connected?
------------------------------ ------------------------------ -----------
ahrac2:ce1 ahrac1:ce1 yes
Result: Node connectivity check passed for subnet "10.0.0.0" with node(s) ahrac2,ahrac1.
Suitable interfaces for the private interconnect on subnet "172.25.0.0":
ahrac2 ce0:172.25.198.43
ahrac1 ce0:172.25.198.42
Suitable interfaces for the private interconnect on subnet "172.25.198.0":
ahrac2 ce0:172.25.198.45
ahrac1 ce0:172.25.198.44
Suitable interfaces for the private interconnect on subnet "10.0.0.0":
ahrac2 ce1:10.0.0.4
ahrac1 ce1:10.0.0.3
ERROR:
Could not find a suitable set of interfaces for VIPs.
Result: Node connectivity check failed.
Verification of node connectivity was unsuccessful on all the nodes.
至此,问题得到解决。