Terminamos la entrada anterior haciendo una copia del sistema que hemos estado modificando desde que empezamos a configurar el Sysplex. Ahora vamos a arrancar el segundo sistema, el que será ZOS2. Para este arranque podemos usar el LOADPARM “CS”, porque vamos a configurarlo, pero cuando vaya a formar parte del anillo, este sistema lo tendremos que arrancar con un parámetro con arranque WARM, por lo tanto, tenemos que usar uno distinto de CS. Yo voy a elegir arrancar con el parámetro DB, que arranca con WARM y además arranca DB2 y CICS.
Vamos a la librería SYS1.IPLPARM y editamos el miembro LOADDB (os recuerdo que no está catalogada, hay que poner el volumen).
Ponemos “PLEXHERC” como nombre de Sysplex. Nos fijamos que el sufijo de los miembros de la librería PARMLIB es DB.
Editamos el miembro IEASYSDB de la librería ADCD.Z110.PARMLIB. Ponemos:
COUPLE=01,
GRS=JOIN,
GRSRNL=EXCLUDE, (este hay que añadirlo)
PLEXCFG=MULTISYSTEM,
Editamos el miembro BPXPRMDB.
Modificamos ROOT FILESYSTEM('HFS.&SYSPLEX..ROOT') por ROOT FILESYSTEM('HFS.ADCD.ROOT')
Ahora editamos el miembro JES2PARM, tenemos que cambiar el nombre del “OWNNODE” a ZOS2.
Vamos a la librería ADCD.Z110.VTAMLST y editamos el miembro ATCSTR00. Ponemos ZOS2 en el parámetro NETID.
Editamos el miembro COUPLE01 de la librería ADCD.Z110.PARMLIB.
Cambiamos el número del dispositivo de PATHOUT a 0E41 y de PATHIN a 0E40.
Ahora editamos el miembro IEASYM00.
En SYSNAME ponemos ZOS2, por ejemplo. Y en SYSCLONE ponemos Z2.
Ya podemos parar el sistema ZOS2.
Ahora vamos a ir al archivo de configuración de Hércules del primer sistema (ZOS1). Añadimos los siguientes parámetros, si no los tenemos (todos son necesarios):
ARCHLVL ENABLE bit44
SHRDPORT 3990
LPARNAME ZOS1
LPARNUM 01
El parámetro SHRDPORT sirve para compartir discos con Hércules. Gracias a esto podemos usar un mismo disco por dos Hércules a la vez. Además de servir para crear el Sysplex, gracias a esto, también se puede tener un spool compartido por varios sistemas, etc. Los otros sistemas se conectarán a estos discos por el puerto 3990.
Podéis encontrar más información sobre discos compartidos en este blog:
http://mainframecorner.com/?p=1561
Ahora vamos al final del fichero y añadimos lo siguiente:
# CTC Adapters
0E40 CTCE 31880 localhost 31882
0E41 CTCE 31884 localhost 31886
Esto sirve para hacer la conexión CTC con el Hércules. Con este tipo de conexiones podemos conectar dos zOS por XCF, por nodos NJE, etc. Si los dos Hércules están en el mismo PC, podremos usar “localhost”, pero los números de puerto deben ser distintos. En este caso, el dispositivo 0E40 escucha en el puerto 31880 y se conecta con otro dispositivo que escuche en el puerto 31882.
Si queremos conectarnos con otro equipo cuya IP del sistema operativo (NO DEL z/OS) es 192.168.1.11, pondríamos:
# CTC Adapters
0E40 CTCE 31880 192.168.1.11 31882
0E41 CTCE 31884 192.168.1.11 31886
Como son dos máquinas distintas, podemos usar los mismos puertos:
# CTC Adapters
0E40 CTCE 31880 192.168.1.11 31880
0E41 CTCE 31884 192.168.1.11 31884
Ya hemos modificado el primer archivo de configuración, ahora vamos a por el archivo de configuración de ZOS2. Primero cambiamos el puerto del parámetro CNSLPORT a 3271 para que nos podamos conectar con los terminales a través del puerto 3271 en vez del 3270, que es el que usara el sistema ZOS1.
Añadimos los parámetros anteriores (todos son necesarios):
ARCHLVL ENABLE bit44
SHRDPORT 3990
LPARNAME ZOS2
LPARNUM 21
Ahora vamos a modificar los discos. Los dispositivos 0A9B y 0A9C son los discos SHR001 y SHR002. Como queremos usar los mismos que va a usar el sistema ZOS1, debemos quitar la dirección del disco y poner “localhost” y, por defecto, irá a buscar los discos en el puerto 3990.
0A9B 3390 localhost
0A9C 3390 localhost
Si el Hércules que sirve los discos está en otro PC cuya IP del sistema operativo (NO DEL z/OS) es 192.168.1.10, podremos poner:
0A9B 3390 192.168.1.10
0A9C 3390 192.168.1.10
O también:
0A9B 3390 192.168.1.10:3990
0A9C 3390 192.168.1.10:3990
Por último pondremos los CTCs:
# CTC Adapters
0E40 CTCE 31882 localhost 31880
0E41 CTCE 31886 localhost 31884
En este caso, el dispositivo 0E40 escuchará en el puerto 31882 y se conectará con el otro Hércules que escucha en el puerto 31880. Y el dispositivo 0E40 escuchará en el puerto 31882 y se conectará con el puerto 31884 del otro Hércules-
Si queremos conectarnos con otro equipo cuya IP del sistema operativo (NO DEL z/OS) es 192.168.1.10, pondríamos:
# CTC Adapters
0E40 CTCE 31880 192.168.1.10 31882
0E41 CTCE 31884 192.168.1.10 31886
Como son dos máquinas distintas, podemos usar los mismos puertos:
# CTC Adapters
0E40 CTCE 31880 192.168.1.10 31880
0E41 CTCE 31884 192.168.1.10 31884
Ya hemos terminado todas las configuraciones, por lo tanto, vamos a proceder a arrancar los sistemas.
Primero vamos a arrancar el sistema ZOS1 que es el que tiene el parámetro “GRS=START” y además es el que hace de servidor de discos. Usaremos el mismo parámetro de arranque para que hayamos hecho toda la configuración de la PARMLIB (CS).
IMPORTANTE: Si usamos la interfaz gráfica HERCGUI, mostrará un error indicando que el archivo de configuración no es válido, tenemos que darle a IGNORAR, ya que para el Hércules si es correcto.
Cuando arranquemos, saldrán los mensajes “SYSTEM ZOS1 IS NOW ACTIVE IN SYSPLEX PLEXHERC” y “GRS COMPLEX STARTED”.
NOTA: Es posible que en arranque muestre un reply para inicializar el sysplex, responderemos “00,I”.
Una vez haya terminado de cargar. Abrimos otro Hércules para cargar el sistema ZOS2. Tenemos que hacer “POWER ON” en el Hércules del sistema ZOS2, pero todavía NO hay que hacer el LOAD.
NOTA: Tenemos que tener dos instalaciones de Hercules (en carpetas distintas), si usamos el mismo, abriendo la aplicación dos veces, es muy posible que no funcione.
En el Hércules de ZOS2 veremos mensajes similares a estos:
09:10:42.932 00000CAC HHC00414I 0:0A9A CKD file cckd/sares1.cckd: cyls 3339 heads 15 tracks 50085 trklen 56832
09:10:42.935 00000CAC HHC00721I 0:0A9B Shared: connected to file localhost
09:10:42.936 00000CAC HHC00708I 0:0A9B Shared: file localhost cyls 3339 heads 15 tracks 50085 trklen 56832
09:10:42.937 00000CAC HHC00721I 0:0A9C Shared: connected to file localhost
09:10:42.937 00000CAC HHC00708I 0:0A9C Shared: file localhost cyls 3339 heads 15 tracks 50085 trklen 56832
09:10:42.938 00000CAC HHC05063I 0:0E40 CTCE: Awaiting inbound connection :31883 <- 127.0.0.1:31880
09:10:42.938 00000CAC HHC05063I 0:0E41 CTCE: Awaiting inbound connection :31887 <- 127.0.0.1:31884
09:10:42.938 00000CAC HHC01541I HDL: dyngui.dll initiated
Ahora vamos a la consola de ZOS1 y vamos a poner online los dispositivos 0E40 y 0E41. Usaremos estos comandos:
V 0E40,ONLINE
V 0E41,ONLINE
Ahora si, hacemos el LOAD del segundo sistema. En este caso, yo voy a cargarlo con el LOADPARM 0A95DB..
Pasados unos segundos comprobamos que aparece el mensaje “SYSTEM ZOS2 IS NOW ACTIVE IN SYSPLEX PLEXHERC” y también “SYSTEM ZOS1 ASSISTING IN GRS JOIN PROCCESSING”.
Si no conecta, deberemos revisar los mensaje que hayan podido salir en Hércules. También podemos comprobar el estado de los nodos en ZOS1 con los comandos:
D XCF,PATHIN,DEV=ALL
D XCF,PATHOUT,DEV=ALL
Como no hemos modificado el miembro CONSOL00 de la PARMLIB, los mensajes de la consola de ZOS2 saldrán por la consola de ZOS1 y la consola de ZOS2 se quedará como aparece arriba (con las letras azules). No pasa nada.
Con el comando “d grs” vemos que tenemos ambos sistemas activos.
El mensaje DFHPA1909 ocurre por no haber arrancado nunca antes con un LOADPARM COLD en el que arrancase también el CICS. Con arrancar una vez, sin sysplex, con el parámetro DC, quedará solucionado. En futuras ocasiones pondremos arrancar con DB.
Vamos a “rutear” un comando a ZOS2, es decir, vamos a dar un comando desde el sistema ZOS1 al sistema ZOS2, por ejemplo el siguiente:
ro NOMBRE_SISTEMA,comando (ro se refiere a route)
ro ZOS2,d a,l
Vemos que las tareas con del sistema ZOS2. Si queremos ver las tareas de ZOS1, damos un “d a,l” normal.
Vemos que las tareas arrancadas de ZOS1 son distintas a las de ZOS2. Vamos a parar ZOS2 con el comando “ro ZOS2,s shutall”. Vamos parando el sistema como si se tratase de uno normal, teniendo en cuenta que, como solo tenemos una consola, tenemos que "rutear" los comandos al sistema ZOS2.
Ahora vamos a sacar ZOS2 del anillo. Es muy importante hacerlo porque, en un entorno real, si no lo sacas del anillo, es más que probable que haya que hacer IPL a los sistemas que comparten el anillo. Además, si intentas hacer el arranque y sale la reply que indica que va a inicializar el sysplex, si respondes “00,I”, el resto de sistemas del anillo se caerán. Mejor sacarlos del anillo SIEMPRE. Usaremos el comando:
v xcf,ZOS2,offline
Siempre generará un reply para confirmar la acción, respondemos lo siguiente:
08,SYSNAME=ZOS2
Generará otro último reply, responderemos 09,DOWN. En un entorno normal, primero se haría reset clear a la partición, después se respondería a esta reply y después se haría de nuevo el load de la partición para que arranque de nuevo. Como nosotros vamos a parar todo, respondemos DOWN.
El sistema estará completamente fuera del anillo.
Ya podremos parar ZOS1 también. Ya hemos terminado la configuración para tener dos zOS independientes en Sysplex y, aparentemente, funciona bien. Dentro de poco seguiré probando cosas en este tipo de configuración.