This article outlines the steps required to configure the Hitachi /etc/horcm1.conf configuration file in relation to Veritas Volume Manager (VxVM) for Hitachi ShadowImage (SI) disks using the Hitachi Command Control Interface (CCI).
HORCM stands for Hitachi Online Remote Copy Manager.
The CCI software is required to open a communication channel from the server to the locally attached Hitachi array.
Ensure the CCI software has been downloaded and configured before performing the following steps.
# pwd
/HORCM
The "RMinstsh" script can be used to install the Command Control Interface (CCI) software on the host.
NOTE: The steps outlined in the article have been performed on a Linux (RedHat) server for illustration purposes.
Steps:
1.] Identify the Hitachi ShadowImage (SI) disks
When using Veritas DMP, the "vxdisk -e list" command will report pvol for Primary (source) Hitachi ShadowImage (SI) disks.
In this instance, the VxVM disk group is named "Shadow".
# vxdisk -eo alldgs list | grep Shadow
hitachi_vspgx0_05da auto:cdsdisk hitachi_vspgx0_05da Shadow online thinrclm sdj hdprclm fc pvol
hitachi_vspgx0_05db auto:cdsdisk hitachi_vspgx0_05db Shadow online thinrclm sdk hdprclm fc pvol
hitachi_vspgx0_05dc auto:cdsdisk hitachi_vspgx0_05dc Shadow online thinrclm sdl hdprclm fc pvol
hitachi_vspgx0_05dd auto:cdsdisk hitachi_vspgx0_05dd Shadow online thinrclm sdm hdprclm fc pvol
hitachi_vspgx0_05de auto:cdsdisk hitachi_vspgx0_05de Shadow online thinrclm sdn hdprclm fc pvol
hitachi_vspgx0_05df auto:cdsdisk hitachi_vspgx0_05df Shadow online thinrclm sdo hdprclm fc pvol
hitachi_vspgx0_05d9 auto:cdsdisk hitachi_vspgx0_05d9 Shadow online thinrclm sdi hdprclm fc pvol
2.] Check if horcm instance is running
# ps -ef | grep horcm
root 16694 1 0 11:20 ? 00:00:00 horcmd_01
root 17233 10174 0 11:25 pts/1 00:00:00 grep --color=auto horcm
3.] If the "horcmd_01" instance is running, shutdown the instance using:
# /usr/bin/horcmshutdown.sh 1
inst 1:
HORCM Shutdown inst 1 !!!
4.] The pvol related Veritas DMPNODE names can be used to populate the horcm1.conf file using the mkconf.sh utility
# vxdisk path | egrep 'hitachi_vspgx0_05da|hitachi_vspgx0_05db|hitachi_vspgx0_05dc|hitachi_vspgx0_05dd|hitachi_vspgx0_05de|hitachi_vspgx0_05df|hitachi_vspgx0_05d9' | awk '{print "/dev/"$1 }' | /HORCM/usr/bin/inqraid -fd | /HORCM/usr/bin/mkconf.sh -i 1 -g vg1
starting HORCM inst 1
HORCM inst 1 starts successfully.
HORCM Shutdown inst 1 !!!
A CONFIG file was successfully completed.
starting HORCM inst 1
HORCM inst 1 starts successfully.
DEVICE_FILE Group PairVol PORT TARG LUN M SERIAL LDEV
/dev/sdj vg1 vg1_000 CL1-E 0 191 - 413010 1498
/dev/sdk vg1 vg1_001 CL1-E 0 192 - 413010 1499
/dev/sdl vg1 vg1_002 CL1-E 0 194 - 413010 1500
/dev/sdm vg1 vg1_003 CL1-E 0 195 - 413010 1501
/dev/sdn vg1 vg1_004 CL1-E 0 196 - 413010 1502
/dev/sdo vg1 vg1_005 CL1-E 0 197 - 413010 1503
/dev/sdi vg1 vg1_006 CL1-E 0 190 - 413010 1497
HORCM Shutdown inst 1 !!!
Please check '/usr/bin/horcm1.conf','/usr/bin/log1/curlog/horcm_*.log', and modify 'ip_address & service'.
NOTE: The command device is a user-selected, dedicated logical volume created on the Hitachi storage system that functions as the interface between the CCI software and the host.
5.] Modify the horcm1.conf
a.] Change the "HORCM_MON" IP address "127.0.0.1" to "NONE"
b.] Change the "HORCM_INST" IP address "127.0.0.1" to the IP address for the host
Sample horcm1.conf file generated
# cat /horcm1.conf
# Created by mkconf.sh on Mon 28 Nov 11:16:17 GMT 2022
HORCM_MON
#ip_address service poll(10ms) timeout(10ms)
127.0.0.1 52323 1000 3000
HORCM_CMD
#dev_name dev_name dev_name
#UnitID 0 (Serial# 413010)
/dev/sdp
HORCM_DEV
#dev_group dev_name port# TargetID LU# MU#
# /dev/sdj SER = 413010 LDEV = 1498 [ FIBRE FCTBL = 3 ]
vg1 vg1_000 CL1-E 0 191
# /dev/sdk SER = 413010 LDEV = 1499 [ FIBRE FCTBL = 3 ]
vg1 vg1_001 CL1-E 0 192
# /dev/sdl SER = 413010 LDEV = 1500 [ FIBRE FCTBL = 3 ]
vg1 vg1_002 CL1-E 0 194
# /dev/sdm SER = 413010 LDEV = 1501 [ FIBRE FCTBL = 3 ]
vg1 vg1_003 CL1-E 0 195
# /dev/sdn SER = 413010 LDEV = 1502 [ FIBRE FCTBL = 3 ]
vg1 vg1_004 CL1-E 0 196
# /dev/sdo SER = 413010 LDEV = 1503 [ FIBRE FCTBL = 3 ]
vg1 vg1_005 CL1-E 0 197
# /dev/sdi SER = 413010 LDEV = 1497 [ FIBRE FCTBL = 3 ]
vg1 vg1_006 CL1-E 0 190
HORCM_INST
#dev_group ip_address service
vg1 127.0.0.1 52323
Modified horcm1.conf file
# cat /horcm1.conf
# Created by mkconf.sh on Mon 28 Nov 11:16:17 GMT 2022
HORCM_MON
#ip_address service poll(10ms) timeout(10ms)
NONE 52323 1000 3000
HORCM_CMD
#dev_name dev_name dev_name
#UnitID 0 (Serial# 413010)
/dev/sdp
HORCM_DEV
#dev_group dev_name port# TargetID LU# MU#
# /dev/sdj SER = 413010 LDEV = 1498 [ FIBRE FCTBL = 3 ]
vg1 vg1_000 CL1-E 0 191
# /dev/sdk SER = 413010 LDEV = 1499 [ FIBRE FCTBL = 3 ]
vg1 vg1_001 CL1-E 0 192
# /dev/sdl SER = 413010 LDEV = 1500 [ FIBRE FCTBL = 3 ]
vg1 vg1_002 CL1-E 0 194
# /dev/sdm SER = 413010 LDEV = 1501 [ FIBRE FCTBL = 3 ]
vg1 vg1_003 CL1-E 0 195
# /dev/sdn SER = 413010 LDEV = 1502 [ FIBRE FCTBL = 3 ]
vg1 vg1_004 CL1-E 0 196
# /dev/sdo SER = 413010 LDEV = 1503 [ FIBRE FCTBL = 3 ]
vg1 vg1_005 CL1-E 0 197
# /dev/sdi SER = 413010 LDEV = 1497 [ FIBRE FCTBL = 3 ]
vg1 vg1_006 CL1-E 0 190
HORCM_INST
#dev_group ip_address service
vg1
6.] Copy the horcm1.conf to /etc/horcm1.conf before starting the horcm instance
# cp horcm1.conf /etc/horcm1.conf
7.] Start the horcm 1 instance
# /usr/bin/horcmstart.sh 1
starting HORCM inst 1
HORCM inst 1 starts successfully.
8.] Export the following HORCM based variables
# export HORCMINST=1
for Hitachi ShadowImage (SI) environments:
# export HORCC_MRCF=1
9.] To show the state of the Hitachi devices, type:
The volume group is "vg1" in this instance.
# pairdisplay -g vg1 -I1 -fxd -l
PROD # pairdisplay -g vg1 -ISI1 -fxd -l
Group PairVol(L/R) Device_File M ,Seq#,LDEV#.P/S,Status, Seq#,P-LDEV# M
vg1 vg1_000(L) sdj 0 413010 5da.P-VOL PAIR,413010 5e1 -
vg1 vg1_001(L) sdk 0 413010 5db.P-VOL PAIR,413010 5e2 -
vg1 vg1_002(L) sdl 0 413010 5dc.P-VOL PAIR,413010 5e3 -
vg1 vg1_003(L) sdm 0 413010 5dd.P-VOL PAIR,413010 5e4 -
vg1 vg1_004(L) sdn 0 413010 5de.P-VOL PAIR,413010 5e5 -
vg1 vg1_005(L) sdo 0 413010 5df.P-VOL PAIR,413010 5e6 -
vg1 vg1_006(L) sdi 0 413010 5d9.P-VOL PAIR,413010 5e0 -
The additional -ISI options can be specified to denote ShadowImage devices, followed by the HORCM instance number:
# pairdisplay -g vg1 -ISI1 -fxd -l
Group PairVol(L/R) Device_File M ,Seq#,LDEV#.P/S,Status, Seq#,P-LDEV# M
vg1 vg1_000(L) sdj 0 413010 5da.P-VOL PAIR,413010 5e1 -
vg1 vg1_001(L) sdk 0 413010 5db.P-VOL PAIR,413010 5e2 -
vg1 vg1_002(L) sdl 0 413010 5dc.P-VOL PAIR,413010 5e3 -
vg1 vg1_003(L) sdm 0 413010 5dd.P-VOL PAIR,413010 5e4 -
vg1 vg1_004(L) sdn 0 413010 5de.P-VOL PAIR,413010 5e5 -
vg1 vg1_005(L) sdo 0 413010 5df.P-VOL PAIR,413010 5e6 -
vg1 vg1_006(L) sdi 0 413010 5d9.P-VOL PAIR,413010 5e0 -
10.] Veritas Volume Manager (VxVM) view of pvol devices
# vxdisk -eo alldgs list
DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME ATTR
hitachi_vspgx0_05da auto:cdsdisk hitachi_vspgx0_05da Shadow online thinrclm sdj hdprclm fc pvol
hitachi_vspgx0_05db auto:cdsdisk hitachi_vspgx0_05db Shadow online thinrclm sdk hdprclm fc pvol
hitachi_vspgx0_05dc auto:cdsdisk hitachi_vspgx0_05dc Shadow online thinrclm sdl hdprclm fc pvol
hitachi_vspgx0_05dd auto:cdsdisk hitachi_vspgx0_05dd Shadow online thinrclm sdm hdprclm fc pvol
hitachi_vspgx0_05de auto:cdsdisk hitachi_vspgx0_05de Shadow online thinrclm sdn hdprclm fc pvol
hitachi_vspgx0_05df auto:cdsdisk hitachi_vspgx0_05df Shadow online thinrclm sdo hdprclm fc pvol
hitachi_vspgx0_05d9 auto:cdsdisk hitachi_vspgx0_05d9 Shadow online thinrclm sdi hdprclm fc pvol
sdc auto:none - - online invalid sdc -
11.] Repeat the process for the svol (S-VOL) SI devices on the alternate system or alternate horcm*.conf file