How To Debug CCI Issues
How To Debug CCI Issues
Introduction
This short document describes some of the many ways CCI can break. It should be used as a list of the things to check
with a customer whenever CCI problems are raised.
UNIX
You would think it is easy to get this right – but we see many errors caused due to bad installation. Here is what should
be done. Let us assume a non-default installation – as that is the easiest for the user to get wrong J
1 Copy the installation file to the hard disk somewhere. It is called RMHORC. Let’s copy it to /var/tmp
2 cd /opt
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
1
3 cpio -idmu < /var/tmp/RMHORC
This will copy all the files in the RMHORC “package” to /opt/HORCM
Check: We have seen cases where users build their own installation “packages” for HORCM – and then copy the
files from one Host to another. In UNIX particularly this is dangerous. CCI needs a “hidden” directory called .uds or it will
not start.
This directory contains UNIX “pipes” when the instances are started. The “pipes” are deleted when the instance stops.
Thus, you will see this:
root@SYD-E250-1:/opt/HORCM/.uds#:ls -al
total 4
root@SYD-E250-1:/opt/HORCM/.uds#:horcmstart.sh 4
root@SYD-E250-1:/opt/HORCM/.uds#:ls -al
total 6
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
2
dr-xr-xr-x 12 root sys 512 Feb 22 15:04 ..
Always check for this directory if you have a case where CCI does not start.
4 ln -s /opt/HORCM /HORCM
Check: You must create a link or the install in the next step will fail.
5 /HORCM/horcminstall.sh
Check: You must do this on UNIX to create links to the CCI commands.
6 raidqry -h
Here is what you see if the user has done everything right.
root@SYD-E250-1:/opt/HORCM/.uds#:raidqry -h
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
-h Help/Usage
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
3
-IM[#] or -ISI[#] Set to MRCF mode [and HORCMINST#]
-q Quit(Return to main())
Check: Always get the user to run this command and send you the output.
• If user is using an old version of CCI, ask why. 01-19-03/04 or later is preferred for many reasons which will be
discussed later.
• In some special cases, like HPtM, a specific level of CCI may be stated in the ECN or Release Notes. In this case, it
may be advisable to stick with that level. Also, the microcode ECNs for 9900V and USP always recommend a CCI
level.
• However, in my experience, CCI is always backwards compatible – and the developer has confirmed this – so one
should always use the minimum level stated in ECNs.
• Any command this user issues will be assumed to be TrueCopy (refer above - HORC). If the user is trying to
perform ShadowImage operation, you now know why it is failing J
• No instance has been set. Here is what you see if the instance variable has been set:
root@SYD-E250-1:/opt/HORCM/.uds#:export HORCMINST=4
root@SYD-E250-1:/opt/HORCM/.uds#:raidqry -h
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
-h Help/Usage
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
4
If the user is trying to control Instance 1, now you know why it is failing J
Windows
Installation is easier. Double click the EXE and follow the bouncing ball. I always recommend taking the default of
C:\HORCM. The directory is only about 10 MB in size so we are not likely to fill the drive.
Check: The same rule applies as for UNIX. Always ask for raidqry output.
Environment Variables
C:\HORCM\ETC>set horcminst=4
C:\HORCM\ETC>set horcc_mrcf=1
C:\HORCM\ETC>raidqry -h
Model : RAID-Manager/WindowsNT
Ver&Rev: 01-19-03/04
-h Help/Usage
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
5
-z Set to the interactive mode
C:\HORCM\ETC>set horcc_mrcf=
C:\HORCM\ETC>raidqry -h
Model : RAID-Manager/WindowsNT
Ver&Rev: 01-19-03/04
root@SYD-E250-1:/opt/HORCM/.uds#:export HORCC_MRCF=1
root@SYD-E250-1:/opt/HORCM/.uds#:raidqry -h
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
root@SYD-E250-1:/opt/HORCM/.uds#:export HORCC_MRCF=
root@SYD-E250-1:/opt/HORCM/.uds#:raidqry -h
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
6
Usage : raidqry [options] for HOMRCF[4]
root@SYD-E250-1:/opt/HORCM/.uds#:unset HORCC_MRCF
root@SYD-E250-1:/opt/HORCM/.uds#:raidqry -h
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
If you have to escalate the problem to GSC, we will need the complete set of HORCM logs and all the HORCM CONF
files. In general, the preferred method of doing this is to run “getconfig”. These executables/scripts are available on the
TUF Knowledge area here.
If for any reason you do not run these scripts, you must zip up all the LOG directories underneath the HORCM
directory. Never pick and choose which log to upload – many of them have the same name – and GSC may need to
refer to all of them!
In addition, the factory always asks for the output from these commands (Windows only):
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
7
Finding Command Devices
You cannot create a HORCM CONF file or check it for accuracy without doing INQRAID commands for UNIX/Windows
and RAIDSCAN commands for Windows.
UNIX
Check: Get the user to send you the result of this command:
...
c2t2d36s2 - - - - - - --
c2t6d14s2 - - - - - - --
...
Here are 5 command devices – 2 are in bold. The first is a USP – the second is a 9570V. If the user wants to use the
first one, they need to code:
/dev/rdsk/c2t6d0s2
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
8
in the HORCM CONF file.
Windows
Check: Get the user to send you the result of these commands:
Check: Do not use ANY of these names! If you find a user using this syntax, ask that it be changed J See
INQRAID output below:
Harddisk0 - - - - - - - 00JS-22MHB0
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
9
Harddisk1 - - - - - - - 00JS-22MHB0
\\.\CMD syntax has been around since 01-17-03/05. There is no reason not to use it! If the user is running 01-17-03/05
or below, get them to use 01-19-03/04 or higher.
In this case, for Harddisk8/USP 10262, the correct syntax in the HORCM CONF file is:
\\.\CMD-10262-16 or even
\\.\CMD-10262 J
\\.\CMD-10262-16 is my preferred coding technique – as this takes care of multipath environments as well.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
10
There are so many ways for this to fail that I could write a book on this topic J
So, always take the easy way out. Send the user a deck that is bound to work. If it does not, then you have very little to
debug. Here is such a deck – HORCM4.CONF:
UNIX
HORCM_MON
HORCM_CMD
/dev/rdsk/c2t6d0s2
HORCM_DEV
HORCM_INST
• Is the IP address correct? Note: You can use “localhost” here, but this will not work for TC environments using 2
different CCI servers.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
11
• Is 11004 a “free” UDP port? Almost certainly it is.
• Is the CMDDEV right? You can tell that from the commands we have already issued.
Windows
HORCM_MON
HORCM_CMD
\\.\CMD-10262-16
HORCM_DEV
HORCM_INST
Use the same logic as for UNIX. Windows HORCM CONF files are in C:\WINDOWS
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
12
Other recommendations:
• HDvM uses HORCM CONF files called HORCM900.CONF to HORCM988.CONF for temporary HORCM CONF
files. Do not use these numbers yourself.
• I suggest that you use 0-799 for user created files and 800-899 for HDvM created permanent HORCM CONF files.
• I also suggest a numbering convention of 1100x where x is the number in HORCMx.CONF. This means that you
will need to “reserve” UDP ports 11000 to 11899 for HORCM CONF usage.
HORCM_MON
In this case, the UDP port – horcm8 – must be defined in the “Services” file:
Windows C:\WINDOWS\system32\drivers\etc\services
UNIX /etc/services
Like this:
horcm0 11000/udp
horcm1 11001/udp
horcm8 11008/udp
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
13
horcm9 11009/udp
“blank line”
Check: Under Windows, if there is no blank line after horcm9 (in this example) that definition will be ignored! PS
No blank lines at the end of the HORCM CONF file, please J
Check: If you have 2 CCI servers, using horcm8 and horcm9, for example, then both horcm8 and horcm9 have
to be defined in both servers!
Windows
In our example – we used Instance 8 – so you will find the log here:
C:\HORCM\log8\curlog\horcm_ml_acer510_log.txt
*****************************************************************************
*****************************************************************************
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
14
18:03:08-39210-05000- horcmgr started on Thu Feb 22 18:03:08 2007
Model : RAID-Manager/WindowsNT
Ver&Rev: 01-19-03/04
Release: Production(GA)
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
15
18:03:08-40b28-07240- [horcmcfgetent] read(conf_file) OK.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
16
[0x0012d9a4]00d0: 00000000 00000000 00000000 00000000 ................
18:03:08-40b28-07240- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
17
18:03:08-40b28-07240- ***** horcread *****
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
18
[0x0012da34]0160: 00340035 00360037 00380039 003a003b .4.5.6.7.8.9.:.;
18:03:08-40b28-07240- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
19
[0x0012d984]00b0: 00800012 000e0002 00000000 00000000 ................
18:03:08-449a8-07240- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
Here is the AL-PA for the Port, and the Port, target ID and LUN.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
20
18:03:08-449a8-07240- MON(HORC):number of Mus = 0
I have quoted this in full for a reason. This is what you should expect to see if it all works. If it does not work, at least you
can compare the user log with this one J
UNIX
Here is the output for a Solaris server called SYD-E250-1. This is the log for instance 4. As we installed CCI in /opt/
HORCM, the log is here:
root@SYD-E250-1:/opt/HORCM/log4/curlog#:ls -al
total 28
*****************************************************************************
*****************************************************************************
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
21
16:29:59-cd940-11271- execvp() horcmd_04 using /etc/horcmgr [CWD=/]
Model : RAID-Manager/Solaris
Ver&Rev: 01-19-03/04
Release: Production(GA)
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
22
[0xffbfcb94]0000: 48495441 43484920 4f50454e 2052454d HITACHI OPEN REM
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
23
[0xffbfcce4]0150: 0028ffff ffffffff ffff002d ffffffff .(.........-....
16:30:01-b1cea-11272- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
24
[0xffbfcbd4]0040: 50090500 00020000 00050005 00050005 P...............
16:30:02-6712a-11272- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
25
16:30:02-77659-11272- [HORCREAD] execute-test read is done.:/dev/rdsk/c2t6d0s2
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
26
[0xffbfcc94]0100: 00050004 00060007 00080009 0060ffff .............`..
16:30:02-ebbdb-11272- [HORCREAD]: maxhorc = 4, maxmrcf = 64, maxlun = 1024, maxctg = 256, maxjnlg = 256,
mixport =1, slprflag = 1
16:30:02-efd23-11272- [HORCREAD]: Number of used instance(s) = 13, Number of attached instance(s) = UNKNOWN,
Number of same instance(s) = 1
Here is the AL-PA for the Port, and the Port, target ID and LUN.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
27
Audit Logging
Check: Always set full logging if possible. This was introduced with 01-17-03/05 – but it is disabled by default.
The environment variable is HORCC_LOGSZ. If this environment variable is not set, only errors are logged. With this
variable set, successful commands are logged as well – very useful if you need to know what was typed and when.
However, only the input is logged, not the output! So, always cut and paste the entire Command Prompt session and
send that to GSC as well.
Check: Can the user reproduce this problem at will? If so, get them to stop CCI, delete the LOGx directories and
then start CCI and issue the command that fails. This will make reading the LOGx files much easier as the only
messages in the logs will be what you want to look at J
Windows
TSTART.BAT BAT file to start CCI and set the correct options for TC
@echo off
rem
rem
set HORCC_LOGSZ=2048
rem
set horcmfctbl=2
rem set instance to match your naming convention for the PVOL instance
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
28
set horcminst=0
set horcc_mrcf=
horcmstart 0 1
@echo off
rem
rem
horcmshutdown 0 1
set horcmfctbl=
set horcminst=
set horcc_mrcf=
set HORCC_LOGSZ=
UNIX
Check: Always ask the user to “cut and paste” the command line input and output – you need to know what they
typed and what the result was J
root@SYD-E250-1:/opt/HORCM/log4/curlog#:horcmstart.sh 4
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
29
HORCM inst 4 starts successfully.
root@SYD-E250-1:/opt/HORCM/log4/curlog#:export HORCC_LOGSZ=2048
root@SYD-E250-1:/opt/HORCM/log4/curlog#:raidscan -p CL1-A
root@SYD-E250-1:/opt/HORCM/log4/curlog#:horcmshutdown.sh 4
inst 4:
root@SYD-E250-1:/opt/HORCM/log4/curlog#:cd ..
root@SYD-E250-1:/opt/HORCM/log4#:ls -al
total 10
COMMAND NORMAL : EUserId for HORC[4] : root (0) Wed Mar 7 16:50:36 2007
16:50:37-450c6-11368- [raidscan][exit(0)]
COMMAND NORMAL : EUserId for HORC[4] : root (0) Wed Mar 7 16:51:53 2007
CMDLINE : /usr/bin/horcctl -S
16:51:54-0f8cf-11376- [horcctl][exit(0)]
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
30
Command Device Reject
Most CCI errors are self explanatory – however this one is usually impossible for the user to debug L
HORCM8.CONF
HORCM_MON
HORCM_CMD
\\.\CMD-977-5
HORCM_DEV
HORCM_INST
HORCM9.CONF
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
31
HORCM_MON
HORCM_CMD
\\.\CMD-977-5
HORCM_DEV
HORCM_INST
• Even though this is a 9500V, users should always use Port-HSD-LUN syntax
• I strongly recommend not to use Port-LDEV syntax – where is the cross-check?
• Is MU# specified for ShadowImage? On some levels of CCI, this is mandatory. However, you should specify it
anyway as this is Best Practice.
C:\HORCM\ETC>raidscan -p CL1-A-1 -m 0
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
32
CL1-A-1/ef/ 5, 1, 1-0 .1(29)............P-VOL PSUS 29, 977 309
C:\HORCM\ETC>pairdisplay -g VG01
• Check the PVOL and SVOL LDEV numbers (in this case, 49 and 50)
• Check the Port/HSD/LUN (in this case, CL1-A-1 – LUNs 7 and 8)
COMMAND ERROR : EUserId for HOMRCF[8] : Administrator (0) Wed Mar 07 17:02:30 2007
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
33
CMDLINE : paircreate -g VG01 -vl
17:02:30-9e728-12452- [paircreate][exit(221)]
[Action]:Please confirm the following items.If this trouble doesn't resolve,then collect HORCM error
logs(HORCM_LOG=C:\HORCM\log8\curlog) and Remote HORCM logs,and send them to service personnel.
(2) Check if the RCP and LCP are installed in the RAID.
(3) Check if the path between the RAID CUs is established by using the SVP.
Yes, meaningless error message numbers like -35 and 221. If this is a RAID subsystem, check the SSBLOGS on the
SVP. However, for DF, the SSB is logged in CCI J
Contents of C:\HORCM\log8\curlog\horcmlog_servername\horcm_log.txt
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
34
[0x0012f304]0050: 00000000 00000000 00000000 00000000 ................
17:02:30-9a8a8 is the cross-check. Next, it is not obvious, but the error code is:
961C 000D
Now, get hold of the latest AMS CCI manual which contains Appendix A.4
Beware – some versions of this manual do not contain these sections L Find one that does.
961C 000C The S-VOL is a Sub LU of a unified LU. Check the status of the LU.
961C 000D The default controllers controlling the P-VOL and S-VOL are not the same….
961C 000E The P-VOL is a Cache Residency LU. Check the status of …
In this case, the PVOL and SVOL default controllers are not the same.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
35
“Old Syntax” HORCM CONF Files
This problem only applies to RAID subsystems from 9900V onwards. With 7700E and 9900, there were no Host Storage
Domains (HSD) so all LUNs were on the “real” port. With 9900V, USP etc the LUNs are normally considered to be
attached to “logical” ports – which are called HSD or Host Groups.
However, it is still possible to use the “old” syntax. This always causes confusion after a while as LUNs get added and
deleted from various HSD. Here is an example:
• Imagine that 3 HSD are created on an empty port – HSD 1,2 and 3
• Each HSD has 3 LUNs added – numbered as 0, 1 and 2
If this is done in sequence, HSD 1 has “absolute” LUNs 0-2, HSD 2 has “absolute” LUNs 3-5 and HSD 3 has “absolute”
LUNs 6-8
Now imagine that the following actions have been performed some time later:
• Delete HSD 2
• Add HSD 4 with LUNs 0 and 1
And then you allocate LUN 3 to HSD 1 and 3. If you did not know that the previous changes had been made, it would be
impossible for you to “guess” that:
Even worse, you have no way of looking at the LUN allocations via Storage Navigator as that only shows “relative” LUN
numbers L
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
36
In a recent case, 47 S-VOL LUNs were deleted by mistake from a HSD. When the mistake was noticed, the same 47 S-
VOL LUNs were added back in the “same order”. However, a subsequent pairdisplay showed the following:
...
What can you tell from the display above? Firstly, the pairdisplay was issued by the “DR” CCI server – as (L) refers to
the S-VOL. Next, we have obvious mismatches – in yellow. What is less obvious is that the turquoise and green pairs
are also invalid. Indeed:
Here is an excerpt from the “old” HORCM CONF file – using “absolute” LUN numbers:
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
37
And here is the same excerpt after the file has been changed to use HSD syntax:
As you can, the new HORCM CONF file is easier to understand and compare with Storage Navigator J
By the way, here is how you find out the “absolute” and “relative” LUN numbers:
...
...
...
...
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
38
Secured CMDDEV and HORCMPERM Implications
If you use a “normal” ie non-secured CMDDEV, you can control CCI for any LUNs on any Host. This also means that
you can destroy anyone’s data by using SI to copy your LUNs over the top of their LUNs J
For this reason, you normally only let the Storage Administrator have access to a “normal” CMDDEV – and you always
give normal users access to a Secured CMDDEV.
C:\HORCM\ETC>horcmstart 0
C:\HORCM\ETC>set horcminst=0
C:\HORCM\ETC>horcctl –D
This is a “normal” CMDDEV. For this test, I also had access to a secured CMDDEV – and it is possible to swap between
them as follows:
C:\HORCM\ETC>horcctl -C
C:\HORCM\ETC>horcctl -D
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
39
The asterisk means that the CMDDEV is secured. Normally, of course, you would not give any user access to different
types of CMDDEV as that will cause problems.
To test what will happen before giving a secured CMDDEV to a user, you can set the HORCMPROMOD environment
variable as follows:
C:\HORCM\etc>set HORCMPROMOD=1
C:\HORCM\ETC>horcmstart 410
C:\HORCM\ETC>set horcminst=410
C:\HORCM\etc>horcctl -D
Note, however, that this does not affect the horcctl display!
Here is some pairdisplay output when HORCMPROMOD is not set on any CCI server.
C:\HORCM\etc>pairdisplay -g VG01
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
40
VG01 d3(L) (CL2-D , 1, 413)77010027 413.P-VOL PAIR NEVER ,75010010 413 -
As you can see, LDEVs 410-414 on an AMS1000 (SN begins with 770x) are paired with LDEVs 410-414 on an AMS500
(SN begins with 750x).
Here is the same pairdisplay output when HORCMPROMOD has been set on both CCI servers.
C:\HORCM\etc>set HORCMPROMOD=1
C:\HORCM\etc>horcmstart 410
C:\HORCM\ETC>set horcminst=410
C:\HORCM\etc>pairdisplay -g VG01
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
41
VG01 d4(L) (CL2-D , 1, 414)77010027 414.P-VOL PAIR NEVER ,75010010 414 -
As you can see, the local CCI instance (L) has access to all its LUNs/LDEVs. However, the DR CCI server (R) has no
access to LDEVs 410-414.
If you attempt to do any commands such as pairsplit, the following will happen:
C:\HORCM\etc>pairsplit -g VG01
You can use HORCMPERM*.CONF (* is the instance number) to further limit CCI access. HORCMPERM*.CONF does
not give you access to LDEVs that you are not allowed to process. It removes access to LDEVs that you are allowed to
process but do not wish to process.
How does this work? Let’s start instance 410 with HORCMPROMOD=1 and no HORCMPERM.CONF file. At the bottom
of the start up log you will see this:
...
As you can see, raidscan is called internally with an argument of -pi $PhysicalDrive (all physical drives) – thus allowing
all LUNs on this server to be accessed.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
42
Now let’s stop horcm and define a file as follows:
C:\HORCM\etc>type C:\WINDOWS\HORCMPERM410.CONF
hd0-56
C:\HORCM\etc>
HORCMPERM410.CONF contains a list of every device that we wish to be able to access via CCI. Here is the resultant
pairdisplay after a restart of horcm:
C:\HORCM\etc>pairdisplay -g VG01
The bold lines show what has changed. Here is the bottom of the start up log file.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
43
11:08:03-7d3e8-02408- horcmgr : executed 'CreateProcess(raidscan.exe -find inst -z0r=C:\WINDOWS\
horcmperm410.conf -z2w=NUL -z1w=NUL)',exit = 0.
As you can, raidscan has been called internally and is using the list of disks in HORCMPERM410.CONF to determine
which LDEVs can be accessed. Here is some inqraid output:
J:\Vol2\Dsk0 - - - - - - - ST336754LC
The bold lines show that LDEVs 413 and 414 are Physical Drives 57 and 58 – and as we only allowed access to
Physical Drives 0-56, this explains why the pairdisplay has changed.
Note that it is possible to “fix” this “mistake” by manual use of the raidscan command as follows:
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
44
Harddisk58 VG01 d4 CL2-D 1 414 0 77010027 414
C:\HORCM\etc>pairdisplay -g VG01
Of course, you are unlikely to fix such an issue with raidscan. You would normally fix HORCMPERM*.CONF and then
stop and restart horcm.
When HORCM will not start, you strip the CONF file back to the bare essentials – and then change one thing at a time.
Sometimes even this fails. Here are the most common reasons.
HORCM_MON
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
45
#ip_address service poll(10ms) timeout(10ms)
HORCM_CMD
#dev_name
\\.\CMD-10111-4
The above file is correct – let us make some simple changes to break it.
1 Wrong IP Address
Change 10.129.3.127 to 10.129.2.127. A simple typo, but here is what you get:
Windows
SysCall: bind
SrcFile: shorcmc.c
SrcLine: 2405
ERROR:cmr_repcre[scmcrepcr fail]
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
46
Of course, it is the “Internal Error” that confuses most people here. The real error is in the line above. It is the result of a
standard call to an OS socket service, in this case Winsock.
http://www.sockets.com/err_lst1.htm
Berkeley description: Normally results from an attempt to create a socket with an address not on this machine.
So, the error is obvious when you know where to look. The problem is, not many people know where to look!
UNIX
UNIX errors messages are not only different, they are different on each platform! Here is the same error for Solaris:
SysCall: bind
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
47
ErrTime: Tue Sep 2 11:45:40 2008
SrcFile: shorcmc.c
SrcLine: 2427
ERROR:cmr_repcre[scmcrepcr fail]
http://www.ioplex.com/~miallen/errcmpp.html
Once again, this is not the most intuitive error I have seen.
2 Invalid CMDDEV
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
48
12:52:23-16b48-04004- horcread():cannot open command device:\\.\CMD-10111-42
12:52:23-16b48-04004- ERROR:horcm_cfg_create
17:29:02-d59f8-02260- ERROR:horcm_cfg_create
Change 11042 to 1030. This is not a “sensible” port number. It was chosen to cause an error.
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
49
[System Call Error]
SysCall: bind
SrcFile: shorcmc.c
SrcLine: 2405
ERROR:cmr_repcre[scmcrepcr fail]
http://www.sockets.com/err_lst1.htm
Berkeley description: An attempt was made to access a file in a way forbidden by its file access permissions.
However, in this case, that is hardly descriptive of the problem. Of course, if one had access to a command prompt, one
could do this:
C:\HORCM\ETC>netstat -a -p UDP
Active Connections
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
50
Proto Local Address Foreign Address State
https://knowledge.hitachivantara.com/Support_Information/Data_Collection/Software/How_To_Debug_CCI_Issues
Updated: Wed, 06 Jan 2021 05:54:24 GMT
Powered by
51