C H A P I T R E 1

Configuration DR

Ce chapitre décrit la fonctionnalité de reconfiguration dynamique (DR, Dynamic Reconfiguration) et vous guide à travers les étapes de la configuration DR. Il contient les sujets suivants :



Remarque - Dans ce document, l'expression "opération DR Detach" se rapporte au détachement ou au retrait complet d'une carte système. L'opération Detach peut être accomplie au moyen de la commande ADR deleteboard(1M). Pour plus d'informations sur le détachement de cartes des domaines Solaris 9 (qui ne prennent en charge que le modèle DR 3.0), reportez-vous au Guide de l'utilisateur de la fonctionnalité Dynamic Reconfiguration sur le serveur Sun Enterprise 10000 (référence n° 816-3862-10).



Modèles DR

Deux modèles DR différents sont pris en charge par les domaines Sun Enterprise 10000. Le modèle DR 2.0 est parfois appelé "legacy DR" (DR héritée) et le modèle DR 3.0 "next generation DR" (DR de la nouvelle génération). Le tableau suivant indique les différentes versions du système d'exploitation Solaris et du logiciel SSP utilisées avec les modèles DR 2.0 et 3.0 :

Modèle DR

Versions du logiciel Solaris

Versions du logiciel SSP

2.0

Solaris 5.1, 6, 7 et 8

3.3, 3.4 ou 3.5

3.0

Solaris 8 10/01 et 02/02, Solaris 9

3.5 uniquement


Les domaines qui exécutent la version 9 du logiciel Solaris ne prennent en charge que le modèle DR 3.0, la version 3.5 du logiciel SSP est nécessaire.

Un seul modèle de DR peut être exécuté à un moment donné au sein d'un domaine. Pour contrôler la version de DR en cours d'exécution, utilisez la commande domain_status avec son option -m (disponibles uniquement sur les domaines qui exécutent la version 3.5 du logiciel SSP). Veillez à vérifier le modèle DR avant d'exécuter toute commande DR. Voici un exemple de la sortie de domain_status(1M). La colonne DR-MODEL indique le modèle qui est activé.

# domain_status -m
DOMAIN     TYPE                  
   PLATFORM   DR-MODEL   OS   SYSBDS
A          
Ultra-Enterprise-10000   all-A      2.0        5.8  2
B          
Ultra-Enterprise-10000   all-A      3.0        5.8  3 4
C          
Ultra-Enterprise-10000   all-A      2.0        5.7  5 6
D          
Ultra-Enterprise-10000   all-A      3.0        5.9  7

D'après cette sortie, le domaine A exécute le logiciel Solaris version 8 (OS 5.8) avec le modèle DR 2.0 activé ; le domaine B exécute le logiciel Solaris version 8 avec le modèle DR 3.0 activé ; le domaine C exécute le logiciel Solaris version 7 (OS 5.7) avec le modèle DR 2.0 activé ; et le domaine D exécute le logiciel Solaris version 9 (OS 5.9) avec le modèle DR 3.0 activé.

Seules certaines commandes sont disponibles dans chaque modèle et si vous exécutez une commande qui n'est pas prise en charge, un message d'erreur s'affiche sur la console.



Attention - Avant de passer à DR 3.0 dans un domaine qui exécute le système d'exploitation Solaris 8 10/01, vous devez mettre à jour le logiciel SSP vers la version 3.5 parce que les versions précédentes de SSP ne prennent pas en charge les opérations DR 3.0.


Pour plus d'informations sur l'utilisation de DR 2.0, consultez le Sun Enterprise 10000 Dynamic Reconfiguration (DR) User Guide (référence n° 806-7616-10). Pour plus d'informations sur l'utilisation de DR 3.0, consultez le Sun Enterprise 10000 Dynamic Reconfiguration (DR) User Guide (référence n° 816-3627-10).

Améliorations du modèle DR 3.0

Le modèle DR 3.0 bénéficie des améliorations suivantes par rapport au DR 2.0 :

Où exécuter les commandes DR

Vous pouvez exécuter les commandes DR de deux emplacements au choix : depuis le SSP (system service processor) au moyen des commandes du SSP — addboard(1M), moveboard(1M), deleteboard(1M), rcfgadm(1M) et showdevices(1M) ; ou depuis le domaine en utilisant la commande cfgadm(1M).

Conditions requises par le multi-acheminement dans DR 3.0

Pour utiliser le multi-acheminement dans les domaines mettant en oeuvre le modèle DR 3.0, exécutez IPMP (le logiciel de multi-acheminement IP fourni dans le système d'exploitation Solaris 8) et le logiciel MPxIO, inclus dans les fichiers correctifs de mise à jour du noyau n°111412-02, 111413-02, 111095-02, 111096-02 et 111097-02.


Prise en main

Avant de pouvoir exécuter des opérations DR sur votre domaine, vous devez :

Conditions préalables des périphériques

La fonctionnalité DR nécessite que les gestionnaires des périphériques se trouvant sur des cartes associées aux opérations DR Detach soient à la fois :



Remarque - Les gestionnaires Sun Microsystems suspend-safe (sûrs en cas d'interruption) connus sont les gestionnaires st, sd, isp, esp, fas, sbus, pci, pci-pci, qfe et hme (Sun FastEthernet) ; nf (NPI-FDDI) ; qe (Quad Ethernet); le (Lance Ethernet), les gestionnaires SSA (soc, pln et ssd) et les gestionnaires Sun StorEdge A5000 (sf, socal, ses). Pour plus d'informations sur les gestionnaires de périphériques sûrs en cas d'interruption et en cas de détachement, consultez votre représentant de service Sun.


Attribution d'une zone de swap suffisante

L a configuration de swap du domaine se compose des périphériques de swap et de swapfs (mémoire). Le domaine doit contenir une zone de swap suffisante pour pouvoir vider la mémoire paginable. Par exemple, si vous voulez retirer 1 gigaoctet de mémoire d'un domaine de 2 gigaoctets, il vous faut 1 gigaoctet de zone de swap, en fonction de la charge. Une zone de swap insuffisante empêche la fonctionnalité DR d'exécuter tout type d'opération DR.

La zone de swap du domaine doit être configurée en plusieurs partitions sur des disques rattachés à des contrôleurs hébergés par différentes cartes. Avec ce type de configuration, une partition de swap donnée n'est pas une ressource essentielle car il est possible d'en ajouter et d'en supprimer dynamiquement (pour plus d'informations, reportez-vous à swap(1M)).



Remarque - Lorsque la mémoire (swapfs) ou la zone de swap d'un disque est détachée, il doit rester suffisamment de mémoire ou de zone de swap dans le domaine pour les programmes en cours.


Qualification des gestionnaires de périphériques tiers

De nombreux gestionnaires d'autres marques (pas achetés chez Sun Microsystems) ne prennent pas en charge l'interface standard Solaris modunload(1M), qui est utilisée pour décharger les gestionnaires de périphériques pas sûrs en cas de détachement ou pas sûrs en cas d'interruption. Les conditions sollicitant les gestionnaires ne se présentent pas régulièrement dans le cadre du fonctionnement normal et les fonctionnalités font parfois défaut ou fonctionnent mal. Sun Microsystems suggère que vous testiez les fonctions des gestionnaires pendant les phases de qualification et d'installation de périphériques tiers.


Présentation des tâches de configuration DR

Cette section indique les différentes tâches de configuration à effectuer avant d'exécuter des opérations DR sur des domaines Solaris 9 (qui ne prennent en charge que le modèle DR 3.0). Veuillez noter qu'il n'est peut-être pas nécessaire d'effectuer toutes les tâches décrites dans cette section, en fonction des types de périphériques existant sur vos cartes système et du type d'opérations DR à effectuer.

Après avoir configuré la fonctionnalité DR ou chaque fois que vous modifiez la configuration DR, vous devez réinitialiser votre domaine. Si vous voulez réduire au minimum le nombre des réinitialisations à effectuer, déterminez les tâches de configuration qui s'appliquent à votre environnement DR puis effectuez la série de tâches appropriées avant de réinitialiser votre domaine.

  1. Si vous comptez effectuer des opérations DR Detach, activez la "cage" du noyau, comme expliqué dans la section Activation de la "cage" du noyau.

  2. Pour les périphériques, faites ce qui suit :

  3. Si vous utilisez le multi-acheminement, configurez votre domaine en fonction et exécutez le logiciel de multi-acheminement approprié sur le domaine.

  4. Réinitialisez le domaine pour activer les changements de configuration.



    Remarque - Vous devez réinitialiser le domaine après tout changement de configuration DR. Si vous voulez réduire au minimum le nombre des réinitialisations à effectuer, exécutez toutes les tâches de configuration appropriées avant de réinitialiser votre domaine.


  5. Après avoir réussi la réinitialisation, vous pouvez vérifier les messages de changement de configuration DR dans le fichier /var/adm/messages.

    Par exemple, si vous avez activé la "cage" du noyau, le message suivant s'affiche :

    NOTICE: DR Kernel Cage is 
    Enabled


procedure icon   Activation de la "cage" du noyau

Un noyau "en cage" limite la mémoire non-paginable à un petit nombre de cartes système (à une en général). Par défaut la "cage" du noyau est désactivée, empêchant toute opération DR Detach. Si vous projetez d'effectuer des opérations DR Detach, vous devez activer la cage du noyau en utilisant la variable system(4), kernel_cage_enable, comme expliqué dans la procédure suivante.

Il faut que vous sachiez que les opérations DR Attach ou addboard (ajouter carte) sont activées par défaut, indépendamment de la valeur de la variable kernel_cage_enable.



Remarque - Avant le système d'exploitation Solaris 7, la variable dr-max-mem était utilisée pour activer la fonctionnalité DR. Cette variable n'est plus utilisée pour activer la DR dans la version 7 et les versions ultérieures du logiciel Solaris.


1. Au moyen d`un éditeur de texte, éditez le fichier /etc/system du domaine pour que kernel_cage_enable soit égal à 1.

set 
kernel_cage_enable=1 

2. Lorsque toutes les tâches de configuration DR sont terminées, veillez à réinitialiser le domaine pour valider la configuration.

3. Vérifiez ce changement de configuration dans le fichier /var/adm/messages.

L'exemple suivant fait partie d'un fichier messages, qui indique que la "cage" du noyau a été activée :

NOTICE: DR Kernel Cage is 
Enabled

Définition des paramètres permanents des gestionnaires de réseau

Si vous utilisez la commande ndd(1M) pour programmer les paramètres de configuration des gestionnaires de réseau, les paramètres risquent de ne pas persister après une opération DR.

Utilisez le fichier /etc/system ou driver.conf d'un gestionnaire donné pour définir des paramètres permanents.


procedure icon   Activation de l'interruption des gestionnaires des périphériques soc et pln

Si vos cartes système contiennent les périphériques soc et pln, procédez comme suit pour que ces périphériques deviennent sûrs en cas d'interruption.

1. Avec un éditeur de texte, éditez le fichier /etc/system pour que les variables pln_enable_detach_suspend et soc_enable_detach_suspend soient réglées sur 1, comme dans l'exemple suivant :

set 
pln:pln_enable_detach_suspend=1
set 
soc:soc_enable_detach_suspend=1

2. Lorsque toutes les tâches de configuration DR sont terminées, réinitialisez le domaine pour valider la configuration.


procedure icon   Spécification d'une liste de gestionnaires pas sûrs

Vous pouvez fournir au système d'exploitation Solaris des informations concernant les périphériques pas sûrs (en cas d'interruption) dans le système en spécifiant une liste de gestionnaires pas sûrs dans le fichier dr.conf.

La fonctionnalité DR lit cette liste quand elle se prépare à interrompre le système d'exploitation afin qu'une carte contenant de la mémoire non-paginable puisse être détachée. Si la DR trouve un gestionnaire actif dans la liste des gestionnaires pas sûrs, elle abandonne l'opération et retourne un message d'erreur. Le message identifie le gestionnaire actif qui n'est pas sûr. Vous devez interrompre manuellement le périphérique pour que l'opération DR puisse être effectuée.

1. Au moyen d'un éditeur de texte, éditez le fichier /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/ngdr.conf spécifiez les gestionnaires de périphériques pas sûrs en cas d'interruption comme indiqué ci-dessous :

unsupported-io-drivers=
"gestionnaire1","gestionnaire2","gestionnaire3";

gestionnairex correspond à chacun des gestionnaires de périphériques pas sûrs en cas d'interruption.

2. Lorsque toutes les tâches de configuration DR sont terminées, réinitialisez le domaine pour que la configuration soit appliquée.


procedure icon   Transformation d'une unité de bande pas prise en charge en périphérique sûr en cas de détachement

Dans le système d'exploitation Solaris 9, les unités de bande qui sont originellement prise en charge par Sun Microsystems sont sûres en cas d'interruption et de détachement. Pour obtenir la liste des unités originellement prises en charge, consultez la page de manuel st(7D). Si la carte système que vous détachez contient une unité de bande originellement prise en charge, vous pouvez détacher cette carte en toute sécurité sans interrompre le périphérique.

Toutefois, si vous voulez utiliser une unité de bande qui n'est pas originellement prise en charge par Sun Microsystems, vous pouvez l'utiliser mais devez faire en sorte qu'elle devienne sûre (en cas de détachement) en procédant comme suit.

1. Editez le fichier /kernel/drv/st.conf en saisissant une entrée appropriée comportant le repère ST_UNLOADABLE (0x0400). Pour plus d'informations, reportez-vous à la page de manuel st(7D).

2. Lorsque toutes les tâches de configuration DR sont terminées, réinitialisez le domaine pour valider la configuration.

Préparation des opérations DR Detach

Vous devez préparer une carte pour les opérations DR Detach en suivant les étapes décrites ci-après. Bien que la liste de tâches suivantes implique un ordre donné, respecter cet ordre n'est pas nécessaire. Ces étapes concernent les cartes contenant des E/S ou des périphériques hors réseau.

  1. Démontez les systèmes de fichiers.

    Par exemple, si vous utilisez des métapériphériques Solstice DiskSuite, vous devez démonter le système de fichiers des métapériphériques qui comportent une partition résidant sur une carte (par exemple, umount /partit).

    Si vous possédez des périphériques pas sûrs (en cas d'interruption) qui gèrent des systèmes de fichiers, démontez ces systèmes de fichiers avant toute opération de détachement. Si vous devez manuellement interrompre des périphériques pas sûrs (en cas d'interruption) qui gèrent des systèmes de fichiers, verrouillez ceux-ci en utilisant la commande lockfs(1M) avant d'interrompre manuellement les périphériques pas sûrs.



    Attention - Démonter des systèmes de fichiers partagés avec l'utilitaire share(1M) peut avoir des conséquences au niveau des systèmes clients NFS.


  2. Supprimez les partitions de disques de la configuration de swap en utilisant swap(1M).

  3. Si vous voulez détacher une carte qui héberge des contrôleurs Sun StorEdge A3000, désactivez ces contrôleurs ou mettez-les manuellement hors ligne en utilisant les programmes rm6 ou rdacutil.

    La baie Sun StorEdge A3000 (auparavant dénommée RSM Array 2000) comporte des chemins de contrôleur doubles avec équilibrage de charge et reprise automatiques.

  4. Fermez tous les périphériques hors réseau en procédant comme suit :

    • Fermez toutes les instances d'un périphérique en arrêtant les processus qui ouvrent directement un périphérique ou une partition brute, ou demandez-leur de fermer le périphérique ouvert sur la carte.

    • Exécutez modunload(1M) pour décharger chaque gestionnaire pas sûr (en cas de détachement) ou gestionnaire chargé.



    Remarque - Si vous ne réussissez pas à décharger un périphérique qui possède un gestionnaire pas sûr, mettez la carte qui comporte les périphériques sur la liste noire des périphériques pas sûrs puis réinitialisez le domaine. Vous pourrez retirer la carte par la suite. Pour en savoir plus sur la liste noire, reportez-vous à la page de manuel blacklist(1M).


  5. Les processus liés aux processeurs d'une carte empêchent le détachement de la carte. Vous pouvez utiliser pbind(1M) pour les relier à d'autres processeurs.


Changements de configuration pendant des opérations DR

Cette section explique :

Contrôle des conditions forcées affectant la mise au repos du système

Si le système d'exploitation Solaris ne parvient pas à se mettre au repos lors d'une opération DR Detach impliquant une carte dotée d'une mémoire non-paginable, il en affiche les raisons. Par exemple, la présence d'un périphérique pas sûr en cas d'interruption ouvert ne pouvant pas être mis au repos par le système d'exploitation.

L'impossibilité de mettre le système au repos, à cause de périphériques ouverts pas sûrs (en cas d'interruption), est ce l'on appelle une condition forcée. Vous avez le choix entre faire une nouvelle tentative ou tenter d'imposer la mise au repos. Les conditions qui font que les processus ne s'interrompent pas sont généralement temporaires. Vous pouvez réessayer l'opération jusqu'à ce que la mise au repos réussisse.

Lorsque vous essayez d'imposer la mise au repos, vous permettez au système d'exploitation de s'arrêter en dépit de l'existence de conditions forcées. De cette manière, le système d'exploitation est forcé d'accepter l'opération de détachement. Notez que, même s'il est possible d'imposer la poursuite d'une opération de détachement lorsque des périphériques pas sûrs en cas d'interruption sont ouverts dans le système, il n'est pas possible d'imposer ce genre d'opération lorsqu'un périphérique pas sûr en cas de détachement réside sur la carte et que son gestionnaire est chargé.



Remarque - Les processus en temps réel n'empêchent pas le système d'exploitation de se mettre au repos.


La façon la plus directe de mettre le domaine au repos consiste à fermer tous les périphériques pas sûrs en cas d'interruption. Pour chaque gestionnaire de réseau vous devez exécuter la commande ifconfig(1M) avec le paramètre down, puis l'exécuter de nouveau avec le paramètre unplumb (pour plus d'informations, reportez-vous à ifconfig(1M)).



Remarque - Il devrait être possible de déplomber tous les gestionnaires de réseau. Toutefois, cette action est rarement testée dans les environnements habituels et peut provoquer des conditions d'erreur de gestionnaire. Si vous utilisez DR, Sun Microsystems suggère que vous testiez les fonctions des gestionnaires pas sûr en cas d'interruption pendant les phases de qualification et d'installation.


Si un périphérique pas sûr en cas d'interruption est ouvert et ne peut pas être fermé, vous pouvez interrompre manuellement le périphérique, puis imposer la mise au repos du système d'exploitation. Après la reprise du système d'exploitation, vous pouvez manuellement, relancez le périphérique comme expliqué ci-dessous.



Remarque - Si vous ne réussissez pas à interrompre un périphérique pour l'empêcher d'accéder au "centerplane" du domaine, il vaut mieux ne pas imposer la mise au repos du système d'exploitation car vous risqueriez de faire échouer le domaine. Par contre, vous pouvez remettre l'opération DR à plus tard en attendant que le périphérique pas sûr (en cas d'interruption) ne soit plus ouvert.



procedure icon   Interruption manuelle d'un périphérique pas sûr en cas d'interruption

1. Mettez fin à l'utilisation du périphérique en effectuant au moins une des opérations suivantes :

    a. Fermez le périphérique en arrêtant les processus qui l'ont ouvert.

    b. Demandez aux utilisateurs de ne pas utiliser le périphérique.

    c. Débranchez les câbles du périphérique.

    Par exemple, si un périphérique qui permet une entrée asynchrone qui n'est pas sollicitée est ouvert, vous pouvez débrancher ses câbles avant de mettre le système d'exploitation au repos, en empêchant que le trafic arrive au périphérique et que celui-ci accède au "centerplane" du domaine. Vous pouvez rebrancher les câbles après la reprise du système d'exploitation.

    d. Déchargez le gestionnaire du périphérique en utilisant la commande modunload(1M).

2. Effectuez de nouveau l'opération DR.

3. Faites ce qui suit :

    a. Rechargez le périphérique en utilisant la commande modload(1M).

    b. Rebranchez les câbles sur le périphérique.

    c. Informez les utilisateurs que le périphérique peut de nouveau être utilisé.

    d. Redémarrez les processus associés au périphérique.



Attention - Si vous tentez d'effectuer une mise au repos forcée lors du fonctionnement d'un périphérique pas sûr (en cas d'interruption), vous risquez de faire échouer le domaine. Toutefois, si le domaine échoue, les autres domaines exécutés sur le système Sun Enterprise 10000 ne sont pas affectés.



procedure icon   Mise au repos forcée d'un système



Attention - Utilisez l'option force avec précaution. Pour réussir à imposer la mise au repos du système d'exploitation, vous devez manuellement mettre le contrôleur au repos. Les éventuelles procédures qui permettent de le faire sont propres aux périphériques. Le périphérique ne doit pas transférer de données, de mémoire de référence ni provoquer d'interruptions pendant le fonctionnement. Veillez à tester les procédures utilisées pour mettre le contrôleur ouvert au repos avant de les exécuter sur un système de production. L'utilisation de l'option force pour mettre le système d'exploitation au repos, sans mettre tout d'abord le contrôleur au repos, risque de faire échouer le domaine et d'entraîner une réinitialisation.


Pour les opérations Solaris 9 (modèle DR 3.0), exécutez la commande deleteboard(1M) ou moveboard(1M) avec l'option -f.

Contraintes liées à la mémoire cible

Lorsque vous détachez une carte comportant de la mémoire non-paginable, DR repère une carte de mémoire de remplacement (cible) dans laquelle copier la mémoire non-paginable.

Si aucune carte cible n'est trouvée pour une opération copier-renommer, les commandes deleteboard(1M) et moveboard(1M) affichent les messages d'erreur suivants, dans l'ordre :

deleteboard: unconfigure 
SB2: No 
available memory target: dr@0:SB2::memory

moveboard: unconfigure 
SB2: No 
available memory target: dr@0:SB2::memory

Processeurs

Le processeur d'initialisation est responsable de l'entretien du tampon BBSRAM netcon.

Avant de détacher une carte hébergeant un processeur d'initialisation, DR doit assigner la fonction de processeur d'initialisation à un autre processeur actif (en ligne).

Périphériques réseau

Une opération Detach échouera s'il y a sur la carte ne serait-ce qu'une interface réseau remplissant au moins l'une des conditions suivantes. Dans ces cas, l'opération Detach échoue et la DR affiche un message d'erreur.


Communication DR distante

Dans les domaines Solaris 9, le serveur de configuration du domaine, dcs(1M), contrôle les opérations DR.


 

Résolution d'un problème d'interruption de la connexion pendant une opération (DR modèle 3.0) Solaris 9

1. Vérifiez le domaine.

dcs(1M) doit être configuré dans le fichier /etc/inetd.conf du domaine. Les lignes suivantes doivent figurer dans le fichier :

sun-dr stream tcp   wait 
root 
/usr/lib/dcs dcs
sun-dr stream tcp6  wait 
root 
/usr/lib/dcs dcs

2. Si le démon dcs est configuré dans /etc/inetd.conf, arrêtez dcs(1M) s'il est en cours d'exécution. Envoyez aussi un signal HUP au démon inetd(1M) pour qu'il relise le fichier de configuration inetd.conf(4) :

# kill 
-9 idp_dcs
# kill 
-HUP idp_inetd

idp_dcs est l'ID de processus du démon dcs(1M) et idp_inetd l'ID de processus du démon inetd(1M).

3. Vérifiez dans le fichier /var/adm/messages si des messages d'erreur proviennent de inetd(1M) s'il rencontre des difficultés pour lancer dcs(1M).

Le fichier exécutable du démon dcs(1M) devrait se trouver dans le répertoire /usr/lib.

4. A ce stade, réessayez l'opération DR en recommençant tout depuis le début.

Copyright © 2002, Sun Microsystems, Inc. Tous droits réservés.