BigAdmin System Administration Portal
Article de fond
Print-friendly VersionPrint-friendly Version

Coup de projecteur sur une fonction du SE Solaris 10 : autorétablissement prédictif

Amy Rich, novembre 2004

Sommaire :

Traditionnellement, en cas d'erreur matérielle ou logicielle sur un système Solaris, un message est généralement journalisé sur le périphérique approprié, spécifié dans /etc/syslog.conf, et le reste du diagnostic et de la réparation laissé au bons soins de l'administrateur. La technologie d'autorétablissement prédicitf est introduite dans le SE Solaris 10, qui est disponible en avant-première par l'intermédiaire du programme Software Express pour Solaris. L'autorétablissement prédictif est un nouveau concept architectural cohésif et une méthodologie destinés à diagnostiquer, signaler et traiter automatiquement les états d'erreur logiciels et matériels. Cette nouvelle technologie diminue le temps nécessaire pour déboguer un problème matériel ou logiciel, et fournit à l'administrateur et à l'assistance technique de Sun des données détaillées sur chaque erreur. L'architecture se compose d'un protocole de gestion des événements, et du logiciel de traitement des erreurs logicielles, le gestionnaire de service Solaris.


Le gestionnaire d'erreur Solaris

En cas d'erreur matérielle, l'autorétablissement prédictif augmente les messages syslog habituels en émettant des événements de télémétrie binaire, qui sont ensuite mis en corrélation par le logiciel sous-jacent. Le logiciel sous-jacent diagnostique alors automatiquement l'erreur, avise l'administrateur et entreprend l'action corrective lorsque cela est possible. Le gestionnaire d'erreur Sun fournit également un code d'erreur et dirige l'administrateur vers l'article de la base de connaissances correspondante du site http://www.sun.com/msg/ s'il y a lieu. La première mise en oeuvre du gestionnaire d'erreur Sun couvre la CPU SPARC, la mémoire, et les composants d'E/S du bus nexus. Une version ultérieure est prévue, qui inclura les modules du SE Solaris sur les plates-formes x86.

L'interaction principale entre l'administrateur système et le gestionnaire d'erreur Sun passe par le démon du gestionnaire d'erreur, fmd(1M). fmd(1M) démarre pendant l'initialisation et creuse le contexte (voir la page du manuel fmd(1M) pour des informations détaillées) et continue à surveiller le système en cours d'exécution. Lorsqu'un composant produit une erreur, le système de gestion d'erreur traite l'erreur et met en corrélation les données du rapport d'erreur avec celles de rapports d'erreur antérieurs et d'autres informations liées, afin de diagnostiquer l'erreur et d'y réagir. Après le diagnostic, le gestionnaire d'erreur attribue au problème un identifiant universel unique (UUID), qui le distingue au sein de n'importe quel ensemble de systèmes. Si possible, fmd(1M) initie alors les mesures d'autorétablissement du composant défectueux. Le programme fmd(1M) journalise également l'erreur dans syslogd et/ou avise l'administrateur s'il y a lieu.

L'identificateur de ressource du gestionnaire d'erreur

L'identificateur de ressource du gestionnaire d'erreur (FMRI) identifie une ressource dans le gestionnaire d'erreur pour la propagation de l'événement d'erreur. Le plan de nommage du gestionnaire d'erreur, dont le FMRI est une sous-classe URI, est basé sur la syntaxe URI définie dans RFC 2396. La syntaxe FMRI comporte un nombre arbitraire de différents plans, chacun d'entre eux nommant une arborescence de ressources liées. Les FMRI peuvent être représentés comme des chaînes URI ou des paires nom-valeur de composant. Par exemple, le FMRI de DIMM 0 dans la banque de mémoire 1 du module de mémoire 2 sur la carte système 3 du domaine A d'un serveur Sun Fire 15K peut être représenté par la chaîne URI suivante. (Remarque : la ligne ne doit pas être interrompue en utilisation réelle.)

hc://chasis-id=138A2036,product-id=SunFire15000,domain-id=A/system-board=3/cpu-
module=2/memory-bank=1/dimm=0

Ou paires composant-nom :

Paires composant-nom
Nom Valeur Type
Nom Valeur Type
plan hc chaîne
autorité id châssis : 138A2036
id produit : SunFire15000
id domaine : A
autorité
carte-système 3 uint32_t
module cpu 2 uint32_t
banque mémoire 1 uint32_t
dimm 0 uint32_t
 

Le gestionnaire d'erreur associe l'un des états suivants à chaque FMRI :

  • ok: la ressource est présente et utilisée, et ne présente aucun problème connu.
  • unknown: la ressource est absente ou inutilisable mais ne présente pas de problème connu. Ceci peut indiquer que la ressource a été désactivée ou déconfigurée par un administrateur.
  • degraded: la ressource est présente et utilisable, mais un ou plusieurs problèmes ont été diagnostiqués.
  • faulted: la ressource est présente mais inutilisable car un ou plusieurs problèmes irrécupérables ont été diagnostiqués. La ressource a été désactivée pour éviter tout dommage au système et nécessite une intervention humaine.

Les outils de ligne de commande du gestionnaire d'erreur

La mise en oeuvre Solaris du gestionnaire d'erreur comprend plusieurs outils de ligne de commande pour observer et modifier le comportement de fmd(1M) et de ses modules. Les outils les plus couramment utilisés par l'administrateur sontfmadm(1M), fmdump(1M), et fmstat(1M).

L'utilitaire fmadm(1M) permet de voir, charger et décharger des modules et de voir et mettre à jour le cache de la ressource. Il offre aux administrateurs système une méthode d'affichage de toutes les ressources que fmd(1M) considère comme défectueuses. Les sous-commandes les plus courantes de fmadm(1M) (voir la page du manuel fmadm(1M) pour des informations plus détaillées) sont les suivantes :

  • config: affiche la configuration, notamment le nom, la version et la description de chaque composant du module.
  • faulty [-ai]: affiche la liste des ressources actuellement soupçonnées d'être défectueuses. Le FMRI, l'état de la ressource et l'UUID du diagnostic sont indiqués pour chaque ressource. Par défaut, la commande fmadm faulty indique uniquement les sorties concernant les ressources actuellement présentes et défectueuses. Si l'option -a est spécifiée, toutes les informations sur la ressource en cache du gestionnaire d'erreur sont indiquées, notamment celles qui concernent des composants supprimés du système. Si l'option -i est spécifiée, l'identificateur de cache persistant pour chaque ressource dans le gestionnaire d'erreur est indiqué au lieu de l'état le plus récent et de l'UUID.
  • load path: charge le module spécifié. Le chemin spécifié doit être absolu et concerner un module présent dans l'un des répertoires définis pour les modules.
  • unload module: décharge le module spécifié. Le nom du module est celui spécifié dans la sortie fmadm config. Le gestionnaire d'erreur charge et décharge généralement les modules automatiquement en fonction de la configuration du système. Par conséquent, cette commande est rarement utilisée.
  • rotate errlog | fltlog: planifie une rotation du fichier journal spécifié pour le gestionnaire d'erreur. Les fichiers journaux subissent automatiquement une rotation par une entrée dans le fichier de configurationlogadm(1M) qui utilise cette sous-commande.

Le programme fmdump(1M) permet à l'administrateur du système de voir tous les fichiers journaux associés à fmd(1M) et de récupérer les détails spécifiques d'un diagnostic. Par défaut, la commande fmdump(1M) affiche le journal d'erreurs mais affiche le journal de l'erreur avec le commutateur de ligne de commande-e. La commande fmdump(1M) peut également prendre les options de ligne de commande pour sélectionner uniquement certains événements (voir la page du manuel fmdump(1M) pour des informations plus détaillées) :

  • -c class: sélectionne les événements correspondant à la classe spécifiée.
  • -t time: sélectionne les événements qui se sont produits à l'heure spécifiée ou après.
  • -T time: sélectionne les événements qui se sont produits à l'heure spécifiée ou avant.
  • -U UUID: sélectionne les événements correspondant à l'UUID spécifié.

Une sortie de plus en plus détaillée peut être obtenue pour toutes les commandes en spécifiant -v or -V.

Le programme fmstat(1M) est conçu pour rapporter les statistiques du système de gestion d'erreur. Si l'argument -m module est donné, fmstat(1M) rapporte les statistiques conservées par le module spécifié. Si -m n'est pas spécifié, fmstat(1M) rapporte les statistiques suivantes pour chaque module (voir la page du manuel fmstat(1M) pour des informations plus détaillées) :

  • module: nom du module tel qu'l est rapporté par fmadm config
  • ev_recv: nombre d'événements reçus par le module
  • ev_acpt: nombre d'événements acceptés par le module comme pertinents pour un diagnostic.
  • wait: nombre moyen d'événements en attente d'examen par le module
  • svc_t: temps de service moyen, en millisecondes, pour les événements reçus par le module
  • %w: pourcentage de temps pendant lequel des événements étaient en attente de traitement
  • %b: pourcentage de temps pendant lequel le module était occupé par le traitement des événements
  • open: nombre de cas actifs détenus par le module
  • solve: nombre de cas résolus par le module depuis son chargement
  • memsz: quantité de mémoire dynamique actuellement attribuée par le module
  • bufsz: quantité d'espace tampon persistant actuellement attribué par le module

Un exemple du gestionnaire d'erreur de l'autorétablissement prédictif

Après la survenance d'une erreur de CPU, l'administrateur peut voir ce message sur la console et journalisé dans syslog :

SUNW-MSG-ID: SUN4U-8000-6H, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Sun Oct 17 14:15:50 PDT 2004
PLATFORM: SUNW,Sun-Blade-1000, CSN: -, HOSTNAME: myhost
EVENT-ID: 64fe6c23-12b7-ccd1-f0a7-b531941738f8
DESC: The number of errors associated with this CPU has exceeded acceptable levels. 
Refer to http://sun.com/msg/SUN4U-8000-6H for more information.
AUTO-RESPONSE: An attempt will be made to remove the affected CPU from service.
IMPACT: Performance of this system may be affected.
REC-ACTION: Schedule a repair procedure to replace the affected CPU. Use fmdump 
-v -u <EVENT_ID> to identify the CPU.

L'état de la CPU change de ok pour faulted, les processus utilisant cette CPU sont interrompus et la CPU est placée hors ligne. L'état de la CPU est visible en utilisant la commande psrinfo(1M) :

psrinfo

0	on-line   since 09/27/2004 16:57:30
1	faulted   since 10/17/2004 14:15:50

Exécutez la commande fmdump(1M) indiquée dans le message d'erreur, en utilisant EVENT-ID pour obtenir des informations plus détaillées sur l'erreur. La sortie indique que la CPU 1 pose un problème et que le composant de Slot 1 doit être remplacé. Le texte Slot 1, indiquant l'emplacement de la pièce défectueuse, est sérigraphié sur la carte mère.

fmdump -v -u 64fe6c23-12b7-ccd1-f0a7-b531941738f8

TIME                 UUID                                 SUNW-MSG-ID
Oct 17 14:15:50.1630 64fe6c23-12b7-ccd1-f0a7-b531941738f8 SUN4U-8000-6H
  100%  fault.cpu.ultraSPARC-III.l2cachedata
         FRU: hc:///component=Slot 1
        rsrc: cpu:///cpuid=1/serial=1107C270C8A

Une fois la CPU de remplacement livrée, la CPU défectueuse de Slot 1 peut être remplacée et réactivée.


Le gestionnaire de service Solaris

Pour mieux traiter les erreurs logicielles, Sun a revu la conception de démarrage et de surveillance des services. Au lieu des scripts de démarrage traditionnels/etc/init.d, de nombreux programmes dans le SE Solaris 10 ont été convertis pour utiliser la structure de gestion de service (smf) du gestionnaire de services Solaris pour démarrer, arrêter, modifier et surveiller les programmes. Le gestionnaire de services sert également à identifier les inter dépendances logicielles et garantit que les services démarrent dans l'ordre approprié. Si un service, tel que sendmail est subitement mort, le gestionnaire de services vérifie automatiquement que toutes les conditions du service sendmail sont exécutées, et redéploie les programmes nécessaires. Lorsqu'une erreur matérielle se produit et que le matériel est placé hors ligne, le gestionnaire de services peut redémarrer tous les programmes sous son contrôle qui ont dû être arrêtés pour placer le matériel hors service.

Chacun des services sous le contrôle du gestionnaire de services est commandé par un fichier de configuration XML, appelé manifeste, qui définit le nom, le type et les dépendances du service, ainsi que d'autres informations importantes. Ces manifestes sont stockés dans un référentiel et sont visibles et modifiables par le démon du référentiel, svc.configd(1M). Le référentiel est lu par le démon de redémarrage maître, svc.startd(1M), qui évalue les dépendances et initie les services selon les besoins. Les services inetd traditionnels font maintenant partie du gestionnaire de services. N'importe lequel de ces services inetd peut être activé, désactivé ou redémarré via le même mécanisme que tout autre programme compatible avec le gestionnaire de services.

Les outils de ligne de commande du gestionnaire de service

Le gestionnaire de services se compose d'un certain nombre de programmes, dont certains destinés à l'usage de l'administrateur pour afficher et gérer les services et leurs propriétés. Ces commandes comprennent : svcadm(1M), svcprop(1), svcs(1) et svccfg(1M). En outre, les commandes inetconv(1M) et inetadm(1M) existent pour contribuer à la transition des services inetd traditionnels et pour les gérer dans la structure du gestionnaire de services.

La commande svcadm(1M) permet l'activation, la désactivation et la manipulation d'état des instances de service du référentiel de configuration des services. La modification de ces propriétés provoque l'action de l'agent de redémarrage délégué pour placer l'instance de service dans l'état approprié. Si le service n'est pas délégué, l'agent de redémarrage maître effectue ces fonctions. Le commutateur -v imprime des informations détaillées vers la sortie standard. Les sous-commandes valides pour svcadm(1M) sont les suivantes :

  • disable [-t] [FMRI | pattern]: désactive les instances de services spécifiées par les opérandes. Si l'option -t est spécifiée, l'instance revient à ses paramètres actifs précédents (qui peuvent avoir été désactivés) lors de la réinitialisation.
  • enable [-rt] [FMRI | pattern]: active l'instance de service spécifiée dans les opérandes. Si l'option -r est spécifiée, l'instance est activée et active ses dépendances de façon récursive. Si l'option -test spécifiée, l'instance revient à ses paramètres actifs précédents (qui peuvent avoir été désactivés) lors de la réinitialisation.
  • refresh [FMRI| pattern]: rafraîchit l'instance de service spécifiée par les opérandes. L'instance doit relire sa configuration.
  • restart [FMRI| pattern]: redémarre l'instance de service spécifiée par les opérandes.
  • delegate restarter_FMRI [FMRI | pattern]: change l'affectation de l'agent de redémarrage pour les instances données pour celui qui est spécifié par la propriété restarter_FMRI. Si vous redéléguez l'instance à svc.startd(1M), cela revient au même. La redélégation nécessite une opération de redémarrage pour prendre effet. Tous les agents de redémarrage ne prennent pas en charge le modèle modèle d'application sous-jacent. Par conséquent, toutes les délégations potentielles ne donnent pas une instance de service fonctionnelle.
  • mark [-It] instance_state [FMRI| pattern]: place l'instance de service spécifiée dans les opérandes dans la propriété instance_state spécifiée, dégradée ou maintenance. Un service doit être dans l'état en ligne pour être enterré en état dégradé. Si l'option -I est spécifiée, l'instance de service est immédiatement placée dans l'état spécifié. Si l'option -t est spécifiée, l'enterrement est temporaire. Il persiste uniquement pour la durée de vie de l'instance actuelle du système. L'option d'enterrement temporaire n'est pas disponible pour l'état dégradé.
  • milestone [-d] milestone_FMRI: déplace le système au jalon spécifié. Tous les services dont le jalon donné ne dépend pas (directement ou indirectement) sont temporairement désactivés. Si l'option -d est spécifiée, le jalon concerné devient le jalon final par défaut et persiste au cours des réinitialisations.
  • clear [FMRI| pattern]: pour un service en état de maintenance, ramenez l'instance de service spécifiée par chaque opérande à l'état non initialisé, afin de pouvoir les remettre en ligne. Pour un service placé en état dégradé par la sous-commande mark, ramenez le service à l'état en ligne.

Le programme svcprop(1) imprime les valeurs des propriétés dans le référentiel de configuration du service. Les propriétés sont sélectionnées par les options -p et les opérandes FMRI. Par défaut, lorsqu'une seule propriété est sélectionnée, ses valeurs sont imprimées sur une seule ligne, séparées par des espaces. Les options suivantes sont prises en charge :

  • -c: récupère les valeurs de la propriété actuelle, sans composition.
  • -f: désigne les propriétés par leurs FMRI. Implique l'option -t.
  • -p [name/]name: imprime les valeurs de la propriété nommée ou du groupe de propriétés pour chaque groupe de propriétés, instances ou services spécifiés par les opérandes.
  • -q: silencieuse. Ne produit aucune sortie.
  • -s snapshot: utilise l'instantané pour récupérer la propriété ou le groupe de propriétés spécifié. Si le groupe de propriétés donné est absent de l'instantané, les valeurs de propriété actuelle sont examinées.
  • -t: utilise le format de sortie multi-propriété.
  • -v: détaillé. Imprime des messages d'erreur pour les propriétés inexistantes, même si l'option -q est également utilisée.
  • -w: attend que le groupe de propriété sélectionné ou la propriété change avant toute impression.

La commande svcs(1) affiche des informations sur les instances de service enregistrées dans le référentiel de configuration de service. La commande svcs(1) compte trois formes différentes :

 
svcs [-aHpv?] [-o col[,col]...] [-R instance_FMRI]... 
              [-sS col]... [FMRI | pattern] ...

svcs {-d | -D}  [-Hpv?] [-o col[,co= l]...]  [-sS col]... 
                [FMRI | pattern] ...

svcs -l [FMRI | pattern] ...

La première forme imprime les listes d'état en ligne des instances de service spécifiées par les arguments. Chaque instance est listée une seule fois, et sans argument ; toutes les instances de service activées, même temporairement désactivées, sont indiquées. La deuxième forme de commande imprime les listes d'état en ligne des dépendances ou des dépendants des instances de service spécifiées par les arguments. La troisième forme imprime des informations détaillées sur des services et des instances spécifiques. Les options présentées ci-dessus dans les explications des trois commandes sont les suivantes :

  • -?: affiche un message d'utilisation étendu, y compris spécificateurs de colonne.
  • -a: détecte également les instances de service désactivées.
  • -d: liste les services ou les instances de service dont les instances de service données dépendent.
  • -D: liste les instances de service qui dépendent des services ou des instances de service donnés.
  • -H: omet les en-tête de colonne.
  • -l: affiche toutes les informations disponibles sur les services et les instances de service sélectionnés, avec un attribut de service par ligne. Les informations relatives aux différentes instances sont séparées par des lignes vides.
  • -o col[,col]...: imprime les colonnes spécifiées. Chaque col doit être un nom de colonne.
  • -p: liste les processus associés à chaque instance de service. Une instance de service peut ne pas avoir de processus associé. L'ID, l'heure de début et le nom de commande (PID, STIMEet les champs CMD de ps(1)) du processus sont affichés pour chaque processus.
  • -R instance_FMRI: sélectionner les instances de service dont l'agent de redémarrage est l'instance de service spécifiée.
  • -s col: trie les sorties par colonne. col doit être un nom de colonne. Plusieurs options se comportent de façon cumulative.
  • -S col: trie par col dans l'ordre opposé aux options.
  • -v: affiche les colonnes détaillées : STATE, NSTATE, STIME, CTID et FMRI.

Les noms de colonne utilisés avec la commande svcs(1), sensibles à la case, sont les suivants :

  • CTID: ID du contrat principal pour l'instance de service, le cas échéant.
  • DESC: brève description du service à partir de son élément de modèle. Il est possible qu'un service n'ait pas de description disponible, auquel cas un tiret indique une valeur vide.
  • FMRI: FMRI de l'instance de service.
  • INST: nom d'instance de l'instance de service.
  • NSTA: état abrégé suivant de l'instance de service, tel qu'il est indiqué dans la description de la colonne STA. Un tiret indique que l'instance est sans transition, sinon identique à STA.
  • NSTATE: état suivant du service. Un tiret indique que l'instance est sans transition, sinon identique à STATE.
  • SCOPE: nom de l'étendue de l'instance de service.
  • SVC: nom de service de l'instance de service.
  • STA: état abrégé de l'instance de service.
  • STATE: état de l'instance de service. Un astérisque est ajouté pour les instances en transition, sauf si la colonne NSTA ou NSTATE est également affichée.
  • STIME: si l'instance de service est entrée dans l'état actuel au cours des dernières 24 heures, cette colonne indique l'heure où cela s'est produit. Sinon, cette colonne indique la date à laquelle cela s'est produit, avec des tirets de soulignement à la place des espaces.

La commande svccfg(1M) sert à importer, exporter et modifier les configurations de services dans le référentiel. Elle peut être appelée interactivement, en spécifiant les sous-commandes, ou en indiquant un fichier de commande contenant une série de sous-commandes. Les trois formes d'appel sont les suivantes :

/usr/sbin/svccfg [-v]

/usr/sbin/svccfg [-v] subcommand [args...]

/usr/sbin/svccfg [-v] -f command-file

Pour obtenir la liste complète de toutes les sous-commandes disponibles, lisez la page du manuel svccfg(1M).

Le programme inetconv(1M) convertit les entrées inetd.conf en manifestes smf(5), et les importe dans le référentiel. Il existe un mappage bi univoque entre la ligne de service du fichier d'entrée spécifié et le fichier de configuration en résultant qui est généré. Par défaut les fichiers de configuration sont nommés selon le modèle suivant :

<svcname>-<proto>.xml

Le jeton<svcname> est remplacé par le nom du service et le jeton <proto> par le protocole du service. Tous le caractères de barre oblique qui existent dans la ligne source du nom de service ou du protocole sont remplacés par des tirets de soulignement. Chaque manifeste qui en résulte intègre la ligne de service sous forme de commentaire. Lorsqu'une ligne de service est trouvée mal formée ou concernant un service inetd interne pendant le processus de conversion, aucun manifeste n'est généré et cette ligne de service est ignorée dans le fichier d'entrée. Le programme inetconv(1M) accepte les options de ligne de commande suivantes :

  • -?: affiche un message d'usage.
  • -e: active les services smf(5)qui sont activés dans le fichier d'entrée.
  • -f: lorsqu'un manifeste de service portant le même nom que celui qui doit être généré est découvert dans le répertoire de destination, inetconv(5) efface ce manifeste lorsque cette option est spécifiée. Sinon, un message d'erreur est généré et la conversion de ce service n'est pas effectuée.
  • -i srcfile: permet de spécifier un fichier d'entrée alternatif srcfile. Si cette option n'est pas spécifiée, le fichierinetd.conf(4) est utilisé comme entrée.
  • -n: arrête l'auto importation des manifestes générés pendant le processus de conversion. Si vous souhaitez importer un manifeste généré ultérieurement dans le référentielsmf(5) vous pouvez le faire à l'aide de l'utilitaire svccfg(1M).
  • -o destdir: permet de spécifier un répertoire de destination alternatif destdir pour les fichiers de configuration générés. Si cette option n'est pas spécifiée, les manifestes sont placés dans /var/svc/manifest/network/rpc s'il s'agit de services RPC, sinon dans/var/svc/manifest/network.

Le programme inetadm(1M) voit et configure les services contrôlés par inetd. Les options suivantes sont prises en charge :

  • -?: affiche un message d'usage.
  • -l FMRI: liste toutes les propriétés de l'instance de service spécifiée par paires nom=valeur. En outre, si la valeur de la propriété est héritée de la valeur par défaut fournie par inetd, les paires nom=valeur sont identifiées par le jeton (par défaut). L'héritage des propriétés intervient lorsque celles-ci n'ont pas de valeur d'instance de service par défaut spécifiée.
  • -e FMRI: active l'instance de service spécifiée.
  • -d FMRI: désactive le service spécifié.
  • -p: liste toutes les valeurs de propriété de service inet fournies par inetd sous forme de paires nom=valeur. Si la valeur est de type boléen, elle est listée sous la forme TRUE ou FALSE.
  • -m FMRI property_name=value [property_name=value...]: change les valeurs des propriétés spécifiées de l'instance de service identifiée. Les propriétés sont spécifiées sous forme de paires nom=valeur séparées par des espaces. Pour supprimer une valeur spécifique à une instance et accepter la valeur par défaut d'une propriété, spécifiez simplement la propriété sans valeur.
  • -M property_name=value [property_name=value...]: change les valeurs des propriétés inetd par défaut spécifiées. Les propriétés sont spécifiées sous forme de paires nom=valeur séparées par des espaces.

Exemples du gestionnaire de service d'autorétablissement prédictif

Affichez les services du système avec svcs(1) :

svcs

....
online         Oct_31   svc:/system/filesystem/local:default
online         Oct_31   svc:/network/rpc/bind:default
online         Oct_31   svc:/system/cron:default
online         Oct_31   svc:/system/sac:default
online         Oct_31   svc:/system/system-log:default
online         Oct_31   svc:/network/inetd:default
online         Oct_31   svc:/network/nis/client:default
online         Oct_31   svc:/network/rpc/keyserv:default
online         Oct_31   svc:/network/rpc/gss:ticotsord
online         Oct_31   svc:/network/security/ktkt_warn:ticotsord
online         Oct_31   svc:/milestone/multi-user:default
....

Utilisez svcs -p pour découvrir la relation entre les services et les processus. Cet exemple présente le service de serveur NFS :

svcs -p nfs/server 

STATE          STIME    FMRI
online         Oct_12   svc:/network/nfs/server:default
               Oct_31     103729 mountd
               Oct_31     103731 nfsd

Si le service présente un problème, utilisez les outils de gestion de service pour faciliter le diagnostic et examinez les actions suggérées pour corriger le problème. Par exemple, l'option svcs -x liste les informations sur chaque service qui n'est pas exécuté, et pourquoi :

svcs -x

svc:/application/print/server:default (LP Print Service)
 State: disabled since Tue Oct 05 22:27:55 2004
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: lpsched(1M)
Impact: 1 service is not running.

http://www.sun.com/msg/ fournit des informations complémentaires sur le type de problème et suggère des étapes pour acquérir des données supplémentaires et corriger le problème.

Utilisez svccfg(1) pour afficher les propriétés du serveur SMTP et déterminer ses dépendances :

svccfg

svc:> select network/smtp
svc:/network/smtp> listprop

system-log                  dependency
system-log/entities         fmri     svc:/system/system-log
system-log/grouping         astring  optional_all
system-log/restart_on       astring  none
system-log/type             astring  service
identity                    dependency
identity/entities           fmri     svc:/system/identity:domain
identity/grouping           astring  require_all
identity/restart_on         astring  refresh
identity/type               astring  service
name-services               dependency
name-services/entities      fmri     svc:/milestone/name-services
name-services/grouping      astring  require_all
name-services/restart_on    astring  refresh
name-services/type          astring  service
network-service             dependency
network-service/entities    fmri     svc:/network/service
network-service/grouping    astring  require_all
network-service/restart_on  astring  none
network-service/type        astring  service
fs-local                    dependency
fs-local/entities           fmri     svc:/system/filesystem/local
fs-local/grouping           astring  require_all
fs-local/restart_on         astring  none
fs-local/type               astring  service
general                     framework
general/entity_stability    astring  Unstable
general/single_instance     boolean  true

Ressources

Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub