# HERCULES: LAB 2 INSTALLATION DE ZOS2.10 ADCD DANS UNE IMAGE COW ^ Objet | Installation ADCD zos dans une image COW | ^ Niveau requis | débutant, avisé | ^ Débutant, à savoir | | ^ Suivi | :DONE: | {{INLINETOC}} ## Etape 1: Préparation hyperviseur/workstation ### Workstation: Installer git rexx x3270 et build-essentials La workstation est un poste utilisateur depuis lequel on pourra se connecter au système Z ``` $ sudo apt-get install git build-essential libtool automake autoconf libregina3-dev screen x3270 ``` ### Hyperviseur: Installer hercules Installation des RPM prédéfinis: * Télécharger le fichier RPM ``` $ scp user@xx.xx.xxx.xx:/data/jacques.nougat/repos/support/centos/noarch/hercules-3.07-1.x86_64.rpm . ``` *Installer le RPM: ``` rpm -Uvh hercules-3.07-1.x86_64.rpm Préparation... ########################################### [100%] 1:hercules ########################################### [100%] ``` Cela placera les exécutables Hercules dans /usr/bin et les bibliothèques dynamiques dans /usr/lib et /usr/lib/hercules, que l'on peut exécuter n'importe où. Les exemples de fichiers de configuration seront placés dans /etc/hercules et le jeu de cartes IPLable de l'utilitaire autonome ZZSA (zzsacard.bin) sera placé dans /usr/share/hercules. ### Tester l'installation de hercules Dans l'hyperviseur ``` $ hercules -f /etc/hercules/sample.cnf ``` Dans un terminal depuis la workstation ``` c3270 localhost:3270 ``` ça devrait ressembler à ça: ``` /=======================================================================\ | | | Hercules Version : 4.00 | | Host name : MS | | Host OS : DEBIAN | | Host Architecture : x86 | | Processors : MP=2 | | LPAR Name : HERCULES | | Device number : 0:001F | | Subchannel : 0004 | | | | HHH HHH The S/370, ESA/390 and z/Architecture | | HHH HHH Emulator | | HHH HHH | | HHH HHH EEEE RRR CCC U U L EEEE SSS | | HHHHHHHHHHHHHHHH E R R C U U L E S | | HHHHHHHHHHHHHHHH EEE RRR C U U L EEE SS | | HHHHHHHHHHHHHHHH E R R C U U L E S | | HHH HHH EEEE R R CCC UU LLLL EEEE SSS | | HHH HHH | | HHH HHH | | HHH HHH My PC thinks it's a MAINFRAME | | | | Copyright (c) 1999-2011 Roger Bowler, Jan Jaeger, and others | | | \=======================================================================/ ``` pour sortir de la console, utiliser `CTRL-]` et taper `quit` ## Etape 2: Obtenir le système de développement d'applications (ADCD) ADCD est créé pour fournir aux éditeurs de logiciels indépendants qualifiés le dernier système z/OS ainsi que les produits middleware associés au dernier niveau de maintenance disponible. Le système OS/390 DEMOpkg repose sur douze volumes DASD. ### Description des disques fournis ^ Volumes ^ DASD Volume ^ Description ^ | required Base | DMTRES | Base operating system products | | ::: | DMTCAT | Master catalog, page, spool, IODF | | ::: | DMTOS1 | Additional Base products | | ::: | DMTOS2 | Additional Base products | | ::: | DMTOS3 | Additional Base products | | optional Data Management | DMTD01 | Database, Transaction Processing, and Application Development products | | ::: | DMTD02 | Additional Data Management products | | ::: | DMTD03 | Additional Data Management products | | ::: | DMTD04 | Additional Data Management products | | optional Tivoli | DMTP01 | Tivoli products | | ::: | DMTP02 | Additional Tivoli products | | ::: | DMTP03 | Additional Tivoli products | ### Préparer le système de fichiers. Une fois le téléchargement terminé appliquer les changements suivants: * décompresser les images iso (tout dans le dossier racine cela rendra plus facile l'extraction des archives ZIP des disques) ``` for FILE in `ls *.zip`; do 7z e $FILE ; done ``` * décompresser les archives ZIP des disques ``` for FILE in `ls *.ZIP`; do 7z x $FILE ; done ``` * dans le dossier `os390/mvs` créer le fichier hercules.cnf avec le contenu suivant ``` cat <Paramètres disponibles de LOADPARM dans hercules.cnf | Pour n'exécuter que les volumes de base, | LOADPARM = 01C1DP.1 | | Pour éxécuter également les volumes de gestion de données, | LOADPARM = 01C1DM.1 | | Pour exécuter également les volumes Tivoli | LOADPARM = 01C100.1 | ## Etape 3: Création de la VM Dans l'exemple on utilise le mode «Copy-On-Write» (COW), car: * aucune modification n’est appliquée à l’image disque d'origine, toutes les modifications sont enregistrées dans un fichier séparé en préservant l'image d'origine. * plusieurs fichiers COW peuvent pointer sur la même image pour tester plusieurs configurations simultanément sans mettre en péril le système de base. ### Création de l'image QCOW2 Virt-make-fs est un outil de ligne de commande permettant de créer une image de système de fichiers à partir d'une archive tar ou de certains fichiers d'un répertoire. Il peut créer des types de systèmes de fichiers courants tels que ext2/3 ou NTFS. * Télécharger l'archive tar.gz contenant les images disques de la LPAR ``` $ scp user@xx.xx.xxx.xx:/data/jacques.nougat/repos/support/ibm/adcd-zos-210.tar.gz /var/www/html/hercules/ adcd-zos-210.tar.gz 100% 3412MB 11.2MB/s 05:05 ``` * Créer l'image QCOW2 ``` $ virt-make-fs --format=qcow2 --size=+2G adcd-zos-210.tar.gz adcd-zos-210-e2.qcow2 ``` ### Génération de limage COW Les générations d’images COW sont des images créées simplement par l'utilitaire `qemu-img` : ``` $ qemu-img create -f -b ``` ``` $ qemu-img create -f qcow2 -b adcd-zos-210-e2.qcow2 zos210.qcow2 Formatting 'zos210.qcow2', fmt=qcow2 size=27196384768 backing_file='adcd-zos-210-e2.qcow2' encryption=off cluster_size=65536 ``` L'image créée est plus petite que l'image de référence (193K pour une référence d'environ 17G) car pendant la création, il n'y a pas de différence entre l'original et la COW. ``` 22G -rw-r--r-- 1 root root 22G 3 avril 14:21 adcd-zos-210-e2.qcow2 3,4G -rw-r--r-- 1 root root 3,4G 3 avril 14:05 adcd-zos-210.tar.gz 271M -rw-r--r-- 1 root root 271M 2 avril 16:11 zos110.qcow2 196K -rw-r--r-- 1 root root 193K 3 avril 14:23 zos210.qcow2 ``` On peut génerer d'autres images COW à partir de la même référence. pour assurer la préservation de l'image d'origine, on peut la protéger en écriture\\ \\ `chmod -aw adcd-zos-210-e2.qcow2`. ## Etape 4: lancement de zos ### Montage du système de fichier ``` $ guestmount -a /var/www/html/hercules/zos210.qcow2 -m /dev/sda /mnt ``` ### Démarrage de la VM sur l'hyperviseur démarrer hercules ``` $ hercules -f /mnt/conf/hercules.conf ``` dans la workstation, et dans un terminal séparé, se connecter avec x3270 ``` x3270 localhost:23 ``` sur l'hyperviseur et dans la console hercules faire l'ipl: ``` IPL 01C0 ``` Répondre au message 00 - R 00,I ``` IEA247I USING IEASYS00 FOR OS/390 02.10.00 HBB7703 IEA598I TIME ZONE = W.00.00.00 IXL011I XES HARDWARE SUPPORT IS NOT INSTALLED. REASON: 02 IXC414I CANNOT JOIN SYSPLEX TESTPLX WHICH IS RUNNING IN MONOPLEX MODE: CONFIGURATION REQUIREMENT IXC404I SYSTEM(S) ACTIVE OR IPLING: DEMOPKG | IXC420D REPLY I TO INITIALIZE SYSPLEX TESTPLX, OR R TO REINITIALIZE XCF R 00,I IEE600I REPLY TO 00 IS;I IXC413I MULTISYSTEM SYSPLEX CONFIGURATION PREVENTED BY PLEXCFG=MONOPLEX IXC413I XCFLOCAL SYSPLEX CONFIGURATION PREVENTED BY PLEXCFG=MONOPLEX IXC418I SYSTEM DEMOPKG IS NOW ACTIVE IN SYSPLEX TESTPLX ``` Répondre au message 01 en spécifiant le mode de démarrage Jes2 ``` *04.59.54 DEMOPKG *01 $HASP426 SPECIFY OPTIONS - JES2 OS 2.10 * SSNAME=JES2 *05.01.06 DEMOPKG *BPXP007E STARTING PHYSICAL FILE SYSTEM NFS IN * ADDRESS SPACE NFSCM IEE612I CN=05 DEVNUM=0700 SYS=DEMOPKG r 01,format,noreq ``` Répondre au message 02 en confirmant le démarrage à froid ``` *05.05.21 DEMOPKG *$HASP436 CONFIRM COLD START ON * CKPT1 - VOLSER=DMTCAT DSN=SYS1.HASPCKDP * CKPT2 - NOT IN USE * SPOOL - PREFIX=DMTCA DSN=SYS1.HASPACE *05.05.21 DEMOPKG *02 $HASP441 REPLY 'Y' TO CONTINUE * INITIALIZATION OR 'N' TO TERMINATE IN RESPONSE TO MESSAGE HASP436 IEE612I CN=05 DEVNUM=0700 SYS=DEMOPKG r 02,y ``` Répondre au message 03 ``` *05.07.48 DEMOPKG *$HASP419 MEMBER 3090 HAS DETERMINED THAT THE * FOLLOWING JES2 * MEMBERS ARE DORMANT: 7490. *05.07.48 DEMOPKG *03 $HASP420 REPLY 'Y' IF 7490 IS DOWN (IPL * REQUIRED), 'N' IF NOT IEE612I CN=05 DEVNUM=0700 SYS=DEMOPKG r 03,y ``` Les applications vont démarrer. Pour voir , l'état des applications en ligne taper `d a,l`: ``` - 05.44.53 DEMOPKG d a,l 05.44.53 DEMOPKG IEE114I 05.44.53 2015.318 ACTIVITY 839 C JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS 00006 00016 00001 00027 00029 00001/00100 00014 LLA LLA LLA NSW S VLF VLF VLF NSW S DLF DLF DLF NSW S JES2 JES2 JES2 NSW S DFRMM DFRMM DFRMM NSW S SDSF SDSF SDSF NSW S VTAM5 VTAM5 VTAM NSW S RACF RACF RACF NSW S SYSLOGD5 STEP1 IBMUSER OWT AO INETD6 STEP1 IBMUSER OWT AO ASCH ASCH ASCH NSW S APPC APPC APPC NSW S TCPIP TCPIP TCPIP NSW SO SMTP SMTP SMTP NSW S NSLD NSLD NSLD OWT SO PORTMAP1 STEP1 PORTMAP OWT AO TIMED1 STEP1 IBMUSER OWT AO FTPD1 STEP1 FTPD OWT AO NSLD1 STEP1 NSADMIN OWT AO TSO TSO TSO OWT S NFSSRV NFSSRV NFSSRV NSW SO WEBSRV5 WEBSRV5 WEBSRV IN SO IBMUSER OWT IEE612I CN=05 DEVNUM=0700 SYS=DEMOPKG ``` ## Etape 5: connexion Au "==>" prompt entrer "tso". fournir un id d'utilisateur (par défaut "ibmuser"). etun mot de passe (par défaut entrez "sys1"). Liste des Utilisateurs disponibles : ^ USERID ^ PASSWORD ^ Details ^ | P390 | SYS1 or P390 | (RACF special authority) | | IBMUSER | SYS1 or IBMUSER | (RACF special authority) | | SYSADM | SYS1 or SYSADM | (DB2 and RACF special auth) | | SYSOPR | SYS1 or SYSOPR | (DB2 and RACF special auth) | | P390A - P390Z | TEST | | | TESTER | TEST | | Voilà, c'est tout ce qu'il y a à vraiment à faire. maintenant on va apprendre à installer gccmvs ou à compiler des programmes c dans omvs Pour passer en environnement UNIX sur la commande prompt ===> taper "tso omvs" ## Etape 6: Configuration du réseau Pour personnaliser le système OS / 390 DEMOpkg, procéder comme suit: pas: * Se connecter à TSO, avec sysprg1: ``` => TSO SYSPRG1 (mot de passe: sysprg1) ``` * Dans le Menu d'options principal ISPF taper 6 (command * Entrer la commande OS/390 Customization Dialog: ``` => TSO MVSCUST ``` * Entrer les valeurs à utiliser. ``` Please fill in the following customization information: MVS Information Connectivity Information MISC Information JES2 Node TSTMVS01 SNA NETID DALVM1XX Time Zone 05 TSO LU TSTTSO IP Address 9.39.65.199 CATALOG Information Install the optional volumes: DataManagement N Tivoli N DLIBS N ``` Pour installer le logiciel facultatif Data Management, Tivoli ou DLIB volumes, entrer `Y`. Cela exécutera les travaux de connexion au catalogue requis pour les utiliser. Pour utiliser **Data Management** ou **Tivoli** les travaux batchs du catalogue doivent avoir complètement exécutés avec un code retour de 0. Ces travaux ont un impact sur les catalogues d'utilisateurs et définissent alias due produit. * Lorsque toutes les informations sont correctes, appuyer sur (Entrée). * plusieurs mises à jour automatiques seront exécutées. * Indiquer dans le fichier de configuration TCP / IP les valeurs de réseau IP correctes //// * Indiquer dans le statement HOME l'adresse IP ``` EDIT CENTER.PARMLIB(TCPPROF) - 01.39 Columns 00001 00072 Command ===> Scroll ===> CSR 000148 ;---------------------------------------------------------------- 000149 ; HOME definition 000150 ; ==> Choose one adapter type 000151 ;---------------------------------------------------------------- 000152 HOME 000153 ; 9.39.65.74 OSA1 000154 ; 9.39.64.235 TR1 000155 192.168.0.210 ETH1 ``` * Commenter (; en premier caractère) les statement GETEWAY et DEFAULTNET ``` 000167 ;---------------------------------------------------------------- 000168 ;GATEWAY 000169 ; 9 = OSA1 65527 0.255.255.0 0.39.65.0 000170 ; 9 = TR1 2000 0.255.255.0 0.39.64.0 000171 ; 192.195.29 = ETH1 1492 0.0.0.224 0.0.0.32 000172 ;---------------------------------------------------------------- 000173 ; DEFAULTNET definition 000174 ; ==> Choose one adapter type 000175 ; Chnage the definitions to reflect your IP CLASS (A/B/C) account 000176 ;---------------------------------------------------------------- 000177 ; DEFAULTNET 9.39.65.1 OSA1 65527 0 000178 ; DEFAULTNET 9.39.64.1 TR1 2000 0 000179 ; DEFAULTNET 192.195.29.33 ETH1 1492 0 ``` * Ajouter le statement BEGINRoutes -- ENDRoutes des routes statiques ``` 000180 BEGINRoutes 000181 ROUTE 192.168.0.0 255.255.255.0 = ETH1 MTU 1500 000182 ROUTE DEFAULT 192.168.0.1 ETH1 MTU 1500 000183 ENDRoutes 000184 ;------------------------------------------------------- --------- ``` * Définir les adresses de DNS et le Nom de domaine dans le statement DOMAINORIGIN ``` 000024 ;------------------------------------------------------------------- 000025 ; DOMAINORIGIN. definition 000026 ; ==> Verify your domain name. 000027 ;------------------------------------------------------------------- 000028 DOMAINORIGIN DEMOPKG.IBM.COM 000029 ;------------------------------------------------------------------- 000030 ; DOMAINORIGIN definition 000031 ; ==> Verify the addresses of your name servers. 000032 ;------------------------------------------------------------------- 000033 NSINTERADDR 9.39.65.199 000034 NSINTERADDR 9.39.64.170 ``` * Définir le Nom d'hôte dans le statement HOSTNAME ``` 000035 ;------------------------------------------------------------------- 000036 ; HOSTNAME definition 000037 ; ==> VERIFY YOUR SYSTEM HOSTNAME. 000038 ;------------------------------------------------------------------- 000039 TSTMVS01: HOSTNAME TSTMVS01 000040 ;***********************************************************************. ``` * Récupérer l'ID du DEVICE dans le statement DEVICE LCS (5EE dans l'exemple) ``` 000142 ;---------------------------------------------------------------- 000143 ; Eithernet Adapter 000144 ;---------------------------------------------------------------- 000145 ; DEVICE LCSET LCS 5EE 000146 DEVICE LCSET LCS E20 AUTORESTART 000147 LINK ETH1 ETHERNET 3 LCSET ``` * Appuyer sur `PF3` pour quitter * Mettre à jour le nom d'hôte dans le fichier de configuration du serveur Web (Pour quitter, appuyer sur `PF3`). * De retour dans le pannel de commande entrer `oedit /etc/httpd.conf` * Mettre à jour la valeur `HostName` pour qu'elle corresponde à l'adresse IP locale. * Appuyez sur `PF3` pour quitter. Les valeurs ainsi personnalées ne seront effectives que lors du prochain IPL. Pour préparer l'IPL, il faut arrêter le système OS / 390. ## Etape 7: tout fermer * dans le premier c3270 ouvert taper `s shutsys` et puis taper `z eod` * attendre une minute ou deux * dans la fenêtre hercules taper `exit` * Modifier l'id de l'interface LCS dans le fichier `/mnt/hercules.cnf` ``` # --------------------------------------------------------------------------------------- # CTCI for TCP/IP # --------------------------------------------------------------------------------------- 05EE.2 LCS -n /dev/net/tun 192.168.0.210 ``` * démarrer à nouveau (suivre l'étape 6)