Publicado el Sábado 16 de Febrero del 2008 @ 20:23 por Kujaku.
La anterior entrega explicaba a nivel introductorio lo que es un AD/CD y su aplicación. En esta, explicaremos como preparar el PC que va a convertirse próximamente en un mainframe.
Partiremos de un PC con GNU/Linux. En mi ejemplo, he elegido Debian, pero los comandos que voy a dar lo mismo valen para Ubuntu, ya que voy a utilizar el conocido comando apt para instalar software.
También parto desde el hecho que ese PC está conectado a una LAN por una tarjeta de red y que dicho PC tiene su IP fija y su acceso a Internet, y, evidentemente, si queremos usar una consola 3270 necesaria para Hercules, necesitamos tener algún sistema X-Window funcionando en nuestro equipo aunque no es del todo obligatorio.
Pues bien, si hacemos un apt-get install hercules, nos instalará el emulador Hercules. Así de sencillo.
Si hacemos un apt-get install x3270, instalaremos el emulador de terminal 3270 para GNU/Linux. Si no queremos tener X-Window, podríamos instalar un emulador de terminal en modo texto llamado c3270, de modo que con un apt-get install c3270 lo tendríamos instalado y así prescindir del entorno X-Window.
De acuerdo, si Hercules se ha instalado bien, deberíamos tener un directorio llamado /etc/hercules y en su interior, un archivo llamado hercules.cnf. Ese es el archivo de configuración, y ese fichero viene por defecto. Lo renombraremos para tenerlo guardado por si acaso, y añadiremos el nuestro con una información similar a esta:
# # Configuration file for Hercules & IBM ADCD z/OS 1.6 # CPUSERIAL 000000 # CPU serial number CPUMODEL 9672 # CPU model number MAINSIZE 768 # Main storage size in megabytes XPNDSIZE 0 # Expanded storage size in megabytes CNSLPORT 23 # TCP port number to which consoles connect NUMCPU 1 # Number of CPUs TZOFFSET +0100 OSTAILOR OS/390 # OS tailoring PANRATE FAST # Panel refresh rate ARCHMODE ESAME # Architecture mode S/370, ESA/390 or ESAME PGMPRDOS LICENSED # Allow OS/390 and Z/OS systems to run # # IPL parameter # LOADPARM 0A82CS.. # Device list #--- ---- -------------------- 0700 3270 0701 3270 0702 3270 0900 3270 0901 3270 0A80 3390 /ZOS16/s6res1.a80 0A81 3390 /ZOS16/s6res2.a81 0A82 3390 /ZOS16/os39m1.a82 0A83 3390 /ZOS16/s6db21.a83 0A84 3390 /ZOS16/s6cic1.a84 0A85 3390 /ZOS16/s6dis1.a85 0A86 3390 /ZOS16/s6dis2.a86 0A87 3390 /ZOS16/s6uss1.a87 0A88 3390 /ZOS16/s6dis3.a88 0A89 3390 /ZOS16/s6ims1.a89 0A8A 3390 /ZOS16/s6was1.a8a 0A8B 3390 /ZOS16/s6was2.a8b 0A8C 3390 /ZOS16/sares1.a8c 0A8D 3390 /ZOS16/s6dis4.a8d 0A8F 3390 /ZOS16/saipl1.a8f 0E20.2 CTCI 192.168.101.8 10.0.0.2
Como habréis podido comprobar, la parte de arriba hace referencia al tipo de máquina, modelo, etc. Podéis utilizar este fichero como base, o ir a la web del emulador Hercules e investigar que significa cada opción y que valor poner.
Como también podéis ver, he hecho una lista con las direcciones de los discos y la carpeta donde se encuentran, así como los terminales, el CTC y luego, el parámetro LOADPARM, que contiene 0A82CS.. el cual significa que el disco IODF es el 0A82 y el parámetro de arranque es CS (Cold Start) debido que existe un miembro LOADCS en SYS1.IPLPARM. Todo esto está documentado en las instrucciones de los CDs, así como todos los parámetros posibles que se pueden poner.
Antes de arrancar hercules, tomad especial atención al parámetro CNSLPORT, ya que si ponemos el 23 (el telnet), debemos estar seguros que no tenemos ningún servidor telnet funcionando en nuestra máquina. He puesto el 23, porque de ese modo, las sesiones x3270 se configuran automáticamente y no hay que pasarle datos del puerto de escucha y demás.
Bueno, pues con todo esto, ya está listo. Ejecutando hercules como root, arrancará el emulador. Si no encuentra el fichero de configuración, deberemos escribir:
hercules –c /etc/hercules/hercules.cnf
A partir de este momento, en ese terminal de Debian estará el emulador. Si tenemos X-Window, es el momento de volver a él con un Ctl+Alt+F9 y lanzar el emulador x3270 con una conexión a localhost. En ese momento, debería parecer que el x3270 está conectado a Hercules con un mensaje, y diciendo el número de terminal y la dirección del terminal (como es el primero, debería tener la dirección 0700).
Si volvemos a la consola donde tenemos el hercules funcionando, basta con escribir IPL 0A80 y veremos como empezarán a salir mensajes y cómo el contador de instrucciones de debajo a la derecha empieza a funcionar.
Entonces, si ahora vamos a la consola x3270 que hemos abierto anteriormente, deberían empezar a salir un montón de mensajes de inicio del z/OS. El texto debe ser de color turquesa, que corresponde al Nucleus Initialization Program o NIP. En este punto, yo os remitiría a las instrucciones del ADCD donde indica cómo y qué responder a los posibles mensajes que vayan apareciendo. El primero probablemente sea para establecer el Sysplex ADCDPL, por lo que responderemos r 00,I y veremos como va progresando el arranque de la máquina.
Una vez arrancada y cargados los programas de inicialización, la pantalla cambiará de texto turquesa a texto verde, los cuales los mensajes de advertencia o preguntas aparecerán en blanco y los mensajes de error, en rojo. Nuevamente, os remito a las instrucciones del ADCD por si aparecen preguntas (por ejemplo, el tipo de arranque del JES2, etc).
En este punto, podéis abrir una nueva sesión x3270, la cual ha tenido que pillar la dirección 0701, la siguiente del rango que Hercules nos da. Al de un rato, esa pantalla debe cambiar a un color de texto rojo y un banner de z/OS.
Ahora, ya estamos preparados para hacer LOGON en vuestra propia máquina mainframe por primera vez en vuestras vidas en casa: El usuario “root” es IBMUSER y su password SYS1. Y a partir de aquí a aprender a usar un poco el ISPF, que es el editor TSO que se utiliza para escribir JCLs, submitirlos, etc.
NOTA con respecto al arranque CS: La primera vez que lo ejecutéis, SIEMPRE debéis arrancar en modo Cold Start para permitir formatear los SPOOLes del JES2, ya que, de lo contrario, dará un casque gordo. Una vez hecha la IPL bien, el resto de las veces, en función de lo que queráis arrancar (DB2, CICS, etc), podéis cambiar el LOADPARM del fichero de configuración del Hercules por DC (ColdStart de CICS y DB2) o DB(Warm Start de DB2 y CICS) y así arrancar todos los productos.
En la siguiente entrega, explicaré como configurar una tarjeta de red virtual con el fin de que el z/OS se comunique directamente por la red sin pasar por el Hercules, con el fin de poder conectarlos al DB2, CICS, etc, por TCP/IP nativo.
Sigo sin comprender muy bien el sentido de tener algo así en casa, pero para “investigar” me parece algo precioso y en lo que merece la pena “perer” un fin de semana ocioso.
Gran trabajo ;)
Magnifico hilo de posts… enhorabuena!
He seguido tus instrucciones al pie de la letra y después del “IPL 0A80″ me muestra este mensage:
* IXC420D REPLY I TO INITIALIZE SYSPLEX ADCDPL, OR R TO REINITIALIZE XCF. REPLYING I WILL IMPACT OTHER ACTIVE SYSTEMS.
Y me da error al introducirle “R 00,I”, con “I” o “R” también y los mensajes de error respectivos son:
HHCPN144E Invalid operand: 00,I
HHCPN031E Missing device number
HHCPN144E Invalid operand:
Según el lookat de IBM no existen esos códigos, solo he podido cosultar la descripción del código de información IXC420D ( el del mensaje “REPLY I…” ).
¿Tienes idea de que estoy haciendo mal?
Gracias!
Esos replys tienes q hacerlos en la session TN3270 (consola z/OS) y no en control panel de hercules.
Gracias micol, ya está levantado :)
Hola,
Estoy intentando emular un 390 con los ADCD, y tras unas horitas
he conseguido hacerlo rular, pero al logarme en el TSO no me reconoce la pass
SYS1, (user root) no sé si tendrá algo que ver que no he puesto todas las DASD,
sólo las que se han terminado de descargar.
0A80 3390 /ADCD_v1.6/Z6RES1.A80
0A81 3390 /ADCD_v1.6/Z6RES2.A81
0A82 3390 /ADCD_v1.6/Z6SYS1.A82
0A83 3390 *
0A84 3390 *
0A85 3390 *
0A86 3390 /ADCD_v1.6/Z6DIS2.A86
0A87 3390 *
0A88 3390 *
0A89 3390 *
0A8A 3390 *
0A8B 3390 *
0A8C 3390 *
0A8D 3390 *
0A8F 3390 /ADCD_v1.6/Z6IMS1.A8F
Por otro lado tengo una imagen que acaba en 8E pero en tu fichero
de configuración, no hay ninguna dirección que coincida pasas directamente
a la 8F, crees que debo añadirla o paso de ella?
Gracias y Saludos
Hola,
otra cosilla que se me ha ocurrido, se te revoca la pass
en el ADCD?
Gracias y saludos
bueno instale el hercules tambien los 16 cd de ADCD y todo funciono segun la pagina
si inicia el hercules tambien la consola de vista
llegue hasta el logueo
aparece de color rojo el banner ZOS
escribi
LOGON IBMUSER
de ahi me llevo a otra pagina donde esta
PASSWORD NEW PASSWORD
pero na no puedo loguearme
pongo sys01 o SYS01 y na
porfavor no quiero quedarme aqui ayudenme
ya se k era , bueno parece k los cds k obtube no usan el password sys1 si no user user = ibmuser
password = ibmuser
pero despues el mainframe te pide k lo cambies ahora ya ingrese pero que editor tengo que usar para programar
vista tn350 ???
tengo un amigo que usa roscoe pero no se como conseguirlo
o con el vista tn350 se puede programar en cobol
Para programar en cobol tienes que hacerlo desde el editor de ISPF.
Buenas,
¿Cómo se definen más consolas 3270? ¿En hércules o en HCD (espero que no, por dios). Me explico, en el adcd 1.4 sólo tengo console en la 0700, las siguientes aparece el tso. Si le hago un vary devuelve unit ref. invalid lo que me hace sospechar que no han sido definidas más consolas (D C devuelve una, la 01). Me gustaría al menos otra consola que pueda hacerse master en caso de error I/O y otras cosillas excepcionales. Como no sé por qué IBM tiene caídos los servers publib y publibz encontrar documentación se hace bastante dificilillo. Si sabéis de algún artículo, redbook o ejemplo explícito os lo agradecería.
Hola Elbing:
Hace mucho tiempo que no me pongo con el hercules,pero creo que para poder definir mas consolas las tienes que incluir en el fichero hercules.cnf . En el que ha puesto kujaku tiene varias consolas definidas. Con arrancar con este fichero y ponerlas online creo que valia.
ya me contaras
# Device list
#— —- ——————–
0700 3270
0701 3270
0702 3270
0900 3270
0901 3270
0A80 3390 /ZOS16/s6res1.a80
0A81 3390 /ZOS16/s6res2.a81
0A82 3390 /ZOS16/os39m1.a82
0A83 3390 /ZOS16/s6db21.a83
0A84 3390 /ZOS16/s6cic1.a84
0A85 3390 /ZOS16/s6dis1.a85
0A86 3390 /ZOS16/s6dis2.a86
0A87 3390 /ZOS16/s6uss1.a87
0A88 3390 /ZOS16/s6dis3.a88
0A89 3390 /ZOS16/s6ims1.a89
0A8A 3390 /ZOS16/s6was1.a8a
0A8B 3390 /ZOS16/s6was2.a8b
0A8C 3390 /ZOS16/sares1.a8c
0A8D 3390 /ZOS16/s6dis4.a8d
0A8F 3390 /ZOS16/saipl1.a8f
0E20.2 CTCI 192.168.101.8 10.0.0.2
Buenas,
Gracias por tu respuesta, pero en efecto tengo ya la 702 en el cnf y en ella también sale el TSO. He estado viendo en el CONSOL00 del ADCD.ZOSV14S.PARMLIB que la 701 viene definida como ALL y no como MASTER. Probaré a redefinirla (al menos la parte chunga viene montada). De momento ando intentando vaciar el logrec.
De nuevo gracias.
Buenas,
Sobre de las dos cosillas; he encontrado un jobito de lujo para vaciar el logrec en el cookbook de z/OS para newbies y otras yerbas:
//OGDENE JOB 1,OGDEN,MSGCLASS=X
//EREP EXEC PGM=IFCEREP1,PARM=’CARD’
//SERLOG DD DISP=SHR,DSN=SYS1.LOGREC
//DIRECTWK DD UNIT=SYSDA,SPACE=(CYL,5,,CONTIG)
//EREPPT DD SYSOUT=*,DCB=BLKSIZE=133
//ACCDEV DD DUMMY
//TOURIST DD SYSOUT=*,DCB=BLKSIZE=133
//SYSIN DD *
SYSUM
ACC=Y
ZERO=Y
/*
Acerca de la segunda consola, en la parmlib del ADCD viene definida la 908 como MASTER, pero también sale el tso. Así que haciendo un simple:
V NET,INACT,ID=LCL908
Obviamente tras haber añadido el 908 3270 al cnf de hércules, sacamos el tso de ahí y después ya podemos dar el vary:
V 908,OFFLINE
V 908,CONSOLE
Que quizá el offline sobra, pero las viejas costumbres…
En IBM solemos definir mínimo 4 consolas de operador y dos de print (para la gentecilla de periferia) por cliente, usualmente incluso 8 dependiendo del cliente y sus propios operadores. Claro que se accede por IP especificando luname, etc…
En fin espero que a alguien le sirva si lidia con z/OS sobre Hercules.
Saludos, precioso blog.
Buenas de nuevo,
Esta mañana escribí otro post que veo que no se ha quedado, temo repetirme.
En fin, resolví lo de las consolas, en la parmlib de ADCD viene definida la 908, simplemente hay que meterla en el conf de la manera habitual:
908 3270
Aún así se verá el TSO, así que hay que sacarlo de esa consola:
V NET,INACT,ID=LCL908
V 908,OFFLINE
V 908,CONSOLE
Y ya tendremos la otra consola de operador.
Un saludo y gracias.
Elbing, acabo de montar el hercules y la pregunta que aqui respondes me la estaba planteando de como abrir otra consola. Lo probaré. Gracias por la respuesta¡¡¡ Un saludo
d5rkz
Alkanet, te respondo por aqui un poco tarde. Claro que se revoca la password si la introduces mal 3 veces. Esto es como un host real. De todas formas tienes un menú de RACF en el que seguro no te será dificil reactivar tu usuario, yo el mio nada más conectarme le cambia la pass. Un saludo.
Buenas de nuevo.
Me alegra saber que ha sido de ayuda. Apunto que los que usamos linux y el x3270, para no abrir 6 TSO’s antes de poder acceder a la 908, lo normal es arrancar el x3270 de la manera:
x3270 -tn IBM-3279-4-E@lcl908
Con lo que nos abrirá el terminal “en color”.
A los que se han vuelto majaras buscando la manera de vaciar el logrec sin cargarse el z/OS hay un “jobito” (jerga de mi jefe en IBM) de lujo en el cookbook de z/OS que podemos guardar v.g como P390.EREPCLR.CNTL y mandarlo en submit desde TSO (ISPF opción Command):
//OGDENE JOB 1,OGDEN,MSGCLASS=X
//EREP EXEC PGM=IFCEREP1,PARM=’CARD’
//SERLOG DD DISP=SHR,DSN=SYS1.LOGREC
//DIRECTWK DD UNIT=SYSDA,SPACE=(CYL,5,,CONTIG)
//EREPPT DD SYSOUT=*,DCB=BLKSIZE=133
//ACCDEV DD DUMMY
//TOURIST DD SYSOUT=*,DCB=BLKSIZE=133
//SYSIN DD *
SYSUM
ACC=Y
ZERO=Y
/*
Y una cosilla más. Si apuntáis el navegador (suponiendo que hayáis hecho el tuto sobre red y podáis conectar al host) al server-web del z/OS, el usuario es webadm, pero de la pass ni idea, así que como ibmuser (dueño y señor de ese usuario) cambiadle en los paneles del RACF la pass al webadm y tened una versión de java instalada para el navegador. Así podréis ver el WebSphere y el MQ famoso para el que tantos manuales hay.
Hale, que os divirtáis.
hola tengo instalado emulador hercules y mvs3.8j pero no se como iniciar
cobol ya que quiero aprender ha programar cobol host
Hola, la verdad que el artículo es excelente! Logré hacer andar mi “mainframe personal” en casa pero ahora tengo un gran problema: ¿No se cómo hacer un shutdown? Sería alguien tan amable de explicarlo por acá, por favor. Muchas gracias a todos.
hola, estoy intentando conectar 4 PC por medio de Telnet, pero unicamente puedo accesar con 2, alguien sabe en donde puedo configurar el numero de PC que pueden accesar simultaneamente. Gracias de antemano.
que tal amigos,
ante nada queria felicitarlos por la informacion que brindan, y queria hacerles llegar dos consultas:
1)- ¿como hago para habilitar el Hilite on en un hercules con sistema operativo ZOS , ya que he intentado con el comando hilite on, hi on, etc pero nada sucede.
2)- ¿donde puedo conseguir algun editor de ficheros que me permita poner una copy como layout para poder cargar datos al ficheros y que al momento de subirlo aq hercules no tenga problemas con el COMP y COMP-3? o sino
¿si alguien sabe de algun lugar donde pueda descagr alguna herramienta al estilo file-id o startool que corra bajo hercules?