Storage Foundation for Oracle RAC由原来的5.0MP1RP4升级到5.0MP3RP5,升级后其它资源均正常。PrivNIC不正常,无法probe。在/var/VRTSvcs/log/engineA.log有如下报错:
2011/11/17 10:05:36 VCS INFO V-16-2-13001 (node2) Resource(ora_priv): Output of the completed operation (monitor)
Can't locate Net/IP.pm in @INC (@INC contains: /opt/VRTSvcs/lib /opt/VRTSvcs/bin/PrivNIC /opt/VRTSperl/lib/5.8.8/sun4-solaris-thread-multi-64int /opt/VRTSperl
/lib/5.8.8 /opt/VRTSperl/lib/site_perl/5.8.8/sun4-solaris-thread-multi-64int /opt/VRTSperl/lib/site_perl/5.8.8 /opt/VRTSperl/lib/site_perl .) at /opt/VRTSvcs/
lib/vcs_net_utils_inc.pm line 9.
BEGIN failed--compilation aborted at /opt/VRTSvcs/lib/vcs_net_utils_inc.pm line 9.
Compilation failed in require at /opt/VRTSvcs/bin/PrivNIC/monitor line 35.
BEGIN failed--compilation aborted at /opt/VRTSvcs/bin/PrivNIC/monitor line 35.
报错中的信息比较明显,就是找不到IP.pm模块。在vcs_net_utils_inc.pm模块中有对IP.pm的调用。
use Net::IP ':PROC';
这个问题是SFRAC升级过程中产生的一个bug,参见:http://www.symantec.com/business/support/index?page=content&id=TECH124853
Upgrading to SFRAC 5.0MP3RP3 or RP4 causes the following error: VCS INFO V-16-2-13001 Resource: Output of the completed operation (monitor) Can't locate Net/IP.pm in @INC
Article: TECH124853 | Created: 2010-01-05 | Updated: 2011-10-20 | Article URL http://www.symantec.com/docs/TECH124853
Problem
After upgrading to SFRAC 5.0MP3RP3 or RP4, the PrivNIC resource fails to online or probe correctly due to a missing IP.pm module.
Error
The following error is reported in the /var/VRTSvcs/log/engine_A.log:
2010/03/04 14:51:56 VCS INFO V-16-2-13001 Resource: Output of the completed operation (monitor) Can't locate Net/IP.pm in @INC (@INC contains: /opt/VRTSvcs/lib /opt/VRTSvcs/bin/PrivNIC /opt/VRTSperl/lib/5.8.8/sun4-solaris-thread-multi-64int /opt/VRTSperl/lib/5.8.8 /opt/VRTSperl/lib/site_perl/5.8.8/sun4-solaris-thread-multi-64int /opt/VRTSperl/lib/site_perl/5.8.8 /opt/VRTSperl/lib/site_perl .) at /opt/VRTSvcs/lib/vcs_net_utils_inc.pm line 9.
Cause
The IP.pm is not being copied to the /opt/VRTSperl/lib/site_perl/5.8.8/Net directory by the installrp CPI script.
Solution
Check the contents of the /opt/VRTSperl/lib/site_perl/5.8.8/Net and verify whether or not the IP.pm module is present.
The contents should look as follows:
# ls -l /opt/VRTSperl/lib/site_perl/5.8.8/Net
drwxr-xr-x 4 root sys 512 Jun 22 2009 DNS
drwxr-xr-x 2 root sys 512 Jun 22 2009 FTP
drwxr-xr-x 2 root sys 512 Jun 22 2009 HTTP
-r--r--r-- 1 root sys 8801 Dec 6 2005 HTTP.pm
-r--r--r-- 1 root sys 1113 Dec 23 2002 HTTPS.pm
-r--r--r-- 1 root sys 12107 May 19 2005 Netmask.pm
drwxr-xr-x 4 root sys 512 Jun 22 2009 SNMP
-r--r--r-- 1 root sys 112950 Oct 20 2005 SNMP.pm
-r--r--r-- 1 root sys 130748 Jul 16 2002 Telnet.pm
If the IP.pm module is missing, verify it exists on the RP3/RP4 software distribution used to perform the installation.
# ls -l SxRT-5.0MP3RP3-GA/dvd1/sol_sparc/perl/lib/site_perl/5.8.8/Net
drwxrwxr-x 4 root root 96 May 1 2007 DNS
drwxrwxr-x 2 root root 96 May 1 2007 FTP
drwxrwxr-x 2 root root 96 May 1 2007 HTTP
-rwxr-xr-x 1 root root 8801 May 1 2007 HTTP.pm
-rwxr-xr-x 1 root root 1113 May 1 2007 HTTPS.pm
-rwxr-xr-x 1 root root 66060 May 1 2007 IP.pm
-rwxr-xr-x 1 root root 12107 May 1 2007 Netmask.pm
drwxrwxr-x 4 root root 1024 May 1 2007 SNMP
-rwxr-xr-x 1 root root 112950 May 1 2007 SNMP.pm
-rwxr-xr-x 1 root root 130748 May 1 2007 Telnet.pm
WORKAROUND:
If the IP.pm module is found in the RP3/RP4 software distribution, it needs to be copied to the "/opt/VRTSperl/lib/site_perl/5.8.8/Net" directory on the system reporting the error.
# cp SxRT-5.0MP3RP3-GA/dvd1/sol_sparc/perl/lib/site_perl/5.8.8/Net/IP.pm /opt/VRTSperl/lib/site_perl/5.8.8/Net
If the IP.pm module is not present on the RP3/RP4 software distribution, the RP3/RP4 software could be compromised. The RP3/RP4 software can either be downloaded again, or the IP.pm module copied from another system.
Legacy ID
346890
解决办法是把IP.pm拷贝到/opt/VRTSperl/lib/site_perl/5.8.8/Net目录下。除了patch中带的IP.pm外,系统的/opt/VRTSmh/lib/modules/Net下也有个IP.pm。拷贝这个IP.pm也可以。
另外需要说明的是,文档中明确说明5.0MP3RP3和5.0MP3RP4会出现这个问题,我的系统是升级到5.0MP3RP5,也同样有此问题。