Administration de Liberty sous z/OS

Sur la plateforme z/OS, vous pouvez démarrer, arrêter ou modifier Liberty à l'aide des commandes de l'opérateur MVS.

Avant de commencer

Vérifiez que les profils de sécurité suivants sont configurés comme décrit dans Activation des services autorisés z/OS sur Liberty for z/OS.
  • Profils STARTED pour les processus ange et serveur
  • Profils SERVER pour permettre l'accès aux services z/OS autorisés
[16.0.0.4 and later]Avertissement :

Chaque LPAR peut avoir un processus ange par défaut. Vous pouvez donner un nom à l'ange si celui-ci est démarré au niveau V16.0.0.4 ou postérieur. Cet ange peut dès lors devenir un processus ange supplémentaire sur la LPAR concernée. Pour plus d'informations sur les anges et les LPAR, consultez Ange nommé. Dans la mesure du possible, veillez à ce que le processus ange par défaut fonctionne au dernier niveau installé de Liberty sur la LPAR. Si une instance du serveur Liberty se connecte à un ange fonctionnant à un niveau de service antérieur, certaines fonctions du serveur risquent de ne pas être disponibles.

Pourquoi et quand exécuter cette tâche

Cette rubrique explique comment démarrer,, modifier et arrêter Liberty à l'aide de la console MVS. Vous pouvez aussi démarrer et arrêter le serveur à partir d'un shell, ou utiliser un shell pour démarrer le serveur en tant que tâche démarrée (voir Démarrage et arrêt d'un serveur à partir de la ligne de commande).

Une tâche démarrée est une procédure JCL exécutée immédiatement en réponse à une commande d'opérateur START. Deux modèles de procédure (PROC) JCL sont disponibles dans le répertoire wlp/templates/zos/procs. Un modèle est destiné au processus serveur et l'autre, au processus ange :
  • bbgzsrv pour Liberty.
  • bbgzangl pour le processus ange nécessaire au contrôle d'accès aux services autorisés du système sur la plateforme z/OS.
Les administrateurs peuvent copier les modèles dans un emplacement utilisateur, puis les personnaliser pour démarrer les serveurs Liberty depuis la console MVS.
Remarque : Les fichiers qui se trouvent dans les répertoires /templates peuvent être modifiés suite à l'application de mises à jour de produit.
La section Exemple fournit davantage d'informations sur les deux modèles de PROC.

La cible d'une commande d'opérateur STOP est un travail ou une tâche démarrée.

Une fois les modèles de procédure JCL personnalisés, ils doivent être placés dans la concaténation de bibliothèque de procédures (PROCLIB) du système. Le nom de la procédure membre devient l'argument passé à la commande START.

Procédure

Exemple

L'exemple suivant illustre le modèle de procédure correspondant au processus serveur (bbgzsrv). Cette PROC est située dans un ensemble de données, lui-même situé dans la concaténation PROCLIB z/OS.

//BBGZSRV PROC PARMS='defaultServer'
//*------------------------------------------------------------------
//* INSTDIR - the path to the WebSphere Liberty install.
//*           This path is used to find the product code and is
//*           equivalent to the WLP_INSTALL_DIR environment variable
//*           in the Unix shell.
//* USERDIR - the path to the WebSphere Liberty user area.
//*           This path is used to store shared and server specific
//*           configuration information and is equivalent to the
//*           WLP_USER_DIR environment variable in the Unix shell.
//*------------------------------------------------------------------
//  SET INSTDIR='/u/MSTONE1/wlp'
//  SET USERDIR='/u/MSTONE1/wlp/usr'
//*------------------------------------------------------------------
//* Start the Liberty server
//*
//* WLPUDIR - PATH DD that points to Liberty's "user"
//*           directory. If the DD is not allocated, the user
//*           directory location defaults to the wlp/usr directory
//*           in the install tree.
//* STDOUT  - Destination for stdout (System.out)
//* STDERR  - Destination for stderr (System.err)
//* MSGLOG  - Destination for messages.log (optional)
//* STDENV  - Initial Unix environment - read by the system.  The
//*           installation default and server specific server
//*           environment files will be merged into this environment
//*           before the JVM is launched.
//*------------------------------------------------------------------
//STEP1   EXEC PGM=BPXBATSL,REGION=0M,
//  PARM='PGM &INSTDIR./lib/native/zos/s390x/bbgzsrv &PARMS' 
//WLPUDIR  DD PATH='&USERDIR.' 
//STDOUT   DD SYSOUT=* 
//STDERR   DD SYSOUT=* 
//*MSGLOG   DD SYSOUT=*
//*STDENV   DD PATH='/etc/system.env',PATHOPTS=(ORDONLY) 
//*STDOUT   DD PATH='&ROOT/std.out', 
//*            PATHOPTS=(OWRONLY,OCREAT,OTRUNC), 
//*            PATHMODE=SIRWXU 
//*STDERR   DD PATH='&ROOT/std.err', 
//*            PATHOPTS=(OWRONLY,OCREAT,OTRUNC), 
//*            PATHMODE=SIRWXU
Notes :
  • Le lanceur utilise la DD STDENV comme environnement initial, mais cette DD est optionnelle. L'environnement initial du processus est défini dans la PROC. Il peut pointer sur tout type d'ensemble de données pris en charge par Language Environment mais le format doit être compatible avec ce qui est attendu. Par exemple EBCDIC (Extended Binary Coded Decimal Interchange Code), simple key=value sans extension.
  • Une DD PATH pointant sur un répertoire existant (et non un fichier) est autorisée. Si cette DD est ouverte, le flux FILE renvoyé est valide pour la fonction fldata, de sorte que le chemin HFS associé à la DD peut être utilisé. Le modèle de PROC définit une DD PATH WLPUDIR qui représente l'équivalent de WLP_USER_DIR.
  • L'emplacement WLP_USER_DIR est déterminé selon la logique suivante :
    • Si le DD WLPUDIR est défini, le chemin d'accès associé est utilisé comme WLP_USER_DIR.
    • Si WLPUDIR n'est pas défini mais WLP_USER_DIR est défini dans l'environnement initial (de STDENV), il est utilisé.
    • Si WLPUDIR n'est pas défini et WLP_USER_DIR n'est pas défini dans l'environnement initial, la valeur par défaut de $WLP_INSTALL_DIR/usr est utilisée.
  • L'environnement est déterminé par la logique suivante :
    • Si vous définissez le DD STDENV, Language Environment lit l'entrée comme l'environnement initial.
    • Si $WLP_INSTALL_DIR/etc/server.env existe et est lisible, son contenu key=value est lu et appliqué à l'environnement. Ce fichier peut être en ASCII ou en EBCDIC. Les commentaires commencent par le signe dièse (#) et sont situés en fin de ligne. Les valeurs contenant des espaces peuvent être placées entre guillemets. Les entrées d'environnement spécifiées dans ce fichier remplacent les entrées de l'environnement initial.
    • Si $WLP_USER_DIR/servers/{serverName}/server.env existe et est lisible, son contenu clé=valeur est lu et appliqué à l'environnement. Ce fichier peut aussi être en ASCII ou en EBCDIC et peut contenir des commentaires. Toutes les entrées spécifiées ici remplacent les entrées provenant de l'environnement initial et du fichier etc/server.env.
    • Quel que soit l'environnement spécifié par l'utilisateur, les entrées suivantes seront explicitement définies : _BPXK_WLM_PROPAGATE=NO, JAVA_THREAD_MODEL=HEAVY et JAVA_PROPAGATE=NO. Si _EDC_PTHREAD_YIELD n'est pas définie, elle est réglée à -2.
  • Une fois l'environnement défini, JAVA_HOME est déterminé par la logique suivante :
    • Si JAVA_HOME est défini dans l'environnement, son emplacement est utilisé comme JAVA_HOME.
    • Si JAVA_HOME n'est pas défini dans l'environnement mais $WLP_INSTALL_DIR/../java64 existe, $WLP_INSTALL_DIR/../java64 est utilisé comme JAVA_HOME.
    • Si JAVA_HOME n'est pas défini dans l'environnement et $WLP_INSTALL_DIR/../java64 n'existe pas, $WLP_INSTALL_DIR/../java est utilisé comme JAVA_HOME.
  • Une fois JAVA_HOME déterminé, les options de ligne de commande JVM sont déterminées par la logique suivante :
    • Si $WLP_USER_DIR/servers/{serverName}/jvm.options existe et est lisible, son contenu est lu. Le fichier peut être en ASCII ou en EBCDIC et chaque ligne du fichier doit être un seul argument de ligne de commande java. Les commentaires commencent par le signe dièse (#) et sont situés en fin de ligne.
    • Si $WLP_USER_DIR/servers/{serverName}/jvm.options n'existe pas mais que $WLP_INSTALL_DIR/etc/jvm.options existe et est lisible, son contenu est lu. Il peut être en ASCII ou en EBCDIC et chaque ligne doit comporter un seul argument de ligne de commande java. Les commentaires sont pris en charge.
    • Quel que soit le contenu des fichiers jvm.options, -Dfile.encoding=iso8859-1, -javaagent:$WLP_INSTALL_DIR/lib/bootstrap-agent.jar et -classpath $WLP_INSTALL_DIR/lib/server-launcher.jar figurent sur la ligne de commande.
  • Si vous voulez passer des arguments à la JVM, définissez l'instruction DD JAVAOPTS de sorte que les arguments de ligne de commande Java™ soient lus à partir de cette DD. Voici un exemple de fichier d'entrée :
    -Xmx512m
    -Xms256m
    -Daaa.bbb.ccc=something.forsomeone
  • Lorsque vous démarrez un serveur Liberty avec une procédure z/OS, vous pouvez personnaliser le umask qui est utilisé par le processus serveur. Pour personnaliser le umask, définissez les variables d'environnement WLP_SKIP_UMASK et _BPX_BATCH_UMASK de l'une des manières suivantes :
    • Spécifiez la variable d'environnement WLP_SKIP_UMASK. Vous pouvez spécifier cette variable dans le fichier server.env ou, si vous démarrez le serveur avec une procédure z/OS, vous pouvez spécifier la variable sous l'entrée DD STDENDV. Dans la procédure z/OS, spécifiez la variable _BPX_BATCH_UMASK sous l'entrée DD STDENV. Vous ne pouvez pas spécifier la variable _BPX_BATCH_UMASK dans le fichier server.env. L'exemple suivant illustre la personnalisation d'un exemple de valeur umask :
      //STDENV DD *      
      _BPX_BATCH_UMASK=XXXX
      WLP_SKIP_UMASK=TRUE
      /*
    • Spécifiez _BPX_BATCH_UMASK=XXXX et WLP_SKIP_UMASK=TRUE dans un fichier z/OS UNIX codé EBCDIC. Définissez le chemin d'accès sous l'entrée DD STDENV dans la procédure z/OS. L'exemple suivant illustre la personnalisation d'un exemple de valeur umask :
      //STDENV DD PATH='u/path/to/env/ebcdic/file',PATHOPTS=ORDONLY
L'exemple suivant montre la commande que vous utiliseriez pour démarrer Liberty en utilisant la PROC bbgzsrv pour un processus configuré appelé "defaultServer" :
start bbgzsrv,parms='defaultServer' 
L'exemple suivant illustre le modèle de procédure correspondant au processus ange (bbgzangl) : [16.0.0.4 and later]
//BBGZANGL PROC PARMS='',COLD=N,NAME=''
//*------------------------------------------------------------------
//  SET ROOT='/u/MSTONE1/wlp'
//*------------------------------------------------------------------
//* Start the Liberty angel process
//*------------------------------------------------------------------
//STEP1   EXEC PGM=BPXBATA2,REGION=0M,TIME=NOLIMIT,
//      PARM='PGM &ROOT./lib/native/zos/s390x/bbgzangl COLD=&COLD NAME=X
//             &NAME &PARMS'
//STDOUT    DD SYSOUT=*
//STDERR    DD SYSOUT=*

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_admin_zos.html