En esta entrada vamos a configurar el mismo Storage Group en dos sistemas distintos. Los discos estarán compartidos entre estos dos sistemas. La primera parte será de preparación de la prueba. Haremos una prueba, al final, para ver cómo se comporta a la hora de monitorizar el espacio a través de ISMF.
En uno de los sistemas, empezaremos inicializando los discos que queramos como STORAGEGROUP. Para hacerlo usaremos el job de la imagen, que se puede descargar al principio de la entrada.
NOTA: Hay que tener en cuenta que estos discos deben ser compartidos. En el caso de utilizar Hercules, hay que usar el parámetro SHRDPORT en el fichero de configuración.
En mi caso, he inicializado 3 discos. Hay que comprobar que son visibles desde ambos sistemas.
NOTA: Para diferenciar los sistemas, en mi caso, os podéis fijar en los pantallazos. Las IPs de los terminales son distintas.
SISTEMA 1.
SISTEMA 2.
Ahora vamos a hacer la configuración SMS. Será una configuración básica y usaré la misma para ambos sistemas.
Primero debemos saber qué fichero SCDS usa el SMS que tenemos configurado. Para ello damos el comando “D SMS”. En mi caso es SYS1.S0W1.SCDS
Entramos en ISMF. Si no vemos todas las opciones, las habilitamos. Para ello, entramos en la opción 0 – ISMF Profile.
Opción 0 – User Mode Selection.
Ponemos la opción 2 (For a Storage Administrator (SA)).
Salimos completamente de ISMF y volvemos a entrar.
Iremos entrando en las siguientes opciones:
3 Management Class
4 Data Class
5 Storage Class
6 Storage Group
Empezamos por definir una Management Class. Entramos en la opción 3.
En CDS Name ponemos el fichero que vimos con el comando “D SMS”.
En Managemet Class Name ponemos MCPRUEBA.
Elegimos la opción 3 – Define.
Ponemos una descripción y pulsamos F3 ya que vamos a mantener los parámetros por defecto. Aparecerá un mensaje confirmando que se ha salvado.
Entramos en la opción 4 – Data Class.
En CDS Name ponemos el fichero que vimos con el comando “D SMS”.
En Data Class Name ponemos DCPRUEBA.
Elegimos la opción 3 – Define.
Ponemos una descripción y, como curiosidad, cambiaremos otro parámetro.
Se trata del parámetro System Determined Blocksize. Este parámetro permite que el sistema asigne el Blocksize correspondiente a un fichero cuando no se especifica en el paso de un JCL. Por ejemplo, en un paso que usamos un programa Cobol propio y creamos un fichero donde no especificamos Blocksize. De esta forma, si ese fichero tiene esta DATA CLASS, le asignará el Blocksize óptimo.
Salimos con F3 para que se guarden los cambios y vamos la opción 5 - Storage Class.
En CDS Name ponemos el fichero que vimos con el comando “D SMS”.
En Storage Class Name ponemos SCPRUEBA.
Elegimos la opción 3 – Define.
Ponemos una descripción y salimos con F3 para guardar los cambios.
Entramos en la opción 6 – Storage Group.
En CDS Name ponemos el fichero que vimos con el comando “D SMS”.
En Storage Group Name ponemos SGSHARE
En Storage Group Type ponemos POOL.
Elegimos la opción 3 – Define.
Ponemos una descripción. Las opciones Auto Migrate y Auto Backup las pondremos a N.
Ponemos la opción DEFINE SMS Storage Group Status a Y.
Al pulsar Intro, aparecerá la siguiente pantalla. Comprobamos que esté ENABLE.
Salimos con F3 (dos veces). Aparecerá el mensaje indicando que se ha guardado.
Ahora vamos a añadir los discos que inicializamos al principio a este STORAGE GROUP.
Elegimos la opción 2 – Define. Ponemos los discos que queramos añadir.
Confirmamos que aparecen todos los discos en el campo “VOLUME SERIA NUMBER” y que ponga ENABLE. Salimos con F3. Aparecerá el mensaje indicando “ALL VOLUMES DEFINED”.
Ahora tenemos que cargar las rutinas SMS. Esto son una serie de reglas para asignar los parámetros que acabamos de definir a los ficheros que queramos.
Las reglas que usaremos son muy simples. Se pueden descargar al principio de la página.
Creamos un dataset y creamos los siguientes miembros.
NOTA: Lo que ha referencia a VTS lo omitiremos ya que no tiene importancia ahora mismo.
Rutinas ACS
DATA CLASS – DCPRUEBA.
En este caso, aplicará la Data Class DCPRUEBA a aquellos dataset cuyo HLQ (primer calificador) sea SHR.
MANAGEMENT CLASS – MCPRUEBA.
En este caso, aplicará la Management Class MCPRUEBA a aquellos dataset cuyo HLQ (primer calificador) sea SHR.
STORAGE CLASS – SCPRUEBA.
En este caso, aplicará la Storage Class SCPRUEBA a aquellos dataset cuyo HLQ (primer calificador) sea SHR.
STORAGE GROUP – SGPRUEBA.
En este caso, aplicará la Storage Group SGSHARE a aquellos dataset cuyo HLQ (primer calificador) sea SHR.
Una vez tengamos estos cuatro ficheros, volvemos a ISMF. Entramos en la opción 7 para especificar las rutinas ACS.
Elegimos la opción 2 – Translate. Ponemos el fichero CDS usado anteriormente.
En SCDS Name, ponemos el fichero usado anteriormente.
En ACS Source Data Set, ponemos el dataset donde hemos guardado las rutinas.
En ACS Source Member, pondremos los miembros creados: MCPRUEBA, DCPRUEBA, SCPRUEBA y SGPRUEBA.
En Listing Data Set, pondremos un dataset de salida para el resultado (no tiene que existir).
En este caso, el return code será 0. Hacemos lo mismo con el resto.
Ahora vamos a validarlas para comprobar que no hay errores. Entramos en la opción 3 – Validate.
Rellenamos los datos y pulsamos intro.
En mi caso, aparecerán unas advertencias que ahora mismo no son relevantes.
Ahora activamos la nueva configuración. Desde el menú principal, entramos en la opción 8 – Control Data Set.
Elegimos la opción 5 – Activate.
Marcamos Perfom Activation y pulsamos Intro.
Aparecerá un mensaje indicando que se ha cargado la nueva configuración.
Para confirmar que se ha cargado la nueva configuración, vamos a la opción 6 – Storage Group desde el panel principal de ISMF.
En CDS Name, ponemos ‘ACTIVE’ para que utilice la configuración actual. Buscamos el storage group creado anteriormente.
Aparecerá el storage group con todo el espacio libre. Para ver los discos, ponemos el comando LISTV o LISTVOL.
Vemos los tres discos.
Ahora definimos la misma configuración SMS en el otro sistema a través de ISMF.
Una vez hecho, confirmamos que, en el otro sistema, tenemos los mismos datos para el SGSHARE.
Ahora empieza la prueba que se planteaba en esta entrada.
En el SISTEMA 1, vamos a crear un dataset que vaya a estos discos. Usaremos los siguientes datos.
Comprobamos la información del fichero creado.
Ahora vamos a buscar el espacio usado en ISMF. Lo buscaremos en ambos sistemas y vemos la diferencia.
SISTEMA 1. Espacio libre 90%. En principio, es correcto.
SISTEMA 1. Estado de los discos.
SISTEMA 2. Al volver a buscar el SG, este sistema “no se ha enterado” de que el espacio ha bajado.
SISTEMA 2. El estado de los discos si se ha actualizado, pero el espacio del panel principal no.
Ahora vamos a crear un fichero aún más grande pero en el SISTEMA 2.
Veremos que ocurre con el SISTEMA 1.
Ahora tenemos estos ficheros.
Ahora comprobamos el estado en ISMF.
SISTEMA 2. El espacio libre se ha actualizado y está al 63%.
SISTEMA 2. El estado de los discos.
Ahora vamos al otro sistema.
SISTEMA 1. Al buscar de nuevo el SG, saliendo del panel y volviendo a entrar, sigue apareciendo un 90% libre, cuando, en realidad, es de un 63%. Es decir, no se ha enterado del cambio.
SISTEMA 1. Al buscar los discos, aparecen con la información correcta.
Si usamos el comando "D SMS,SG(SGSHARE)", la información también será incorrecta en el SISTEMA1.
SISTEMA 1
SISTEMA 2
Como conclusión de esta prueba se puede decir que hay que tener cuidado con monitorizar SG compartidos entre varios sistemas a través de ISMF. Solo veremos la información real del espacio si el sistema en que lo estamos mirando ha sido el último en modificar ese SG. Quizá haya alguna forma de que esta información se actualice que yo desconozco.
Otra forma de monitorizar este tipo de SG podría ser mediante un DCOLLECT por batch para sacar la información directamente de los discos.
¡Espero que os haya gustado y os sirva!