[AIX Solaris HP-UX Linux Windows][IBM i]

Redémarrage automatique des processus serveur

Il existe plusieurs processus que le système d'exploitation peut contrôler et redémarrer automatiquement lorsqu'ils s'arrêtent anormalement.

Avant de commencer

[AIX][HP-UX][Linux][Solaris]Pour configurer cette fonction sur un système d'exploitation Linux ou UNIX, vous devez disposer de droits d'accès permettant d'éditer le fichier inittab.

[Windows]Pour configurer et exécuter cette fonction sur un système d'exploitation Microsoft Windows, vous devez appartenir au groupe administrateur et avoir les droits d'utilisateur avancés suivants :
  • Se comporter comme partie intégrante du système d'exploitation
  • Se connecter en tant que service

L'assistant d'installation vous accorde les droits utilisateur si votre ID utilisateur fait partie du groupe des administrateurs.

[Windows]Si vous exécutez un système d'exploitation Microsof Windows, l'assistant d'installation affiche un message stipulant que bien que les droits utilisateur avancés soient désormais effectifs, ils ne s'afficheront comme tel que lors de votre connexion à la machine Windows.

[Windows]Vous pouvez également ajouter les droits utilisateur manuellement, si vous effectuez une installation en mode silencieux sous un système d'exploitation Microsoft Windows. Par exemple, pour accorder les droits utilisateur à l'ID utilisateur de votre groupe d'administrateurs sous Windows, effectuez la procédure suivante :
  1. Cliquez sur Outils d'administration dans le panneau de configuration.
  2. Cliquez sur Stratégie de sécurité locale.
  3. Cliquez sur Stratégies locales.
  4. Cliquez sur Attribution des droits utilisateur.
  5. Right-click Act as part of the operating system.
  6. Cliquez sur Sécurité.
  7. Cliquez sur Ajouter.
  8. Cliquez sur votre ID utilisateur.
  9. Cliquez sur Ajouter.
  10. Cliquez sur OK.
  11. Cliquez sur OK.
  12. Right-click Log on as a service.
  13. Cliquez sur Sécurité.
  14. Cliquez sur Ajouter.
  15. Cliquez sur OK.
  16. Cliquez sur OK.
  17. Relancez votre machine pour que les paramètres soient effectifs.

[Windows]Pour plus d'informations, consultez le système d'aide Windows.

Pourquoi et quand exécuter cette tâche

Il existe plusieurs environnements dans lesquels vous pouvez utiliser cette fonction pour redémarrer automatiquement les serveurs. Vous pouvez redémarrer le processus de noeud géré du server1, par exemple. La liste suivante comporte les processus que vous pouvez envisager de redémarrer :
  • le processus de noeud géré du server1,
  • le processus server1 sur un poste Application Server autonome,
  • le processus dmgr sur un noeud de gestionnaire de déploiement,
  • le processus serveur agent de noeud sur n'importe quel noeud géré,
  • le processus IBM® HTTP Server
  • le processus IBM HTTP Administration.
[Windows]Sous un système d'exploitation Microsoft Windows, vous pouvez créer des services Windows pendant l'installation, à l'aide de l'assistant d'installation. Chaque service Windows contrôle un seul processus, comme une instance de produit autonome. De multiples processus Application Server autonomes requièrent plusieurs services Windows que vous pouvez définir. L'assistant vous permet de créer des services pour ces serveurs :
  • le processus de noeud géré du server1, défini comme un service démarré manuellement (à l'inverse d'un démarrage automatique) ;
  • le processus Application Server autonome du server1, défini comme un service démarré manuellement ;
  • le processus IBM HTTP Server et le processus IBM HTTP Administration, définis comme des services démarrés automatiquement lorsque vous avez choisi d'installer la fonction IBM HTTP Server ;
  • le processus dmgr sur un noeud de gestionnaire de déploiement, défini comme un service démarré manuellement.

L'assistant d'installation ne fournit pas de moyen de création de service pour un agent de noeud car le gestionnaire de déploiement instancie chaque agent de noeud après l'installation lorsque vous ajoutez un noeud Application Server à la cellule du gestionnaire de déploiement. Vous devez donc créer manuellement une fonction qui démarre automatiquement un processus serveur de noeud d'agent défaillant.

[AIX][HP-UX][Linux][Solaris]Sous un système d'exploitation Linux et UNIX, vous devez créer manuellement un script de shell qui démarre automatiquement n'importe lequel des processus mentionnés précédemment. Chaque script de shell UNIX contrôle un seul processus, une instance autonome du produit, par exemple. De multiples processus Application Server autonomes requièrent plusieurs services UNIX que vous pouvez définir.

[Windows][AIX][HP-UX][Linux][Solaris]Dans un environnement WebSphere Application Server, Network Deployment, la commande addNode ou startNode démarre uniquement un seul agent de noeud non géré, le processus nodeagent, et ne démarre pas tous les processus qu'il est possible de définir sur le noeud. Pendant l'exécution sous Windows ou sur une plateforme Linux ou UNIX, l'agent de noeud gère et redémarre les processus Application Server sur ce noeud. Chaque processus Application Server dispose de paramètres de configuration Règles de supervision (MonitoringPolicy) que l'agent de noeud utilise lors du contrôle et du redémarrage du processus.

Il est recommandé de configurer manuellement un processus contrôlé pour le serveur gestionnaire de déploiement dmgr et pour tout agent de noeud défini pour le système. Pour configurer un processus contrôlé :
  • [Windows]Utilisez un service Windows. Vous pouvez installer le produit WebSphere Application Server, Network Deployment en tant que service Windows lors de l'installation ou ultérieurement.
  • [Linux]Utilisez la commande WASService. Pour plus d'informations, consultez la documentation relative à la commande WASService. Comme alternative, vous pouvez utiliser le modèle de script de shell rc.was.
    Configurations prises en charge Configurations prises en charge: Sur le système d'exploitation Red Hat Enterprise Linux Version 6, n'utilisez pas le script de shell exemple rc.was. Au lieu de cela, suivez les étapes spécifiques dans cette rubrique, relatives à ce système d'exploitation.sptcfg
  • [AIX][HP-UX][Solaris]Utilisez le script de shell exemple rc.was fourni avec la version appropriée du produit.

Procédure

  1. [Windows]Utilisez l'outil de gestion de profils pour configurer un service Windows afin de contrôler et redémarrer automatiquement les processus liés au produit.
    • Effectuez la procédure suivante à partir de l'outil de gestion des profils afin de sélectionner les services que l'assistant d'installation peut configurer :
      1. Cliquez sur Exécuter WebSphere Application Server, Network Deployment en tant que service.
        Si vous sélectionnez cette option, l'assistant d'installation crée le service suivant lors de l'installation :
        IBMWAS6Service - node_name

        Le service IBMWAS6Service -nom_noeud contrôle le processus nom_noeud.

        Une fois l'installation terminée et vérifiée, utilisez l'écran Services Windows pour modifier le service IBMWAS6Service - nom_noeud en type de démarrage automatique.
        1. Right-click IBMWAS6Service - node_name and click Properties.
        2. Cliquez sur Automatique dans la boîte à liste Type de démarrage et cliquez sur OK.
      2. Cliquez sur Exécuter IBM HTTP Server en tant que service.

        Sélectionnez cette option sur la machine sur laquelle vous procédez à l'installation d'IBM HTTP Server.

        Si vous sélectionnez cette option, l'assistant d'installation crée les services suivants lors de l'installation :
        • IBM HTTP Server 2.0.x
        • IBM HTTP Administration 2.0.x
        L'assistant d'installation définit le type de démarrage de ces services à automatique. Il ne vous est pas nécessaire de modifier le type manuel en automatique.
      3. Entrez votre ID utilisateur et votre mot de passe, puis cliquez sur Suivant.

      Dans un environnement de coexistence, vous pouvez modifier les noms de service par défaut afin de les rendre uniques. Dans un même scénario de coexistence de version pour IBM HTTP Server 2.0.x sous Windows, il n'est pas possible d'utiliser les noms de service par défaut créés par le programme d'installation du fait qu'ils sont communs.

      Pour remédier à ce problème, procédez comme suit :
      1. Installez la première copie d'IBM HTTP Server, soit par elle-même ou avec le produit et choisissez d'installer les services.
      2. Personnalisez les noms de service de la première installation en exécutant les commandes suivantes à partir du premier emplacement de l'installation :
             apache -k install -n "IHS 2.0(1)"
             apache -k install -f conf\admin.conf -n "IHS 2.0 Administration (1)"
      3. Modifiez la directive AdminAlias dans le fichier emplacementInstallation 1\conf\admin.conf afin qu'elle pointe vers le nouveau nom de service, IHS 2.0(1) par exemple.
      4. Supprimez les noms de service par défaut installés par la première installation en exécutant les commandes suivantes :
             apache -k uninstall -n "IBM HTTP Server 2.0"
             apache -k uninstall -n "IBM HTTP Administration 2.0"
      5. Installez la seconde copie d'IBM HTTP Server, soit par elle-même ou avec le produit. Les noms de service par défaut correspondent à la seconde installation.
      Eviter les incidents Eviter les incidents: Les noms de services personnalisés doivent être uniques sur votre système.gotcha
  2. [AIX][HP-UX][Linux][Solaris]Après l'installation du produit, configurez un script de shell pour contrôler et redémarrer automatiquement tout processus serveur lié.
    Configurations prises en charge Configurations prises en charge: Vous disposez de deux jeux de sous-étapes pour effectuer cette tâche. Le premier jeu de sous-étapes ne s'applique pas au système d'exploitation Red Hat Enterprise Linux version 6. Pour plus d'informations sur ce système d'exploitation, consultez le second jeu de sous-étapes. sptcfg
    1. Localisez le script de shell exemple rc.was, se trouvant dans le répertoire racine_serveur_applications/bin.
    2. Créez un script de shell pour chaque processus devant être contrôlé et redémarré par le système d'exploitation.
    3. Editez chaque script de shell en fonction des commentaires contenus dans son en-tête qui fournissent des instructions pour l'identification d'un processus du produit.
    4. Editez le fichier inittab du système d'exploitation afin d'ajouter une entrée pour chaque script de shell que vous avez créé.

      Les commentaires figurant dans l'en-tête du fichier rc.was comprennent un exemple de ligne d'entrée de fichier inittab permettant d'ajouter ce script à la table inittab. Chaque entrée de fichier inittab amène le système d'exploitation à appeler le script shell spécifié quand le système est initialisé. Au fur et à mesure de son exécution, chaque script shell contrôle et démarre le processus serveur spécifié.

      Par exemple, si vous créez l'entrée de fichier inittab ci-après pour un processus, le script shell rc.was est exécuté quand le système est initialisé et si le processus s'arrête pendant que vous initialisez le système dans un poste utilisant un niveau d'exécution 2, 3 ou 5 :
      was:235:respawn:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1 
      Si vous créez l'entrée de fichier inittab ci-après, le script shell rc.was n'est exécuté qu'une seule fois lorsque vous initialisez le système dans un poste utilisant un niveau d'exécution 2,3 ou 5 :
      was:235:once:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1 
      Voici une liste des niveaux d'exécution pouvant être spécifiés. Les valeurs par défaut des niveaux d'exécution correspondent généralement à 3 ou 5.
      • 0-halt
      • 1-Single user mode
      • 2-Multiuser, without NFS (The same as 3, if you don't have networking)
      • 3-Full multiuser mode
      • 4-unused
      • 5-X11
      • 6-Reboot
      Si vous ignorez le niveau d'exécution en fonction duquel votre poste est initialisé, consultez la ligne ci-après figurant dans le fichier inittab :
      id:x:initdefault

      x représente le niveau d'exécution en fonction duquel le poste est initialisé.

      Par exemple, si vous utilisez un niveau d'exécution 5 pour initialiser votre poste, tous les processus qui doivent s'exécuter avec un niveau d'exécution 5 sont lancés.

      Eviter les incidents Eviter les incidents: Tout ce qui est exécuté à partir du fichier inittab est exécuté sous l'utilisateur root. Par conséquent, lorsque vous souhaitez que le serveur démarrer automatiquement le processus sous un ID d'utilisateur non root au démarrage de la machine, vous devez également ajouter la ligne suivante dans le fichier inittab :
      su utilisateur -c valeurs

      valeurs est le chemin et les arguments utilisés pour appeler les scripts rc que vous avez créés et où utilisateur est l'utilisateur secondaire pour lequel vous avez configuré l'exécution du produit.

      gotcha
    Chaque script de shell contrôle et redémarre les processus suivants dans un environnement WebSphere Application Server, Network Deployment :
    • un processus serveur sur un noeud géré,
    • un processus d'agent de noeud sur un noeud géré,
    • un processus Application Server autonome,
    • un processus de gestionnaire de déploiement.
    Configurations prises en charge Configurations prises en charge: Le jeu suivant de sous-étapes s'applique au système d'exploitation Red Hat Enterprise Linux version 6.sptcfg
    1. Créez le fichier as1.conf pour contrôler et redémarrer les processus et les placer dans le répertoire /etc/init. Voici un exemple de contenu du fichier as1.conf :
      # upstart service for my application server profile
      
      description  "serveur d'applications"
      
      start on runlevel [235]
      stop on runlevel [!235]
      
      expect fork
      respawn
      
      exec /opt/IBM/WebSphere/AppServer/bin/rc.as1
    2. Créez le fichier rc.as1 pour redémarrer le serveur et placez-le dans le répertoire racine_install/bin de WebSphere Application Server. Voici un exemple de contenu du fichier rc.as1 :
      #!/bin/sh
      cd /opt/IBM/WebSphere/AppServer/profiles/nom_profil/bin
      ./startServer.sh nom_serveur

      nom_profil représente le nom du profil de serveur d'applications. nom_serveur est le nom du serveur. Modifiez ces valeurs pour les adapter à votre environnement.

  3. [Windows]Après installation du produit, vous pouvez utiliser la commande WASService.exe présente dans le répertoire racine_serveur_applications\bin pour définir manuellement un service Windows pour une autre instance d'installation ou pour une autre instance de configuration du processus server1.
  4. [Windows]Après l'installation du produit, utilisez la commande WASService.exe pour définir manuellement le processus serveur d'agent de noeud en tant que service Windows.

    Vous pouvez utiliser la même commande pour définir manuellement un service Windows pour une autre instance d'installation ou pour une autre instance de configuration du processus server1 ou du processus dmgr.

  5. [IBM i]Dans la console d'administration, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur > Processus. Démarrez la console d'administration. Dans l'arborescence de la topologie, développez la branche Serveurs et cliquez sur Serveurs d'applications. Cliquez sur le nom du serveur d'applications à démarrer automatiquement. Cliquez sur Définition des processus. Cliquez sur Règles de supervision. Choisissez EN COURS D'EXECUTION pour l'état de redémarrage du noeud. Cliquez sur Appliquer. Sauvegardez la configuration.
  6. [IBM i]Sélectionnez le serveur d'applications que vous voulez démarrer automatiquement puis, sous Infrastructures du serveur, cliquez sur Gestion des processus et Java > Règle de contrôle.
  7. [IBM i]Sélectionnez Redémarrage automatique.
  8. Cliquez sur Appliquer, puis sur Enregistrer pour enregistrer la modification directement dans la configuration principale.

Résultats

[Windows]Sous Windows, vous pouvez
  • Utiliser les commandes net start et net stop pour contrôler les services IBM HTTP Server sur un système Windows. Pour plus d'informations sur ces commandes, consultez le fichier d'aide Windows. Accédez à ces commandes depuis le menu Démarrer, en cliquant sur Démarrer > Tous les programmes > IBM HTTP Server.
  • Utiliser les commandes Démarrer le serveur et Arrêter le serveur pour contrôler le processus du produit. Accédez à ces commandes à partir du menu Démarrer, en cliquant sur Démarrer > Programmes > IBM WebSphere > Serveur d'applications.
  • Utilisez les commandes Lancer le gestionnaire et Arrêter le gestionnaire pour contrôler le processus WebSphere Application Server, Network Deployment dmgr. Accédez à ces commandes du menu Démarrer, en cliquant sur Démarrer > Programmes > IBM WebSphere > Serveur d'applications > Gestionnaire de déploiement.

Les processus démarrés par une commande startServer, startNode ou startManager ne s'exécutent pas en tant que processus contrôlés, quelle que soit leur configuration.

Par exemple, vous pouvez configurer un processus server1 en tant que processus contrôlé. Cependant, si vous démarrez le processus server1 à l'aide de la commande startServer, le système d'exploitation ne contrôle, ni ne redémarre le processus server1 car le système d'exploitation n'a pas démarré le processus en tant que processus contrôlé au départ.

Que faire ensuite

Une fois le processus configuré, le système d'exploitation peut alors contrôler chaque processus serveur et le redémarrer s'il s'arrête.

Pour continuer, revenez à la page Définition des processus de serveur d'applications de la console d'administration.


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



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_processrestart
Nom du fichier : trun_processrestart.html