JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Gestion des services et pannes dans Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Gestion des services (présentation)

2.  Gestion des services (tâches)

Surveillance des services SMF

Surveillance des services (liste des tâches)

Procédure d'affichage du statut d'un service

Procédure d'affichage des personnalisations d'un service

Procédure d'affichage des services dépendants d'une instance de service

Procédure d'affichage des services dont dépend un service

Procédure de configuration de la notification pour les événements de transition SMF

Gestion des services SMF

Gestion des services SMF (liste des tâches)

Utilisation des profils de droits RBAC avec SMF

Procédure de création d'un service SMF

Procédure de désactivation d'une instance de service

Procédure d'activation d'une instance de service

Procédure de redémarrage d'un service

Procédure de restauration d'un service à l'état de maintenance

Procédure de création d'un profil SMF

Procédure de création manuelle d'un profil SMF

Procédure d'application d'un profil SMF

Configuration des services SMF

Configuration des services SMF (liste des tâches)

Procédure de modification d'une propriété de service SMF

Procédure de modification de propriétés multiples pour un seul service

Procédure de modification d'un service configuré par un fichier

Procédure de modification d'une variable d'environnement pour un service

Procédure de modification d'une propriété pour un service contrôlé inetd

Procédure de suppression des personnalisations d'un service

Procédure de modification d'un argument de ligne de commande pour un service contrôlé inetd

Procédure de conversion d'entrées inetd.conf

Utilisation de scripts de contrôle d'exécution

Utilisation de scripts de contrôle d'exécution (liste des tâches)

Procédure d'utilisation d'un script de contrôle d'exécution pour arrêter ou démarrer un service hérité

Procédure d'ajout d'un script de contrôle d'exécution

Procédure de désactivation d'un script de contrôle d'exécution

Procédure de conversion d'un script de contrôle d'exécution en service SMF

Dépannage de l'utilitaire de gestion des services (SMF)

Dépannage de SMF (liste des tâches)

Procédure de débogage d'un service dont le démarrage échoue

Procédure de réparation d'un référentiel endommagé

Procédure d'initialisation sans démarrer de services

Procédure d'initialisation en mode détaillé

Procédure d'affichage forcée d'une invite sulogin en cas d'échec du service system/filesystem/local:default lors de l'initialisation

3.  Utilisation du gestionnaire de pannes

Index

Dépannage de l'utilitaire de gestion des services (SMF)

Les procédures suivantes montrent comment dépanner ou corriger des services SMF. Plusieurs de ces procédures montrent également comment modifier les paramètres d'initialisation pour changer le mode d'initialisation d'un système.

Dépannage de SMF (liste des tâches)

La liste des tâches suivante comprend plusieurs procédures qui permettent de résoudre les problèmes sur votre système. Chaque ligne comprend une tâche, une description du moment auquel cette tâche doit être effectuée et un lien vers la tâche.

Tâche
Description
Voir
Débogage d'un service qui n'est pas en cours d'exécution
Collectez des information du service SMF expliquant pourquoi un service n'est pas en cours d'exécution.
Réparation d'un référentiel endommagé
Procédure à suivre pour remplacer un référentiel endommagé et assurer l'initialisation complète du système.
Initialisez le système sans démarrer de services
Pour déboguer un système qui se bloque au cours du processus d'initialisation, initialisez-le sans aucun service en cours d'exécution.
Génération de davantage de messages d'initialisation
Procédure de création de davantage de messages au cours du processus d'initialisation afin de faciliter le débogage.
Arrêt du processus d'initialisation si les systèmes de fichiers locaux ne sont pas disponibles
Procédure de démarrage du service de connexion permettant d'analyser le problème, si les systèmes de fichiers locaux ne sont pas montés.

Procédure de débogage d'un service dont le démarrage échoue

Dans cette procédure, le service d'impression est désactivé.

  1. Connectez-vous en tant qu'administrateur ou prenez un rôle incluant le profil de droits Service Management (Gestion des services).

    Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.

  2. Sollicitez des informations sur le service qui ne s'exécute pas en raison d'une erreur.
    # svcs -xv
    svc:/application/print/server:default (LP Print Service)
     State: disabled since Wed 13 Oct 2004 02:20:37 PM PDT
    Reason: Disabled by an administrator.
       See: http://support.oracle.com/msg/SMF-8000-05
       See: man -M /usr/share/man -s 1M lpsched
    Impact: 2 services are not running:
            svc:/application/print/rfc1179:default
            svc:/application/print/ipp-listener:default

    L'option -x fournit des informations supplémentaires sur les instances de service affectées.

  3. Activez le service.
    # svcadm enable application/print/server

Procédure de réparation d'un référentiel endommagé

Cette procédure montre comment remplacer un référentiel endommagé par une copie par défaut du référentiel. Lorsque le démon de référentiel, svc.configd, est démarré, il procède à une vérification de l'intégrité du référentiel de configuration. Ce référentiel est stocké dans /etc/svc/repository.db. Le référentiel peut être endommagé pour l'une des raisons suivantes :

En cas d'échec de la vérification d'intégrité, le démon svc.configd écrit un message à la console similaire à l'exemple suivant :

svc.configd: smf(5) database integrity check of:

    /etc/svc/repository.db

  failed.  The database might be damaged or a media error might have
  prevented it from being verified.  Additional information useful to
  your service provider is in:

    /system/volatile/db_errors

  The system will not be able to boot until you have restored a working
  database.  svc.startd(1M) will provide a sulogin(1M) prompt for recovery
  purposes.  The command:

    /lib/svc/bin/restore_repository

  can be run to restore a backup version of your repository. See
  http://support.oracle.com/msg/SMF-8000-MY for more information.

Le démon svc.startd s'arrête, puis démarre sulogin pour vous permettre de réaliser des opérations de maintenance.

  1. Entrez le mot de passe root à l'invite sulogin.

    La commande sulogin permet à l'utilisateur root d'entrer en mode de maintenance pour réparer le système.

  2. Exécutez la commande suivante :
    # /lib/svc/bin/restore_repository

    L'exécution de cette commande vous guide à travers les étapes nécessaires pour restaurer une sauvegarde non endommagée. SMF effectue automatiquement les sauvegardes du référentiel à des moments clés du système. Pour plus d'informations, reportez-vous à la section Sauvegardes du référentiel SMF.

    Lorsqu'elle est démarrée, la commande /lib/svc/bin/restore_repository affiche un message similaire au suivant :

    See http://support.oracle.com/msg/SMF-8000-MY for more information on the use of
    this script to restore backup copies of the smf(5) repository.
    
    If there are any problems which need human intervention, this script will
    give instructions and then exit back to your shell. 

    Une fois le système de fichiers root ( /) monté avec des autorisations d'écriture, ou si le système est une zone locale, vous êtes invité à sélectionner la sauvegarde de référentiel à restaurer :

    The following backups of /etc/svc/repository.db exists, from
    oldest to newest:
    
    ... list of backups ...

    Le nom attribué à une sauvegarde dépend du type et de l'heure de son exécution. Les sauvegardes commençant par boot sont effectuées avant que la première modification ne soit apportée au référentiel après l'initialisation du système. Les sauvegardes commençant par manifest_import sont effectuées après que svc:/system/manifest-import:default termine son processus. L'heure de la sauvegarde est indiquée au format YYYYMMDD_HHMMSS.

  3. Entrez la réponse appropriée.

    En règle générale, la sauvegarde la plus récente est sélectionnée.

    Please enter either a specific backup repository from the above list to
    restore it, or one of the following choices:
    
            CHOICE            ACTION
            ----------------  ----------------------------------------------
            boot              restore the most recent post-boot backup
            manifest_import   restore the most recent manifest_import backup
            -seed-            restore the initial starting repository  (All
                                customizations will be lost, including those
                                made by the install/upgrade process.)
            -quit-            cancel script and quit
    
    Enter response [boot]:

    Si vous appuyez sur la touche Entrée sans spécifier de sauvegarde à restaurer, la réponse par défaut, entourée de [], est sélectionnée. Sélectionnez -quit- pour quitter le script restore_repository et revenir à l'invite du shell.


    Remarque - Sélectionnez -seed- pour restaurer le référentiel seed. Ce référentiel est conçu pour être utilisé lors de l'installation initiale et des mises à niveau. L'utilisation du référentiel seed à des fins de récupération doit être un dernier recours.


    Une fois que la sauvegarde à restaurer a été sélectionnée, elle est validée et son intégrité est vérifiée. En cas de problèmes, la commande restore_repository imprime des messages d'erreur et vous invite à effectuer une autre sélection. Lorsqu'une sauvegarde valide est sélectionnée, les informations suivantes sont imprimées et vous êtes invité à confirmer l'opération.

    After confirmation, the following steps will be taken:
    
    svc.startd(1M) and svc.configd(1M) will be quiesced, if running.
    /etc/svc/repository.db
        -- renamed --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS
    /system/volatile/db_errors
        -- copied --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS_errors
    repository_to_restore
        -- copied --> /etc/svc/repository.db
    and the system will be rebooted with reboot(1M).
    
    Proceed [yes/no]?
  4. Entrez yes pour résoudre la panne.

    Le système redémarre après que la commande restore_repository a exécuté toutes les actions de la liste.

Procédure d'initialisation sans démarrer de services

Si des problèmes de démarrage de services se produisent, il arrive parfois qu'un système se bloque lors de l'initialisation. Cette procédure montre comment résoudre ce problème.

  1. Initialisez le système sans démarrer de services.

    Cette commande indique au démon svc.startd de désactiver temporairement tous les services et démarrer sulogin sur la console.

    ok boot -m milestone=none
  2. Connectez-vous au système en tant qu'utilisateur root.
  3. Activez tous les services.
    # svcadm milestone all
  4. Déterminez l'endroit où le processus d'initialisation est bloqué.

    Lorsque le processus d'initialisation se bloque, déterminez les services qui ne sont pas en cours d'exécution en exécutant svcs -a. Recherchez des messages d'erreur dans les fichiers journaux dans /var/svc/log.

  5. Après avoir corrigé les problèmes, vérifiez que tous les services ont démarré.
    1. Vérifiez que tous les services requis sont en ligne.
      # svcs -x
    2. Vérifiez que les dépendances de service console-login sont satisfaites.

      Cette commande vérifie que le processus login sur la console va s'exécuter.

      # svcs -l system/console-login:default
  6. Poursuivez le processus d'initialisation normal.

Procédure d'initialisation en mode détaillé

Par défaut, le niveau des messages s'affichant au cours d'une initialisation est défini sur le mode silencieux, ce qui génère des messages lorsqu'une erreur se produit lors du démarrage d'un service. Lors du dépannage d'un problème se produisant lors de l'initialisation d'un système, vous pouvez obtenir davantage de messages. Cette procédure montre comment initialiser le système de sorte que tous les messages d'erreur s'affichent.

Exemple 2-22 Stockage des messages d'initialisation dans un journal

L'utilisation de la commande boot avec l'option -m debug entraîne le stockage de tous les messages de démarrage par service et des services dans les fichiers journaux.

Procédure d'affichage forcée d'une invite sulogin en cas d'échec du service system/filesystem/local:default lors de l'initialisation

Les systèmes de fichiers locaux qui ne sont pas requis pour initialiser le système sont montés par le service svc:/system/filesystem/local:default. Lorsque l'un de ces systèmes de fichiers ne peut pas être monté, le service passe à l'état de maintenance. Le démarrage du système se poursuit, et les services qui ne dépendent pas de filesystem/local sont démarrés. Les services qui nécessitent filesystem/local pour être en ligne avant de démarrer dans des dépendances ne sont pas démarrés.

Pour modifier la configuration du système de sorte qu'une invite sulogin s'affiche immédiatement après l'échec du service au lieu de permettre la poursuite du démarrage du système, suivez la procédure ci-dessous.

  1. Modifiez le service system/console-login.
    # svccfg -s svc:/system/console-login
    svc:/system/console-login> addpg site,filesystem-local dependency
    svc:/system/console-login> setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local
    
    svc:/system/console-login> setprop site,filesystem-local/grouping = astring: require_all
    
    svc:/system/console-login> setprop site,filesystem-local/restart_on = astring: none
    
    svc:/system/console-login> setprop site,filesystem-local/type = astring: service
    
    svc:/system/console-login> end
  2. Actualisez le service.
    # svcadm refresh console-login

Erreurs fréquentes

En cas d'échec du service system/filesystem/local:default, la commande svcs -vx doit être utilisée pour identifier la cause. Une fois l'échec corrigé, la commande suivante efface l'état d'erreur et autorise la poursuite de l'initialisation du système : svcadm clear filesystem/local.