C H A P I T R E  1

Introduction à la DR sur les systèmes milieu de gamme Sun Fire

Alors que les systèmes d'exploitation Solaris 9 et Solaris 10 prennent entièrement en charge la fonctionnalité de reconfiguration dynamique (DR, Dynamic Reconfiguration), certaines versions antérieures du logiciel Solaris étaient incompatibles avec la reconfiguration des cartes d'E/S. Le logiciel Solaris 8 2/02 fut la première version du logiciel Solaris 8 à prendre entièrement en charge la fonctionnalité DR sur les domaines. Pour des informations et des instructions exhaustives sur l'activation de la DR sur un système exécutant le logiciel Solaris 8, rendez-vous sur le site :

http://www.sun.com/servers/midrange/dr_sunfire



Remarque - Vous devez bénéficier d'un accès root pour pouvoir effectuer des opérations DR.




Reconfiguration dynamique

Le logiciel DR fait partie de Solaris. Il vous permet de reconfigurer de manière dynamique les cartes système et de les retirer ou d'en installer de nouvelles dans un système en toute sécurité pendant que le système d'exploitation fonctionne et en perturbant très peu les processus utilisateur en cours d'exécution dans le domaine.

Le logiciel DR vous permet d'effectuer les opérations suivantes :

Interface de ligne de commande

Le logiciel DR dispose d'une interface de ligne de commande (ou CLI, Command Line Interface) qui utilise la commande cfgadm, qui correspond au programme d'administration de la configuration. L'agent DR fournit également une interface à distance à l'interface graphique utilisateur de Suntrademark Management Center.

Interface graphique utilisateur

Le logiciel facultatif Sun Management Center (à partir de la version 3.0) offre diverses fonctions telles que la gestion des domaines et une interface graphique (IG) pour l'interface de ligne de commande (CLI) DR cfgadm. Si vous préférez utiliser une IG, servez-vous du logiciel Sun Management Center au lieu des interfaces de ligne de commande du logiciel du contrôleur système et du logiciel DR.

Pour utiliser le logiciel Sun Management Center, vous devez rattacher la carte du contrôleur système à un réseau. Avec une connexion réseau, vous pouvez visualiser à la fois l'interface de ligne de commande et l'interface graphique. Pour obtenir des instructions sur l'utilisation du logiciel Sun Management Center, reportez-vous au Guide de l'utilisateur de Sun Management Center et au Supplément Sun Management Center pour les systèmes milieu de gamme Sun Fire. Pour les instructions relatives à la connexion du contrôleur système à un réseau sur la carte du contrôleur système, consultez la documentation relative à l'installation de votre système.


Concepts DR

Cette section décrit les principaux concepts DR relatifs aux domaines de systèmes milieu de gamme Sun Fire.

Domaines

Les serveurs milieu de gamme Sun Fire peuvent être subdivisés en domaines système dynamiques, désignés tout simplement par le nom domaines dans ce document. Ces domaines reposent sur les emplacements de cartes système qui leur sont assignés. Chaque domaine est isolé électriquement en partitions matérielles, empêchant ainsi un problème survenu dans un domaine du serveur d'affecter les autres.

Les informations sur la configuration des domaines, conservées sur le contrôleur système (SC), décrivent le mode de partitionnement logique des emplacements de cartes système en domaines. La configuration des domaines comprend les emplacements vides comme les emplacements occupés.

Le nombre des emplacements disponibles pour un domaine donné est contrôlé par une liste des composants disponibles conservée sur le contrôleur système. Dès lors qu'un emplacement est assigné à un domaine, il devient visible pour ce domaine, et invisible et indisponible pour les autres. A l'inverse, vous devez déconnecter un emplacement et annuler son assignation à un domaine avant de pouvoir l'assigner et le configurer sur un autre domaine.

Le domaine logique désigne l'ensemble des emplacements assignés au domaine. Le domaine physique correspond à l'ensemble des cartes interconnectées physiquement. Un emplacement peut être membre d'un domaine logique sans appartenir à un domaine physique pour autant. Une fois le domaine démarré, vous pouvez assigner une carte système à un domaine logique. Cependant, elle ne fera pas partie du domaine physique tant que le système d'exploitation ne le demande pas. Les emplacements ou les cartes système non assignés à un domaine sont disponibles pour les autres domaines comprenant leur nom dans leur liste de composants disponibles. Vous pouvez assigner des cartes à un domaine à partir de la console de la plate-forme ou de la plate-forme du domaine si les cartes figurent dans la liste des composants disponibles de ce domaine. Cette liste est uniquement modifiable à partir de la console de la plate-forme.

Amovibilité

Pour qu'un périphérique soit détachable, les conditions suivantes doivent être réunies :

Certaines cartes ne se détachent pas, car leurs ressources ne peuvent pas être déplacées. Par exemple, si un domaine est équipé d'une seule carte CPU, cette dernière ne se détache pas. Si la fonctionnalité de basculement n'est pas implémentée sur le disque d'initialisation, la carte d'E/S qui y est connectée ne sera pas détachable.

En l'absence de plusieurs chemins menant à une carte d'E/S, vous pouvez effectuer les opérations suivantes :

Quiescence

Pendant une opération de déconfiguration sur une carte système équipée d'une mémoire permanente (OpenBoottrademark PROM ou mémoire noyau), le système d'exploitation est brièvement interrompu. C'est ce que l'on appelle la quiescence. Toutes les activités du système d'exploitation et des périphériques du centerplane doivent cesser pendant cette phase critique de l'opération.

Pour savoir rapidement si votre carte dispose d'une mémoire permanente, exécutez la commande suivante en tant que superutilisateur :


# cfgadm -av | grep permanent

 

Le système répond par un message de sortie similaire à l'exemple suivant, qui décrit la carte système 0 (zéro) :


N0.SB0::memory connected configured ok base address 0x0, 4194304
KBytes total, 668072 KBytes permanent

 

Pour que la quiescence soit possible, le système d'exploitation doit interrompre temporairement tous les processus, les CPU et les activités des périphériques. Si le système d'exploitation ne peut pas se mettre en mode quiescence, les raisons de cet échec sont affichées, par exemple :

Les conditions empêchant l'interruption des processus sont souvent temporaires. En cas d'échec, examinez l'origine du problème. Si le système d'exploitation a détecté une condition temporaire (l'échec de l'interruption d'un processus), vous pouvez recommencer l'opération.

La mémoire permanente désigne l'emplacement où résident le noyau Solaris et ses données. Vous ne pouvez pas libérer le noyau de la mémoire de la même manière que les processus utilisateur stockés sur d'autres cartes libèrent de la mémoire en renvoyant la page hors du périphérique de swap. Pour ce faire, cfgadm fait appel à la technique du copier-renommer (copy-rename).

Lors d'une opération de ce type, la première étape consiste à arrêter toutes les activités de la mémoire sur le système en interrompant les opérations d'E/S et les activités de threads ; cette étape est appelée quiescence. Pendant la phase de quiescence, le système est gelé et ne répond pas aux événements externes tels que les paquets réseau. La durée de quiescence dépend de deux facteurs : le nombre de threads et de périphériques d'E/S à arrêter, et le volume de mémoire à copier. En général, c'est le premier de ces facteurs qui détermine le temps de quiescence requis, car les périphériques d'E/S doivent être interrompus puis relancés. Un état de quiescence dure habituellement plus de deux minutes.

Étant donné que la quiescence a un impact visible, cfgadm demande votre confirmation avant de la mettre en oeuvre. Si vous saisissez :


# cfgadm -c unconfigure N0.SB0

 

Le système répond par une demande de confirmation :


System may be temporarily suspended, proceed (yes/no)?

 

Si vous utilisez Sun Management Center pour effectuer l'opération de DR, une fenêtre contextuelle affiche ce message.

Saisissez Yes (Oui) pour confirmer que l'impact de la phase de quiesce est acceptable, et poursuivre.

Périphériques sûrs/pas sûrs en cas d'interruption

Lorsque le logiciel DR interrompt le système d'exploitation, tous les pilotes de périphériques rattachés au système d'exploitation doivent également être interrompus. S'il s'avère impossible d'interrompre un pilote (ou de le rétablir par la suite), l'opération DR échoue.

Un périphérique sûr en cas d'interruption n'a pas accès à la mémoire ou ne peut pas interrompre le système lorsque le système d'exploitation est en mode quiescence. Un pilote est considéré comme sûr en cas d'interruption s'il prend en charge la quiescence du système d'exploitation (interruption/reprise). Un pilote sûr en cas d'interruption garantit également que, lors de l'exécution d'une demande d'interruption, le périphérique qu'il contrôle ne tentera pas d'accéder à la mémoire, même s'il est ouvert au moment de la requête.

Un périphérique non sûr en cas d'interruption autorise l'accès à la mémoire ou l'interruption du système pendant que le système d'exploitation est en mode quiescence.

Points d'attache

Un point d'attache est un terme collectif désignant une carte et son emplacement. DR peut afficher l'état de l'emplacement, la carte et le point d'attache. La définition DR d'une carte englobe aussi les périphériques qui y sont connectés, de sorte que le terme « occupant » fait référence à la combinaison carte/périphériques rattachés.

Il existe deux types de formats pour les points d'attache :

 

N0 désigne le noeud 0 (zéro),

SB désigne une carte système,

IB désigne une carte d'E/S et

x désigne un numéro d'emplacement. Un numéro d'emplacement est un chiffre compris entre 0 et 5 pour une carte système, entre 6 et 9 pour une carte d'E/S.

 

Opérations DR

Il existe quatre catégories d'opérations DR principales.


Opération

Description

Connexion

L'emplacement alimente la carte et en contrôle la température. Pour les cartes d'E/S, l'opération de connexion est incluse dans la configuration.

Configuration

Le système d'exploitation assigne des rôles fonctionnels à une carte et charge les pilotes des périphériques de la carte et ceux qui y sont rattachés.

Déconfiguration

Le système détache de façon logique une carte du système d'exploitation et met hors ligne les pilotes de périphériques associés. Le contrôle de l'environnement continue, mais les périphériques de la carte ne peuvent plus être utilisés par le système.

Déconnexion

Le système arrête de contrôler la carte et l'alimentation de l'emplacement est coupée.


 

Si une carte système est utilisée, mettez fin à son utilisation et déconnectez-la du domaine avant de la mettre hors tension. Après avoir inséré et mis sous tension une carte système neuve ou mise à niveau, connectez-en le point d'attache et configurez-la pour qu'elle puisse être utilisée par le système d'exploitation.

La commande cfgadm(1M) peut connecter et configurer (ou déconfigurer et déconnecter) en une seule commande mais, si nécessaire, chaque opération (connexion, configuration, déconfiguration ou déconnexion) peut être effectuée séparément.

Matériel enfichable à chaud

Les cartes et les modules enfichables à chaud sont dotés de connecteurs spéciaux qui alimentent la carte ou le module en courant électrique avant même que les broches de données n'entrent en contact. Les cartes et les périphériques qui ne sont pas munis de ces connecteurs ne peuvent pas être insérés ni retirés pendant que le système fonctionne.

Les cartes d'E/S et les cartes CPU/mémoire utilisées dans les systèmes milieu de gamme Sun Fire sont des périphériques enfichables à chaud. Certains périphériques, tels que l'alimentation périphérique, ne sont pas des modules enfichables à chaud et ne peuvent pas être retirés pendant que le système fonctionne.

États et conditions

Un état correspond au statut de fonctionnement d'un réceptacle (emplacement) ou d'un occupant (carte). Une condition désigne le statut de fonctionnement d'un point d'attache.

Avant de vous lancer dans une opération DR quelle qu'elle soit sur une carte ou un composant de domaine, vous devez en déterminer l'état et la condition. Utilisez la commande cfgadm(1M) avec les options -la pour afficher le type, l'état et la condition de chaque composant ainsi que l'état et la condition de chaque emplacement de carte du domaine. Pour une liste des types de composants, reportez-vous à la section Types de composants.


États, conditions et classes de cartes

Cette section décrit les états, conditions et classes des cartes système (ou emplacements système).

États des réceptacles de type carte

Le réceptable d'une carte peut se trouver dans l'un des trois états suivants : empty (vide), disconnected (déconnecté) ou connected (connecté). Lorsque vous insérez une carte, l'état du réceptacle passe de vide à déconnecté. Lorsque vous retirez une carte, l'état du réceptacle passe de déconnecté à vide.



caution icon

Attention - Retirer physiquement une carte en état connecté ou une carte sous tension et en état déconnecté bloque le système d'exploitation et peut causer des dommages irréversibles à cette même carte système.




Nom

Description

empty

Absence de carte.

disconnected

La carteest déconnectée du bus système. Une carte peut être déconnectée sans être mise hors tension. Cependant, une carte doit obligatoirement être déconnectée et mise hors tension pour que vous puissiez la retirer de son emplacement.

connected

La carte est sous tension et connectée au bus système. Vous pouvez voir les composants d'une carte à condition que celle-ci soit connectée.


États des occupants de type carte

Une carte peut prendre deux états d'occupant : configured (configuré) ou unconfigured (déconfiguré). L'état d'occupant d'une carte déconnectée est toujours déconfiguré.


Nom

Description

configured

Au moins un des composants de la carte est configuré.

unconfigured

Tous les composants de la carte sont déconfigurés.


 

Conditions des cartes

Une carte peut se trouver dans l'une des quatre conditions suivantes : unknown (inconnue), ok (correcte), failed (défectueuse) ou unusable (inutilisable).


Nom

Description

unknown

La carte n'a pas été testée.

ok

La carte est opérationnelle.

failed

La carte a échoué au test.

unusable

L'emplacement de la carte est inutilisable.


 

Classes de cartes

La commande cfgadm affiche les cartes système des serveurs milieu de gamme Sun Fire comme faisant partie de la classe sbd et les cartes CompactPCI (cPCI) comme appartenant à la classe pci.

Pour visualiser les classes associées à des points d'attache, exécutez la commande suivante en tant que superutilisateur :


# cfgadm -s "cols=ap_id:class"

 

Pour dresser la liste des points d'attache dynamiques et des classes associées, ajoutez l'option -a de la commande cfgadm comme argument à la commande précédente.


États, conditions et types des composants

Cette section décrit les états et conditions des composants et des types correspondants.

États des réceptacles de type composant

Un composant ne peut pas être connecté ni déconnecté individuellement. Par conséquent, les composants ne peuvent se trouver que dans un état : connected (connecté).

États des occupants de type composant

Les états d'occupant de type composant sont de deux types : configured (configuré) ou unconfigured (déconfiguré).


Nom

Description

configured

Le composant est disponible pour fonctionner avec le logiciel Solaris.

unconfigured

Le composant n'est pas disponible pour fonctionner avec le logiciel Solaris.


 

Conditions des composants

Un composant peut se trouver dans l'une des trois conditions suivantes : unknown (inconnue), ok (correcte), failed (défectueuse).


Nom

Description

unknown

Le composant n'a pas été testé.

ok

Le composant est opérationnel.

failed

Le composant a échoué au test.


 

Types de composants

Vous pouvez utiliser DR pour configurer ou déconfigurer plusieurs types de composants.


Nom

Description

cpu

CPU individuels

memory

L'ensemble de la mémoire de la carte.

pci

Tout périphérique d'E/S, contrôleur ou bus.


 


DR sur les cartes d'E/S

Vous devez être extrêmement attentif lorsque vous ajoutez ou retirez des cartes système dotées de périphériques d'E/S. Avant de retirer une carte de ce type, assurez-vous que l'ensemble des périphériques de la carte sont fermés et que tous les systèmes de fichiers sont démontés.

Si vous avez besoin de retirer temporairement d'un domaine une carte dotée de périphériques d'E/S et de la rajouter avant d'effectuer toute autre opération d'ajout ou de retrait portant sur une autre carte de ce type, la reconfiguration n'est pas nécessaire et n'a pas à être effectuée. Dans ce cas en effet, les chemins d'accès aux périphériques de la carte restent inchangés.

Avant d'effectuer toute opération DR sur une carte d'E/S (IBx), saisissez la commande suivante pour arrêter le démon vold :


# sh /etc/init.d/volmgt stop

 

Une fois l'opération DR terminée, redémarrez le démon vold en exécutant la commande suivante :


# sh /etc/init.d/volmgt start

 

Sur les systèmes milieu de gamme Sun Fire, DR ne prend en charge ni SAI/P (BugID 4466378) ni HIPPI/P. Les versions antérieures ne prenaient pas en charge le pilote SunHSI/P, mais le bogue à l'origine de la non prise en charge(n° 449636) a été résolu dans les patchs 106922 (2.0) et 109715 (3.0). Pour plus d'informations à ce sujet, consultez SunSolve.

Vous devez exécuter la commande devfsadm(1M) afin de visualiser les modifications qui ont été apportées, notamment celles concernant le passage de PCI à cPCI.

Limitations relatives aux assemblages CompactPCI

Les limitations suivantes s'appliquent à la reconfiguration impliquant des assemblages CompactPCI :

La déconfiguration d'une carte cPCI entraîne sa déconnexion automatique. Si l'autoconfiguration est activée, connecter une carte cPCI permet également de la configurer. Si tel n'est pas le cas, vous devez procéder à la configuration manuelle de la carte.

Résolution d'un problème de périphérique d'E/S

Tous les périphériques d'E/S doivent être fermés préalablement à leur déconfiguration. Si vous détectez un problème de périphérique d'E/S, les points suivants vous permettront peut-être de résoudre ce problème.



Remarque - Si vous faites appel à la commande ndd(1M) pour définir les paramètres de configuration des pilotes réseau, ces paramètres ne seront pas forcément maintenus après une opération DR. Pour configurer les paramètres de manière permanente, utilisez le fichier /etc/system ou driver.conf associé à un pilote particulier.




Mémoire permanente et non permanente

Pour que vous puissiez supprimer une carte, le système d'exploitation doit en libérer la mémoire. Libérer une carte implique le vidage du contenu de sa mémoire non permanente dans la zone de swap et copier le contenu de sa mémoire permanente (le noyau et le logiciel OpenBoottrademark PROM) sur une autre carte mémoire.

Pour déplacer de la mémoire permanente, assurez-vous que le système d'exploitation sur un domaine est défini temporairement en mode quiescence, interrompant ainsi toutes les activités (sur ce domaine uniquement normalement). La durée de la période de quiescence dépend de la configuration des E/S du domaine et des charges de travail induite par les opérations en cours.

Détacher une carte comportant de la mémoire permanente est la seule opération pendant laquelle le système d'exploitation est en mode quiescence. Par conséquent, vous devez savoir où réside la mémoire permanente de façon à ne pas trop perturber le fonctionnement du domaine. Pour afficher la taille de la mémoire permanente, utilisez la commande cfgadm(1M) avec son option -av. Pour libérer une carte équipée de mémoire permanente, le système d'exploitation doit trouver un bloc de mémoire disponible d'une taille suffisante, appelé mémoire cible, sur lequel il copiera le contenu de la mémoire permanente, désignée comme la mémoire source.

Contraintes liées à la mémoire cible

DR prend en charge la reconfiguration de la mémoire permanente d'une carte système sur une autre à condition que la carte cible dispose au moins de la même quantité de mémoire que la carte source. Si tel n'est pas le cas, le système interdit l'opération DR. Si la quantité disponible est supérieure sur la carte cible, la mémoire supplémentaire est ajoutée au pool de mémoire disponible.


Illustration des concepts DR

DR vous permet de déconnecter puis de reconnecter des cartes système sans devoir arrêter le système. Vous pouvez utiliser cette fonctionnalité pour ajouter ou supprimer des ressources système pendant que le système continue à fonctionner.

À titre d'exemple de reconfiguration des ressources d'un système, prenons le cas de la configuration d'un système Sun Fire illustrée dans le diagramme ci-après : le domaine A contient les cartes système 0 et 2 et la carte d'E/S 7 tandis que le domaine B inclut les cartes système 1 et 3 et la carte d'E/S 8.



Remarque - Avant d'effectuer toute opération DR, assurez-vous que le système répond aux critères indiqués à la section Limitations.




FIGURE 1-1 Exemples de domaines avant reconfiguration


Pour réassigner la carte système 1 du domaine B sur le domaine A, vous pouvez utiliser l'IG du logiciel Sun Management Center. Vous pouvez aussi suivre la procédure manuelle suivante sur la CLI de chaque domaine :

1. En tant que superutilisateur, saisissez la commande suivante sur la ligne de commande dans le domaine B afin de déconnecter la carte système 1 :


# cfgadm -c disconnect -o unassign N0.SB1

 

2. Tapez ensuite la commande suivante sur la ligne de commande dans le domaine A pour assigner, connecter et configurer la carte système 1 dans le domaine A :


# cfgadm -c configure N0.SB1

 

La configuration système obtenue est la suivante. Vous remarquerez que seule la façon dont les cartes sont connectées a changé, pas leur disposition physique au sein du coffret.


FIGURE 1-2 Exemples de domaines après reconfiguration



Limitations

Entrelacement de la mémoire

Les cartes système ne peuvent pas être reconfigurées de manière dynamique si la mémoire système est entrelacée sur plusieurs cartes CPU/mémoire.



Remarque - Pour plus d'informations sur l'entrelacement de la mémoire, reportez-vous au paramètre interleave-scope de la commande setupdomain, décrit dans le manuel Sun Fire Midrange Systems Platform Administration Manual et le Sun Fire Midrange System Controller Command Reference Manual.



À l'inverse, il est possible de reconfigurer les cartes CompactPCI et les cartes d'E/S de manière dynamique, que la mémoire soit entrelacée ou non.