• EMUFRAME

    EMUFRAME

    Desde 2015, enseñando sobre el sistema operativo z/OS de IBM en esta web.

    z/OS se utiliza en máquinas llamadas Mainframe y es utilizado por grandes empresas (bancos, aseguradoras, hoteles, etc.).

    Aquí aprenderás a instalar y configurar productos relacionados con z/OS.

     

  • Emulación de Mainframe y z/OS

    Emulación de Mainframe y z/OS

    Para realizar el contenido, utilizo el producto de IBM llamado z/Development and Test Environtment Personal Edition.

    Este software permite emular un Mainframe y así poder utilizar z/OS para aprender.

     

  • z/OS - ADCD

    z/OS - ADCD

    ADCD es una distribución de z/OS que contiene productos de IBM como IMS, DB2, CICS, ZOWE, TWS, NetView, System Automation, etc.

    Así tenemos un entorno de desarrollo o de aprendizaje, como es mi caso, muy completo.

     

z/OS Container Extensions - Crear y borrar instancia zCX

z/OS Container Extensions - Crear y borrar instancia zCX

En esta ocasión, voy a empezar a aprender sobre z/OS Container Extensions. Esto permite ejecutar aplicaciones Linux en z/OS (arquitectura s390x). Es una instancia de un sistema Linux configurado para ejecutar Docker. En z/OS lo veremos como una STC más, pero podremos instalar aplicaciones Docker a través de SSH.

Como es de las primeras veces que voy a probar esto, posiblemente, alguien con más conocimientos lo haría mejor, pero lo importante es aprender para ir haciéndolo mejor.

Además, es una buena forma de aprender a trabajar con Docker “sin salir” del mundo z/OS.

El proceso para crear y borrar una instancia de zCX se hace mediante Workflows de z/OSMF. Es un proceso bastante automático que, si lo hacemos bien desde el principio, no tendremos que intervenir. Debemos tener en cuenta el espacio necesario (según lo que vayamos a instalar en la instancia, pueden ser necesario 40GB o más), los recursos que asignaremos a esta instancia (CPU, memoria) y también hay que asignar una IP virtual a esta instancia (DVIPA para zCX).

Primero explicaré las acciones previas que realicé en el sistema.

En el fichero de configuración del emulador, definí 3 procesadores zIIP. Estos procesadores son gratuitos con la licencia.

 001 watermark

 

Cuando arranquemos el sistema, veremos el mensaje “FREE-ZIIP”.

002 watermark

 

En el caso de mi sistema, también ajusté un poco las rutinas ACS (de forma simple) para la asignación las clases SMS correspondientes. Esto ya depende de cada sistema. Yo dejo los cambios que hecho por si yo mismo lo necesito cuando actualice el sistema a una nueva versión de ADCD.

003 watermark

 

La DATACLAS “CXDC” está definida con el tipo de data set “Extended”.

004 watermark

005 watermark

006 watermark

 

Ahora voy a mostrar la configuración de comunicaciones. Evidentemente, cada uno tendrá que ajustarla a su instalación. Esta configuración es válida para ZDT.

La IP que tendrá la instancia ZCX será 10.1.3.10. 006a watermark

 

También dejo cómo tengo definido el perfil de TCPIP.

006b watermark

 

Además, en mi router añadí una regla para poder conectar al sistema ZCX desde otro ordenador de mi red. La puerta de enlace es la IP que tiene el sistema Ubuntu en el que está instalado el emulador.

007 watermark

 

También en sistema en el que tengo instalado del emulador puse una ruta para llegar a las IPs 10.1.3.* usando el adaptador tap0 (que crea el emulador).

sudo ip route add 10.1.3.0/24 dev tap0

008 watermark

 

Estos son los pasos previos de configuración que hice. También añadí los discos correspondientes para tener el espacio necesario para crear la instancia.

Vamos a empezar a crear la instancia. Para ello, vamos a z/OSMF.

En Workflows, vamos al menú “Actions” y elegimos “Create Workflow…

009 watermark

 

Elegimos el sistema y como fichero de Workflow y fichero de variables usaremos los siguientes:

/usr/lpp/zcx_zos/workflows/provision.xml

/usr/lpp/zcx_zos/properties/workflow_variables.properties

Para el fichero “workflow_variables.properties”, yo lo copiaré a otra ruta y utilizaré ese porque puede ser que en el otro fichero no nos deje modificar algunas variables:

/var/zcx_zos/workflow_variables.properties

010 watermark

 

En mi caso, me asigno todas las tareas a mi usuario, ya que yo haré todas. Pinchamos en Finish.

011 watermark

 

Entramos en la primera tarea.

012 watermark

 

Tenemos que ir rellenando los datos según lo que hayamos planificado. Pondré los que yo usaré.

013 watermark

 

En mi caso, usaré 8GB de memoria porque así lo requiere una aplicación que instalaré en entradas posteriores. Cada uno que lo ajuste según sus necesidades.

014 watermark

 

La IP que usaré es la que definí en pasos anteriores (10.1.3.10).

015 watermark

 

Voy a poner 8GB de espacio para el “ROOT” porque así lo requiere una aplicación que instalaré en entradas posteriores.

Indicaré la STORCLAS CXROOTSC

016 watermark

017 watermark

018 watermark

 

Aquí indicaré 40GB por requerimiento del software que instalaré más adelante.

019 watermark

020 watermark

021 watermark

022 watermark

 

En los siguientes parámetros necesitaremos indicar una “key” pública para acceder por SSH al sistema. Podemos generar una nueva en el sistema cliente con el comando:

ssh-keygen -t rsa -b 4096 -C "Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

023 watermark

 

Podemos descargar el fichero para facilitar la copia de la clave:

ftp 192.168.1.12

cd /u/ibmuser/.ssh/

get id_rsa.pub

024 watermark

 

Vamos a la siguiente parte de las variables.

025 watermark

 

Por último, salvamos y finalizamos.

026 watermark

 

Ya tenemos todos los parámetros definidos. En teoría, el resto de los pasos deberían ser automáticos, si no fallan.

Seleccionamos el segundo paso y vamos al menú Actions.

027 watermark

 

Elegimos la opción Perform.

028 watermark

 

Marcamos las siguientes opciones para que ejecute todos los pasos de forma automática y que use el fichero de variables de entrada.

029 watermark

 

Todo terminará correctamente. Tendremos que entrar en el último paso para ver el comando de arranque de la instancia.

030 watermark

 

Con el siguiente comando arrancaremos la instancia:

S GLZ,JOBNAME=ZCX001,CONF='/global/zcx/instances/ZCX001/start.json'

Pulsaremos en Finish.

031 watermark

 

Daremos el comando en SDSF o consola.

032 watermark

 

Empezará a arrancar, a formatear los ficheros, a hacer IPL de la instancia…

033 watermark

034 watermark

 

Cuando arranque la instancia, podremos conectar.

035 watermark

 

Vamos a OMVS (TSO OMVS) y pondremos el comando:

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. -p 8022

036 watermark

 

Ya hemos accedido. Ahora daré un comando para comprobar que funciona, por ejemplo, “docker ps” para ver lo que hay en ejecución.

037 watermark

 

Veremos que está en ejecución el proceso de ssh. Salimos con exit.

038 watermark

 

Hay que tener en cuenta que, durante el proceso de crear la instancia, se montó mediante el Workflow un ZFS. Debemos tenerlo en cuenta para añadirlo en la PARMLIB y que se monte después de los IPLs.

039 watermark

 

Ahora voy a mostrar cómo borraríamos la instancia.

Empezamos entrando de z/OSMF y entramos en la opción “Workflows”.

Desplegamos el menú “Actions” y elegimos “Create Workflow”.

040 watermark

 

Tendremos que elegir el sistema sobre el que aplicaremos el Workflow y elegir el workflow a aplicar.

Los workflows de zCX, por defecto, están en la ruta “/usr/lpp/zcx_zos/workflows/”. En este caso, usaré:

/usr/lpp/zcx_zos/workflows/deprovision.xml

En este caso, no es necesario indicar un fichero de variables de entrada (Workflow variable input file).

041 watermark

 

En mi caso, marco “Assign all steps to owner user ID” para no tener que asignármelos luego. Pulsamos “Finish”.

042 watermark

 

Veremos todos los pasos que tiene el workflow. Debemos entrar en el primero.

043 watermark

 

Vamos a la pestaña “Perform”.

Indicamos el nombre de la instancia y la ruta donde creamos las instancias. En mi caso:

ZCX001

/global/zcx/instances

Pulsamos en Save.

044 watermark

045 watermark

 

Pulsamos Finish.

046 watermark

 

El segundo paso es para parar la instancia, si ya está parada, lo podemos dar por completo. Entraré para mostrarlo.

047 watermark

 

En SDSF o consola, daríamos el comando de parada, en mi caso:

P ZCX001

Una vez parada, pulsamos en Finish.

048 watermark

 

Ahora vamos a ejecutar los pasos restantes de forma automática. Seleccionamos el checkbox del paso 3. Vamos al menú “Actions”.

049 watermark

 

Elegimos “Perform”.

050 watermark

 

En este caso, debemos elegir “Always keeps existing values” y pulsamos OK. Se empezarán a ejecutar todos los pasos restantes.

051 watermark

 

En mi caso, ya se ejecutó todo directamente. Todos los jobs terminaron bien y no tuve que hacer nada más.

052 watermark

 

Además, si miro en TSO, aparecerán los mensajes indicando que los jobs han ido bien.

En menos de 1 minuto se ha hecho todo.

053 watermark

 

Espero que os haya gustado esta entrada para crear y borrar una instancia zCX. En próximas entradas, veremos cómo utilizar Docker en zCX y arrancar productos.

 

 

Publish modules to the "offcanvs" position.