JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris : Périphériques et systèmes de fichiers     Oracle Solaris 11 Information Library (Fran├žais)
search filter icon
search icon

Informations document

A propos de ce manuel

1.  Gestion des médias amovibles (présentation)

2.  Gestion des médias amovibles (tâches)

3.  Accès aux médias amovibles (tâches)

4.  Gravure de CD et DVD (tâches)

5.  Gestion des périphériques (présentation/tâches)

6.  Configuration dynamique des périphériques (tâches)

Reconfiguration dynamique et enfichage à chaud

Points d'attache

Détachement des cartes d'adaptateur PCI ou PCIe

Fixation des cartes d'adaptateur PCI ou PCIe

Enfichage à chaud PCIe avec la commande (hotplug)

Dépannage des opérations d'enfichage à chaud PCI (hotplug )

Enfichage à chaud SCSI avec la commande cfgadm (liste des tâches)

Enfichage à chaud SCSI avec la commande cfgadm

Affichage des informations sur les périphériques SCSI

Annulation de la configuration d'un contrôleur SCSI

Configuration d'un contrôleur SCSI

Configuration d'un périphérique SCSI

Déconnexion d'un contrôleur SCSI

SPARC : Connexion d'un contrôleur SCSI

SPARC : Ajout d'un périphérique SCSI à un bus SCSI

SPARC : Remplacement d'un même périphérique sur un contrôleur SCSI

SPARC : Suppression d'un périphérique SCSI

Dépannage des problèmes de configuration SCSI

Résolution de l'échec de l'opération d'annulation de la configuration SCSI

Enfichage à chaud PCI ou PCIe avec la commande cfgadm (liste des tâches)

Enfichage à chaud PCI ou PCIe avec la commande cfgadm

Comportement de l'indicateur DEL PCIe

Affichage des informations de configuration de l'emplacement PCI

Suppression d'une carte d'adaptateur PCI

Ajout d'une carte d'adaptateur PCI

Dépannage des problèmes de configuration PCI

Enfichage à chaud SATA avec la commande cfgadm

Annulation de la configuration d'un périphérique SATA

Configuration d'un périphérique SATA

Présentation du script RCM (Reconfiguration Coordination Manager)

Définition d'un script RCM

Utilité d'un script RCM

Fonctionnement d'un script RCM

Commandes du script RCM

Environnement de traitement du script RCM

Tâches du script RCM

Script RCM pour les développeurs d'applications (liste des tâches)

Script RCM pour les administrateurs système (liste des tâches)

Attribution d'un nom à un script RCM

Installation ou suppression d'un script RCM

Installation d'un script RCM

Suppression d'un script RCM

Test d'un script RCM

Exemple de script RCM de sauvegarde sur bande

Actions du script RCM de sauvegarde sur bande

Résultats des scénarios de reconfiguration de la sauvegarde sur bande

Exemple : script RCM de sauvegarde sur bande

7.  Utilisation de périphériques USB (présentation)

8.  Utilisation de périphériques USB (tâches)

9.  Utilisation de périphériques InfiniBand (présentation/tâches)

10.  Gestion des disques (présentation)

11.  Administration des disques (tâches)

12.  Système SPARC : Configuration des disques (tâches)

13.  Système x86 : Configuration des disques (tâches)

14.  Configuration des périphériques de stockage avec COMSTAR

15.  Configuration et gestion du service Oracle Solaris iSNS (Internet Storage Name Service)

16.  L'utilitaire format (référence)

17.  Gestion des systèmes de fichiers (présentation)

18.  Création et montage de systèmes de fichiers (tâches)

19.  Extension de l'espace de swap (tâches)

20.  Copie de fichiers et de systèmes de fichiers (tâches)

21.  Gestion des lecteurs de bande (tâches)

Index

Tâches du script RCM

Les sections suivantes décrivent les tâches du script RCM pour les développeurs d'application et les administrateurs système.

Script RCM pour les développeurs d'applications (liste des tâches)

La liste des tâches ci-dessous décrit les tâches pour un développeur d'applications qui crée un script RCM.

Tâche
Description
Voir
1. Identification des ressources utilisées par votre application
Identifiez les ressources (noms des périphériques) que votre application utilise et que vous pouvez éventuellement supprimer dynamiquement.
2. Identification des commandes utilisées pour libérer la ressource
Identifiez les commandes permettant d'avertir l'application de libérer proprement la ressource à partir de l'application.
Documentation de l'application
3. Identification des commandes de post-suppression de la ressource
Incluez les commandes permettant d'avertir l'application de la suppression de la ressource.
4. Identification des commandes en cas d'échec de la suppression de la ressource
Incluez les commandes permettant d'avertir l'application de disponibilité de la ressource.
5. Ecriture du script RCM
Ecrivez le script RCM sur la base des informations identifiées dans les tâches 1 à 4.
6. Installation du script RCM
Ajoutez le script au répertoire de scripts approprié.
7. Test du script RCM
Testez le script en exécutant manuellement les commandes de script et en lançant une reconfiguration dynamique.

Script RCM pour les administrateurs système (liste des tâches)

La liste des tâches ci-dessous décrit les tâches d'un administrateur système qui crée un script RCM pour personnaliser un site.

Tâche
Description
Voir
1. Identification des ressources à supprimer dynamiquement
Identifiez les ressources (noms des périphériques) susceptibles d'être supprimées à l'aide de la commande cfgadm -l.
2. Identification des applications à arrêter
Identifiez les commandes pour arrêter proprement les applications.
Documentation de l'application
3. Identification des commandes de pré-suppression et post-suppression de la ressource
Identifiez les mesures à prendre avant et après la suppression de la ressource.
4. Ecriture du script RCM
Ecrivez le script RCM sur la base des informations identifiées dans les tâches 1 à 3.
5. Installation du script RCM
Ajoutez le script au répertoire de scripts approprié.
6. Test du script RCM.
Testez le script en exécutant manuellement les commandes de script et en lançant une reconfiguration dynamique.

Attribution d'un nom à un script RCM

Un script doit être nommé vendor ou service dans les cas suivants :

vendor

Symbole de stock du fournisseur du script, ou n'importe quel nom distinct qui permet d'identifier le fournisseur.

service

Nom du service que le script représente.

Installation ou suppression d'un script RCM

Vous devez être administrateur pour installer ou supprimer un script RCM. Utilisez ce tableau pour déterminer où installer votre script RCM.

Tableau 6-1 Répertoires de scripts RCM

Emplacement de l'annuaire
Type de script
/etc/rcm/scripts
Scripts de systèmes particuliers
/usr/platform/`uname -i`/lib/rcm/scripts
Scripts d'une implémentation matérielle spécifique
/usr/platform/`uname -m`/lib/rcm/scripts
Scripts d'une classe de matérielle spécifique
/usr/lib/rcm/scripts
Scripts pour n'importe quel matériel

Installation d'un script RCM

  1. Connectez-vous en tant qu'administrateur.
  2. Copiez le script dans le répertoire approprié.

    Voir Tableau 6-1.

    Par exemple :

    # cp ABC,sample.pl /usr/lib/rcm/scripts
  3. Remplacez l'ID d'utilisateur et l'ID de groupe du script par les valeurs de votre choix.
    # chown user:group /usr/lib/rcm/scripts/ABC,sample.pl
  4. Envoyez SIGHUP au démon RCM.
    # pkill -HUP -x -u root rcm_daemon

Suppression d'un script RCM

  1. Connectez-vous en tant qu'administrateur.
  2. Supprimez le script à partir du répertoire de scripts RCM.

    Par exemple :

    # rm /usr/lib/rcm/scripts/ABC,sample.pl
  3. Envoyez SIGHUP au démon RCM.
    # pkill -HUP -x -u root rcm_daemon

Test d'un script RCM

  1. Définissez les variables d'environnement, comme RCM_ENV_FORCE , dans le shell en ligne de commande avant d'exécuter votre script.

    Par exemple, dans un shell Korn, utilisez la commande suivante :

    $ export RCM_ENV_FORCE=TRUE
  2. Testez le script en exécutant manuellement les commandes de script à partir de la ligne de commande.

    Par exemple :

    $ script-name scriptinfo
    $ script-name register
    $ script-name preremove resource-name
    $ script-name postremove resource-name
  3. Assurez-vous que chaque commande de script RCM de votre script affiche la sortie appropriée pour stdout.
  4. Installez le script dans le répertoire de scripts approprié.

    Pour plus d'informations, reportez-vous à la rubrique Installation d'un script RCM.

  5. Testez le script en lançant une opération de suppression dynamique.

    Par exemple, supposons que votre script enregistre le périphérique /dev/dsk/c1t0d0s0. Essayez ces commandes.

    $ cfgadm -c unconfigure c1::dsk/c1t0d0
    $ cfgadm -f -c unconfigure c1::dsk/c1t0d0
    $ cfgadm -c configure c1::dsk/c1t0d0

    Attention

    Attention - Assurez-vous de bien maîtriser ces commandes, car elles peuvent modifier l'état du système et entraîner des défaillances de celui-ci.


Exemple de script RCM de sauvegarde sur bande

Cet exemple illustre comment utiliser un script RCM pour effectuer des sauvegardes sur bande.

Actions du script RCM de sauvegarde sur bande

Le script RCM de sauvegarde sur bande effectue les opérations suivantes :

  1. Définition d'une table des sauts pour les commandes RCM.

  2. Appel de la routine de saut correspondant aux commandes RCM spécifiées et arrêt avec l'état 2 pour les commandes RCM non implémentées.

  3. Configuration de la section scriptinfo.

    rcm_script_func_info=Tape backup appl script for DR
  4. Enregistrement de tous les lecteurs de bande dans le système en affichant tous les noms de périphériques de lecteurs de bande sur stdout.

    rcm_resource_name=/dev/rmt/$f

    Si une erreur se produit, le script affiche les informations relatives à l'erreur sur stdout .

    rcm_failure_reason=$errmsg
  5. Configuration des informations sur les ressources pour le périphérique à bande.

    rcm_resource_usage_info=Backup Tape Unit Number $unit
  6. Configuration des informations de preremove en vérifiant si l'application de sauvegarde utilise le périphérique. Si l'application de sauvegarde n'utilise pas le périphérique, la reconfiguration dynamique se poursuit. Si l'application de sauvegarde utilise le périphérique, le script vérifie RCM_ENV_FORCE. Si RCM_ENV_FORCE est défini sur FALSE, le script refuse la reconfiguration dynamique et affiche le message suivant :

    rcm_failure_reason=tape backup in progress pid=...

    Si RCM_ENV_FORCE est défini sur TRUE, l'application de sauvegarde est arrêtée et l'opération de reconfiguration se poursuit.

Résultats des scénarios de reconfiguration de la sauvegarde sur bande

Voici les différents résultats de l'utilisation de la commande cfgadm pour supprimer un périphérique à bande sans recourir au script RCM.

Voici les différents résultats si vous utilisez la commande cfgadm pour supprimer un périphérique à bande avec le script RCM.

Exemple : script RCM de sauvegarde sur bande

#! /usr/bin/perl -w
   #
   # A sample site customization RCM script.
   #
   # When RCM_ENV_FORCE is FALSE this script indicates to RCM that it cannot
   # release the tape drive when the tape drive is being used for backup.
   #
   # When RCM_ENV_FORCE is TRUE this script allows DR removing a tape drive
   # when the tape drive is being used for backup by killing the tape
   # backup application.
   #
    
    use strict;
    
    my ($cmd, %dispatch);
    $cmd = shift(@ARGV);
# dispatch table for RCM commands
    %dispatch = (
            "scriptinfo"    =>      \&do_scriptinfo,
            "register"      =>      \&do_register,
            "resourceinfo"  =>      \&do_resourceinfo,
            "queryremove"   =>      \&do_preremove,
            "preremove"     =>      \&do_preremove
    );
    
    
    if (defined($dispatch{$cmd})) {
            &{$dispatch{$cmd}};
    } else {
            exit (2);
    }
    
    sub do_scriptinfo
    {
            print "rcm_script_version=1\n";
            print "rcm_script_func_info=Tape backup appl script for DR\n";
            exit (0);
    }
    
    sub do_register
{
            my ($dir, $f, $errmsg);
    
            $dir = opendir(RMT, "/dev/rmt");
            if (!$dir) {
                 $errmsg = "Unable to open /dev/rmt directory: $!";
                 print "rcm_failure_reason=$errmsg\n";
                 exit (1);
            }
    
            while ($f = readdir(RMT)) {
                # ignore hidden files and multiple names for the same device
                if (($f !~ /^\./) && ($f =~ /^[0-9]+$/)) {
                        print "rcm_resource_name=/dev/rmt/$f\n";
                    }
                    
            }
    
            closedir(RMT);
            exit (0);
    }
sub do_resourceinfo
    {
      my ($rsrc, $unit);
    
      $rsrc = shift(@ARGV);
      if ($rsrc =~ /^\/dev\/rmt\/([0-9]+)$/) {
           $unit = $1;
           print "rcm_resource_usage_info=Backup Tape Unit Number $unit\n";
           exit (0);
       } else {
           print "rcm_failure_reason=Unknown tape device!\n";
            exit (1);
        }
    }
    
    sub do_preremove
    {
            my ($rsrc);
    
            $rsrc = shift(@ARGV);
    
            # check if backup application is using this resource
            #if (the backup application is not running on $rsrc) {
                    # allow the DR to continue
            #        exit (0);
            #}
            #
            # If RCM_ENV_FORCE is FALSE deny the operation.
            # If RCM_ENV_FORCE is TRUE kill the backup application in order
            # to allow the DR operation to proceed
            #
            if ($ENV{RCM_ENV_FORCE} eq 'TRUE') {
                 if ($cmd eq 'preremove') {
                         # kill the tape backup application
                 }
                 exit (0);
            } else {
               #
               # indicate that the tape drive can not be released
               # since the device is being used for backup by the
               # tape backup application
               #
               print "rcm_failure_reason=tape backup in progress pid=...\n"
;
               exit (3);
            }
    }