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
- 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]](../ng_v16004plus.gif)
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).
- 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.
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
- 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
- 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 :
start bbgzsrv,parms='defaultServer'
![[16.0.0.4 and later]](../ng_v16004plus.gif)
//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=*