Instalar utilidad web y desplegar sistema z/OS
Vamos a instalar la utilidad web y en desplegar un sistema z/OS a partir de una imagen. La web sirve para administrar nuestros sistemas emulados de forma sencilla.
Además, también proporciona acceso por REST APIs para poder crear nuestros propios procesos y automatizar la administración.
Seguiremos esta parte del manual de instalación:
https://www.ibm.com/docs/en/zdt/12.0.5?topic=edition-installing-enterprise-web-server
Manual de usuario:
https://www.ibm.com/docs/en/zdt/12.0.5?topic=edition-users-guide
La herramienta web puede estar instalada en el mismo sistema que el servidor de licencias, pero, en este caso, lo haré separado.
El motivo es que prefiero no trastear con el servidor de licencias, porque esta versión es un trial y “si lo rompo”, me tocará molestar a terceras personas para que me generen una nueva licencia.
Instalar utilidad Web
Aunque los pantallazos se muestrn con el sistema operativo Ubuntu en español, para que todo funcione correctamente, Ubuntu debe estar en inglés.
Los pasos de instalación son iguales que cuando instalamos el servidor de licencias.
Copiamos el paquete de instalación a esta máquina. En mi caso, se llama ZDT_Install_EE_V12.0.5.0.tgz
Abrimos un terminal y vamos a la ruta en la que lo hemos copiado. Cambiamos los permisos a 775:
chmod 755 ZDT_Install_EE_V12.0.5.0.tgz
Descomprimimos el fichero con el comando:
tar -xzvf ZDT_Install_EE_V12.0.5.0.tgz
Ejecutamos el programa para hacer la instalación:
./ZDT_Install_EE_V12.0.5.0.x86_64
Elegir instalar la opción 1.
Elegimos la opción 1 - Install.
Después de pulsar intro (un rato…), si estamos de acuerdo con la licencia, aceptamos.
Además, nos dirá que va a crear un usuario llamado zdt para ejecutar la herramienta web.
También nos pedirá la ruta donde instalarlo y si queremos usar el puerto por defecto, 9443. En mi caso, lo dejo todo por defecto.
Ahora nos indicará si queremos cambiar la password del usuario para acceder a la herramienta web.
Por defecto, el usuario es zdtadmin y la contraseña password, sin comillas.
Voy a cambiar la contraseña.
Una vez termine la instalación, tendremos que arrancar el servidor, usaremos el comando:
/opt/ibm/zDT/bin/startServer.sh
Una vez arrancado, indicará la ruta de acceso.
En mi caso, uso la IP del sistema para acceder al servidor: https://192.168.1.32:9443/ZDTMC/login.html
Veremos la pantalla de acceso. Usaremos el usuario zdtadmin y la password que pusimos anteriormente.
Aparecerá un mensaje que nos da instrucciones en caso de tener que migrar nuestra instalación anterior a esta. En mi caso, es una instalación nueva.
Veremos las distintas opciones disponibles. No voy a explicar lo que hacen todas, ya que vienen explicadas en el manual de usuario.
Si vamos a hacer todo el “recorrido” para hacer el despliegue de la imagen ADCD en un sistema nuevo.
Almacenamiento de imágenes
Voy a empezar por la opción Almacenamiento de imágenes. Esta opción sirve para conectar con el repositorio de imágenes (discos de los sistemas que queramos) mediante FTP (puerto 21, por defecto) o SSH (puerto 22, por defecto).
Desconozco si el almacén de imágenes puede estar en el mismo servidor que la herramienta web.
En mi caso, instalaré FileZilla Server (servidor FTP) en otro PC para hacer el almacén de imágenes (el motivo es que en ese PC tengo más espacio disponible).
Una vez instalado FileZilla Server en Windows (no pongo pantallazos, es una instalación muy sencilla), voy a crear un usuario para ZD&T. Lo llamaré “ibmsys1”.
Ahora voy a crear una serie de directorios y almacenaré la versión ADCD que tengo (ADCD z/OS 2.4 Noviembre 2019).
En mi caso la ruta será “E:\zdt_ftp\adcd\november2019\volumes”. La carpeta “zdt_ftp” será la ruta raíz a la que se accederá por FTP. El nombre del resto de directorios los he puesto siguiendo el manual.
Dentro de la carpeta que contiene la versión ADCD (“november2019”, en mi caso), debemos guardar el fichero ADCDTOOLS.XML que descargamos junto al producto.
La utilidad web utiliza este fichero para obtener información de los volúmenes.
En la carpeta volumes tendré los discos del sistema.
En mi caso, tuve un error porque puse los volúmenes “A4RES1” y “SARES1” desencriptados y el resto de volúmenes los puse descomprimidos.
Es obligatorio poner los volúmenes ZPD (“A4RES1.ZPD” y “SARES1.ZPD”) y el resto comprimidos (“.gz”).
Ahora asignaré la carpeta zdt_ftp al usuario de FTP ibmsys1.
Además, yo tuve que permitir la conexión entrante de la aplicación “FileZilla Server” en el Firewall de Windows.
Si permitía la conexión solo al puerto 21, al intentar obtener los datos de las imágenes fallaba, porque al entrar en “Passive Mode” utiliza puertos al azar (aunque se pueden definir puertos personalizados).
Ahora en la herramienta web de ZD&T, vamos a la opción Almacenamiento de imágenes.
Marcamos la opción Protocolo de transferencia de archivos (FTP) y rellenamos los datos.
Guardamos y probamos la conexión. Debería aparecer el mensaje ¡La conexión es correcta!.
Volvemos a la pantalla principal y entramos en la opción ADCD de la derecha.
También, podríamos entrar directamente en la opción que aparece en la izquierda, pero la opción de la derecha explica cómo distribuir los discos para que funcione correctamente (lo que hicimos más arriba con las carpetas de Windows: E:\zdt_ftp\adcd\november2019).
Crear imagen z/OS
Comprobamos que hemos hecho bien los pasos y pulsamos en IMAGEN de ADCD.
Aquí elegiremos la versión ADCD de la que crearemos la imagen. Me ha sorprendido que permite seleccionar componentes que queramos para incluirlos o no.
Como yo quiero que este sistema ocupe poco (por temas de espacio), elegiré solo el sistema z/OS y z/OSMF. Después, pulsaremos el botón Crear imagen.
Aparecerá un mensaje confirmando la creación.
Conectar con servidor de licencias
Entramos en Licencias de emulador para definir el servidor de licencias.
Ponemos la IP del servidor de licencias (si lo tenemos instalado en el mismo sistema que la utilidad web, se puede poner 127.0.0.1).
Definir sistema de destino
El siguiente paso es definir el sistema de destino, es decir, el sistema en el que se instalará el emulador y la imagen creada, pero antes debemos instalar un servidor SSH en la máquina de destino.
En mi caso, me he creado un nuevo sistema como en el mismo Ubuntu, pero…
El idioma del sistema Ubuntu debe ser INGLÉS.
Si el sistema no está en inglés, al desplegar las imágenes en el sistema de destino, tendremos errores del tipo:
[10/08/20 23:36:36:239 CEST] 0009bae0 W Unexpected exception.
[10/08/20 23:48:52:225 CEST] 0009bd63 E is not a supported CPU architecture.
[10/08/20 23:48:52:537 CEST] 0009bd63 com.ibm.zdt.rest.v1.services.BaseJPAService E [ZDT-LOG-SEVERE] deployLinuxValidation exception: For input string: ""
Esto ocurre porque la aplicación lanza comandos y espera la respuesta del mensaje en inglés.
Después, he instalado el servidor SSH usando el comando:
apt-get install openssh-server
Una vez instalado, podemos comprobar que accedemos usando la utilidad PUTTY.
En mi caso, voy a utilizar un usuario root de la máquina de destino para distribuir los discos en la máquina de destino.
Es necesario crear el usuario ibmsys1 como no-root en la máquina de destino. Además, hay que crear el grupo zpdt y asignar el usuario ibmsys1 a este grupo.
Crear el grupo “zpdt”.
addgroup zpdt
Crear usuario “ibmsys1”. Además, le asignamos al grupo “zpdt”. Este comando crea automáticamente el directorio “/home/ibmsys1”.
useradd -m -g zpdt -s /bin/bash ibmsys1
passwd ibmsys1
Como usaré el usuario ibmsys1 para hacer el despliegue, debemos darle permisos “sudo” sin password. Hay dos opciones:
- La rápida, pero menos segura:
ibmsys1 ALL = (root) NOPASSWD: ALL
- La correcta es dar permisos a los scripts que usará:
ibmsys1 ALL=(root) NOPASSWD: /bin/chown root /home/ibmsys1/zdt/zdtInstall/zdt_modify_files_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_modify_files_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_install_dependencies_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_config_user_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_install_product_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_config_network_byRoot.sh, /home/ibmsys1/zdt/zdtInstall/zdt_cleanup_byRoot.sh, /bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_env.sh,/home/ibmsys1/zdt/zdtInstall/zdt_env.sh, /bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_start.sh, /home/ibmsys1/zdt/zdtInstall/zdt_start.sh, /bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_ipl.sh,/home/ibmsys1/zdt/zdtInstall/zdt_ipl.sh
No debe haber saltos de línea. Sustituid “/home/ibmsys1” por vuestro directorio de despliegue.
IMPORTANTE Los seis últimos comandos son obligatorios para poder parar y arrancar el sistema de forma automática.
Debemos incluir esto en /etc/sudoers. Comando:
visudo
Debemos incluirlo toda la sentencia en la misma línea. Guardamos (Control+O) y salimos (Control+X).
Volvemos a la página principal de la utilidad web y pinchamos en Entornos de destino.
Clic en Añadir entorno de destino.
El tipo de entorno será Linux.
Ponemos una etiqueta al servidor, la IP y el puerto de SSH (por defecto, 22). Marcamos Ajustar valores avanzados.
En Sintaxis del mandato de gestión de privilegios elegimos sudo. El resto de opciones las dejo por defecto.
En la última pantalla, solicitará la IP del z/OS emulado. Poned una que se ajuste con vuestra configuración. En mi caso, voy a dejar la que aparece por defecto y ya la cambiaré más adelante porque si ponemos una IP incorrecta podemos tener problemas con el despliegue de la imagen.
Durante el despliegue, se cambiará la configuración IP del sistema, si ponemos una configuración errónea, no conectaremos con el servidor de licencias y el sistema z/OS no arrancará.
El despliegue se quedará parado sin posibilidad de hacer nada, habrá que reiniciar el servidor de la utilidad web y, posiblemente, la instancia (en mi caso, hasta reinstalar la instancia).
Se añadirá correctamente.
Desplegar sistema z/OS
Volvemos a la pantalla inicial y entramos en Supervisar y Gestionar.
En la parte de las imágenes nos podemos fijar que la imagen que creamos tiene los dos componentes que elegimos y ocupa unos 151 GB.
En entornos de destino es importante fijarse en la instancia que hemos añadido. Debe aparecer con el check verde. Si apareciese un aspa roja, significa que no es posible conectar con el servidor de destino (quizá por el SSH o el puerto 22 bloqueado) y no se podrá desplegar la imagen.
Si durante un despliegue encontramos errores, podemos descargar el log (mensajes y consola) desde la opción de la imagen.
Volvemos a la página principal y entramos en Desplegar.
Elegimos la imagen y servidor de destino que queramos (si tenemos varios). Clic en Desplegar imagen.
Solicitará la forma de inicio de sesión.
Podemos elegir entre credenciales y certificado. En mi caso, credenciales. Como directorio de despliegue pondré “/home/ibmsys1”.
La contraseña para el usuario IBMUSER que usaré es “sys1”.
Usaré la siguiente configuración. Usad los parámetros que se ajusten a vuestro entorno.
Aparecerá un mensaje indicando que el proceso se ha iniciado. Podemos comprobarlo pulsando en Supervisar.
Si hacemos clic en el porcentaje, veremos el detalle.
También podremos descargar el log.
En mi caso, la primera vez terminó en error porque puse los volúmenes “A4RES1” y “SARES1” desencriptados y el resto de volúmenes los puse descomprimidos. Es obligatorio poner los volúmenes ZPD (“A4RES1.ZPD” y “SARES1.ZPD”) y el resto comprimidos (“.gz”). Una vez corregido, hacemos clic en Reanudar despliegue.
Después de desplegar los volúmenes tuve otro problema. El sistema perdía la conexión con el servidor de licencias.
Esto ocurría porque configuré una IP incorrecta (diferente a la del pantallazo) cuando definí el sistema de destino.
Este log se puede encontrar en el sistema de destino. Ruta: /home/ibmsys1/zdt/log
En zdt_start.sh.log veremos los mensajes de consola y del emulador.
Reinstalé el sistema y volví a desplegar la imagen. En esta ocasión, todo terminó correctamente. El sistema arrancará automáticamente.
Ahora ya podemos conectarnos al sistema.
- La IP será la del sistema de destino y el puerto 3270.
- El primer terminal que conectemos será consola (LU 700).
- Con el segundo (LU 701) ya podremos conectar a TSO.
Parada del sistema
Podemos parar el sistema de forma automática con la opción que se ve en la imagen.
En mi caso, no pude ejecutarlo.
Mirando el log, el error es porque no puede ejecutar los comandos:
Falta por añadir unos comandos en /etc/sudoers del sistema de destino:
/bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_env.sh,/home/ibmsys1/zdt/zdtInstall/zdt_env.sh
Ahora parará correctamente.
Volver a arrancar el sistema
Cuando queramos, podemos iniciar el sistema de nuevo.
Para iniciar el sistema automáticamente, debemos añadir los siguientes comandos en /etc/sudoers:
/bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_start.sh,/home/ibmsys1/zdt/zdtInstall/zdt_start.sh, /bin/chown ibmsys1 /home/ibmsys1/zdt/zdtInstall/zdt_ipl.sh,/home/ibmsys1/zdt/zdtInstall/zdt_ipl.sh
Ahora el sistema arrancará correctamente.