Guide de configuration d'un domaine Sun Enterprise 10000

Variables et paramètres ajustables

Il existe plusieurs variables et paramètres qui influent sur les performances et l'utilisation des ressources des IDN. Cette section explique comment définir ces variables et paramètres et indique les valeurs minimales, maximales et par défaut.

La variable OpenBoot PROM

L'OpenBootTM PROM (OBP) possède une variable liée à IDN que vous devez modifier pour activer les IDN. Il s'agit de la variable de taille de région de mémoire partagée ou SMR (de l'anglais shared memory region), idn-smr-size. Cette variable spécifie la taille de la SMR en méga-octets. Une valeur nulle (zéro) désactive l'interconnexion IDN tandis qu'une valeur non-nulle indique le nombre de méga-octets d'espace noyau qui seront réservés à la SMR. La valeur par défaut de idn-smr-size est zéro (0).

Plus la SMR est importante, plus le nombre de tampons disponibles pour les transferts de données est élevé. Il faut toutefois savoir que passé un certain seuil l'augmentation de la SMR n'apporte plus aucun avantage supplémentaire. La valeur que nous suggérons d'adopter pour idn-smr-size est 32 méga-octets, elle devrait convenir dans la plupart cas. La valeur maximale est 96 méga-octets.

La valeur de idn-smr-size ne peut être définie qu'à l'invite OBP. Vous devez réinitialiser le domaine pour que la nouvelle valeur devienne effective. Vous pouvez cependant diminuer la taille courante de la SMR en utilisant la variable idn_smr_size du fichier idn.conf.


Remarque :

Au sein d'un IDN donné, tous les domaines doivent avoir la même valeur de idn-smr-size. Si un domaine n'a pas la même valeur de idn-smr-size que les autres ou si vous voulez changer la valeur pour l'ensemble de l'IDN, vous devez réinitialiser les domaines concernés à l'invite OBP et donner une nouvelle valeur à cette variable.


Définition des variables OBP
  1. Dans une fenêtre netcon(1M), connectez-vous en tant que super-utilisateur au domaine.

  2. Initialisez ou arrêtez le domaine à l'invite OBP et définissez la variable en utilisant la commande setenv, comme dans l'exemple suivant :


    <#Ø> ok setenv idn-smr-size taille
    

  3. Réinitialisez le domaine.

  4. Une fois la réinitialisation effectuée, contrôlez les paramètres OBP.


    <#Ø> ok cd /memory
    <#Ø> ok .properties
    

    La seconde commande produit une liste des variables OBP et des valeurs qui y sont associées, comme dans l'exemple suivant :


    idn-smr-size 											00 00 00 20
    idn-smr-addr											00 00 00 0a 7d 3f 00 00 00 00 00 00 02 00 00 00
    dr-max-mem											00 00 9c 40
    reg											0000000a 00000000 00000000 80000000
    available											0000000a 7fff0000 00000000 00004000
    											0000000a 7fcd8000 00000000 00016000
    											0000000a 00000000 00000000 7189e000
    name											memory

    Si la SMR a été correctement attribuée, la valeur de idn-smr-addr ne devrait pas être nulle mais correspondre à l'adresse physique de base de la SMR (par exemple, 0xA7D3F0000) et à sa taille en octets (par exemple, 0x2000000).

Paramètres du gestionnaire ndd(1M)

Vous pouvez changer les paramètres du gestionnaire ndd(1M) pour ajuster le système pour des performances et une utilisation des ressources optimales. Cette section examine les paramètres que vous pouvez changer, montre comment les modifier et indique les valeurs que vous pouvez utiliser pour chaque paramètre.

Définition des paramètres du gestionnaire ndd(1M)
  1. Lisez la valeur courante du paramètre.


    # ndd /dev/idn paramètre
    

    Utilisez la commande suivante pour afficher la liste de tous les paramètres ndd(1M) qui sont supportés par le gestionnaire IDN.


    # ndd /dev/idn "?"
    

  2. Changez le paramètre du gestionnaire.


    # ndd -set /dev/idn valeur du paramètre
    

    Vous devez utiliser la syntaxe -set pour modifier les paramètres du gestionnaire mentionnés dans cette section. Sauf spécification autre, tous les paramètres du gestionnaire de cette section peuvent être changés à tout moment.

    Le tableau suivant contient le nom des paramètres qu'il est possible de lire en utilisant la commande ndd(1M) ainsi qu'une courte description de ces paramètres. Pour plus d'informations sur l'utilisation de ndd(1M), consultez la page de manuel ndd(1M).

    Tableau 3-1 Paramètres ndd(1M)

    Nom 

    Min. 

    Max. 

    Défaut 

    Description 

    idn_modunloadable

    Indicateur binaire qui indique si le gestionnaire IDN est ou non déchargeable (en assumant qu'il ne soit pas utilisé). Cet indicateur est désactivé par une valeur de zéro (0) et activé par une valeur de un (1). Cette valeur peut être changée à tout moment. 

    idn_slabpool

    n/a 

    n/a 

    n/a 

    Si le domaine est connecté et s'il s'agit du maître de l'IDN, ce paramètre affiche le groupe de slabs de l'IDN, en indiquant le nombre de slabs qui sont disponibles et quels sont les slabs qui ont été attribués pour chaque domaine. Il s'agit d'une valeur en lecture seule. 

    idn_buffers

    n/a 

    n/a 

    n/a 

    Affiche le nombre de tampons E/S SMR non-réclamés que le domaine a par rapport aux domaines auxquels il est connecté. Il s'agit d'une valeur en lecture seule. 

    idn_mboxtbl

    n/a 

    n/a 

    n/a 

    Affiche la table de boîtes aux lettres attribuée au domaine. Si le domaine n'est pas membre d'un IDN, aucune table ne s'affiche. Les informations affichées comprennent le cookie de titre de la boîte aux lettres, la valeur des pointeurs actifs et/ou prêts, et une indication de si le serveur de canal correspondant est ou non prêt et/ou actif. Il s'agit d'une valeur en lecture seule. 

    idn_mboxtbl_all

    n/a 

    n/a 

    n/a 

    Affiche les mêmes informations que idn_mboxtbl, mais pour l'ensemble de l'IDN. Ce paramètre n'est pertinent que lorsqu'il est défini dans le contexte du domaine maître car il maintient un pointeur vers la zone de boîte aux lettres globale.

    idn_mainmbox

    n/a 

    n/a 

    n/a 

    Contient des informations détaillées sur les structures de gestion des boîtes aux lettres qui sont maintenues par le domaine pour envoyer et recevoir des boîtes à d'autres domaines membres de l'IDN. Il s'agit d'une valeur en lecture seule. 

    idn_global

    n/a 

    n/a 

    n/a 

    Affiche des informations d'état globales relatives au domaine (par exemple, les canaux actifs, le nombre de domaines auxquels il est connecté et l'adresse physique du SMR). Affiche également un résumé de l'état de connexion de chaque domaine de l'IDN. Il s'agit d'une valeur en lecture seule. 

    idn_domain

    n/a 

    n/a 

    n/a 

    Affiche des informations d'état propres au domaine (par exemple : décompte des E/S non-réclamés, numéro de vote et décompte des tampons non-réclamés). Il s'agit d'une valeur en lecture seule. 

    idn_domain_all

    n/a 

    n/a 

    n/a 

    Affiche des informations similaires à celles de idn_domain, pour tous les domaines auquel le domaine est connecté. Il s'agit d'une valeur en lecture seule.

    idn_bind_net

    n/a 

    n/a 

    n/a 

    Permet à l'utilisateur de lier des serveurs de canal (interfaces) spécifiques à des processeurs spécifiques au sein du domaine, permettant un contrôle plus poussé des processeurs qui dans le domaine pilotent réellement la réception des données IDN. Par défaut, les serveurs ne sont pas liés ; ils sont donc directement en compétition au niveau du temps de traitement avec les threads normales. L'argument est donné sous la forme channel=cpuid. Par exemple, 0=25 connecterait le serveur de canal qui est responsable du traitement des données reçues sur l'interface idn0 à cpuid 25. Cette valeur peut être modifiée à tout moment.

Paramètres de driver.conf(4)

Les IDN permettent de définir les valeurs de certains paramètres ajustables et/ou de configuration en utilisant le fichier driver.conf(4) du gestionnaire IDN. Le chemin de ce fichier est le suivant :

/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/idn.conf

Vous devez modifier le fichier driver.conf(4) pour changer ces paramètres. La plupart de ces paramètres sont considérés comme globaux. Seul le paramètre bind_cpu est pris en compte par instance (interface). Les valeurs des paramètres deviennent effectives lorsque le gestionnaire est chargé en utilisant la commande modload(1M).

La procédure à suivre pour définir les paramètres IDN dépend de l'état courant du domaine. Si le domaine est activé et en fonctionnement, mais n'est lié à aucun IDN, vous pouvez définir les paramètres IDN sans réinitialiser le domaine en suivant les instructions données dans "Définition des paramètres IDN sans réinitialisation". Si le domaine ne fonctionne pas ou si vous envisagez de le réinitialiser, vous pouvez définir les paramètres IDN en suivant les instructions données dans "Définition des paramètres IDN avec réinitialisation".

Définition des paramètres IDN sans réinitialisation
  1. Assurez-vous que le domaine n'est lié à aucun IDN.

  2. Dans une fenêtre netcon(1M), passez au répertoire qui contient le fichier idn.conf.


    % cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/
    

  3. Modifiez le fichier idn.conf de sorte qu'il reflète les nouvelles valeurs que vous voulez utiliser.

  4. Déplombez toutes les interfaces réseau IDN.

  5. Utilisez la commande ndd(1M) pour fixer le paramètre idn_modunloadable sur la valeur appropriée.


    % ndd -set /dev/idn idn_modunloadable 1
    

  6. Utilisez la commande modunload(1M) pour décharger le module du gestionnaire IDN.


    % modunload -i id
    

    La valeur de id doit correspondre à l'ID du module IDN. Consultez la page de manuel modinfo(1M) pour en savoir plus sur l'obtention du numéro d'ID du module.

  7. Replombez les interfaces réseau IDN.

Définition des paramètres IDN avec réinitialisation
  1. Dans une fenêtre netcon(1M), passez au répertoire qui contient le fichier idn.conf.


    % cd /platform/SUNW,Ultra-Enterprise-10000/kernel/drv/
    

  2. Utilisez un éditeur de texte pour modifier le fichier de sorte qu'il contienne les paramètres et les valeurs relatives à l'IDN.

    L'exemple suivant est un exemple de fichier idn.conf.


    name="idn" parent="pseudo" instance=0 bind_cpu=10;
    name="idn" parent="pseudo" instance=1;
    name="idn" parent="pseudo" instance=2 bind_cpu=35;
    idn_pil=4;
    idn_protocol_nservers=2;

    Pour l'ensemble des paramètres requis, vous devez modifier le fichier idn.conf de chacun des domaines de l'IDN. Pour tous les autres paramètres, vous pouvez modifier le fichier idn.conf du domaine concerné uniquement.

    Une entrée peut utiliser plusieurs lignes à condition toutefois d'être terminée par un point-virgule. Dans l'exemple, le serveur canal instance 0 pour (idn0) sera lié à l'UC 10, en supposant que cette dernière figure dans le système. Le serveur canal instance 1 pour (idn1) ne sera lié à aucune UC du système, tandis que le serveur canal instance 2 pour (idn2) sera lié à l'UC 35, en supposant que cette dernière figure dans le système.

  3. Réinitialisez le ou les domaines.

    Si vous avez changé les valeurs de paramètres qui doivent être identiques, vous devez réinitialiser chacun des domaines de l'IDN. Si vous avez changé les valeurs de paramètres qui ne doivent pas nécessairement correspondre, vous pouvez réinitialiser un seul des domaines de l'IDN. Pour la liste des paramètres dont les valeurs doivent être identiques, consultez la "Concordance obligatoire des paramètres".

Fichier idn.conf(4)

Vous pouvez définir les valeurs de certains paramètres dans le fichier idn.conf(4) de façon à ce qu'elles soient définies au moment du chargement de l'IDN au moyen de la commande modload(1M). Vous pouvez également ajouter des instances IDN à ce fichier. Modifiez le fichier idn.conf(4) pour chaque instance IDN au moyen de la ligne suivante où n est égal au numéro de l'instance.


name="idn" parent="pseudo" instance=n;


Remarque :

Tous les paramètres du fichier idn.conf(4) peuvent être changés pendant que le domaine est lié à l'IDN ; il faut toutefois réinitialiser le domaine pour que les valeurs deviennent effectives.


Le tableau suivant indique le nom des paramètres ainsi que les valeurs minimum, maximum et par défaut et les unités dans lesquelles elles sont exprimées.


Attention : Attention :

Les paramètres qui figurent dans le tableau suivant ne doivent être utilisés que par des utilisateurs IDN expérimentés. La modification de certaines valeurs risque d'avoir un effet négatif sur le comportement de l'IDN.


Tableau 3-2 Paramètres du fichier idn.conf(4) IDN

Nom 

Min. 

Max. 

Défaut 

Description 

bind_cpu

n/a 

n/a 

-1 

Spécifie à quel cpuid (ID d'UC) lier le serveur canal correspondant une fois celui-ci en ligne. Ce paramètre doit être associé à une instance d'UC particulière. Si le cpuid spécifié n'est pas une UC valide dans le domaine, le serveur de canal restera non-lié. La valeur donnée est l'ID de l'UC (-1 égal pas lié).

idn_awolmsg_interval

3600 

60 

Contrôle la fréquence à laquelle les messages AWOL sont affichés sur la console sur une base par domaine. La valeur est exprimée en secondes. 

idn_checksum

Indicateur binaire qui indique si la validation par somme de contrôle est activée ou non pour les boîtes aux lettres SMR. Il est désactivé par une valeur de zéro (0), et activé par une valeur de un (1). 

idn_dmv_pending_max

512 

128 

Contrôle le nombre maximal d'interruptions DMV non-réclamées qu'un seul processeur peut avoir en attente vis à vis du gestionnaire IDN. Il décrit également le nombre de structures de file utilisées pour encapsuler les données d`une interruption interdomaine entrante. La valeur est exprimée sous la forme d'un nombre. 

idn_history

Indicateur binaire indiquant si l'IDN doit ou non activer l'enregistrement interne de certains événements IDN. Mettre ce paramètre sur un (1) est utile dans le cadre de la recherche des pannes car il permet de rassembler des informations qui pourront servir au personnel chargé du débogage. Une valeur nulle (0) désactive l'indicateur, une valeur de un (1) l'active. 

idn_hiwat

1024 

1048576 

262144 

Contrôle le seuil haut de la file IDN STREAM. La valeur est exprimée en octets. 

idn_lowat

1  

524288 

Contrôle le seuil bas de la file IDN STREAM. La valeur est exprimée en octets. 

idn_max_nets

32 

Contrôle le nombre maximum de canaux ou interfaces réseau qui peuvent être plombés sur le gestionnaire IDN. La valeur est exprimée en unités générales. 

idn_mbox_per_net

31 

511 

127 

Contrôle le nombre d'entrées de boîte aux lettres par table de boîtes aux lettres (canal et/ou interface). La valeur doit être un chiffre impair. Elle est exprimée en unités générales. 

idn_msgwait_cfg

10 

300 

40 

Contrôle le temps d'attente minimal pour une réponse à un message CFG (configuration). La valeur est exprimée en secondes. 

idn_msgwait_cmd

10 

300 

40 

Contrôle le temps d'attente minimal pour une réponse à un message CMD (commande) (en général au domaine maître). La valeur est exprimée en secondes. 

idn_msgwait_con

10 

300 

20 

Contrôle le temps d'attente minimal pour une réponse à un message CON (connexion). La valeur est exprimée en secondes. 

idn_msgwait_data

10 

300 

30 

Contrôle le temps d'attente minimal pour une réponse à un appel de réveil DATA (déconnecter). La valeur est exprimée en secondes. 

idn_msgwait_fin

10 

300 

40 

Contrôle le temps d'attente minimal pour une réponse à un message FIN (déconnecter). La valeur est exprimée en secondes. 

idn_msgwait_nego

10 

300 

20 

Contrôle le temps d'attente minimal pour une réponse à un message NEGO (négociation). La valeur est exprimée en secondes. 

idn_netsvr_spin_count

10000 

500 

Contrôle le compte itératif qu'un serveur de canal interrogera au sujet des paquets entrant avant d'abandonner le processeur. La valeur est exprimée en unités générales. 

idn_netsvr_wait_max

6000 

1600 

Contrôle le nombre maximal de tics de l'horloge pendant lesquels ce serveur de canal dormira avant de passer au sommeil profond. 

idn_netsvr_wait_min

3000 

40 

Contrôle la valeur de tics d'horloge initiale pendant laquelle un serveur de canal dormira lorsqu'aucun paquet entrant n'aura été trouvé. La valeur est exprimée en tics d'horloge (100 tics correspondent à une seconde). 

idn_netsvr_wait_shift

Représente la valeur de laquelle le temps de sommeil du serveur de canal augmente à chaque fois qu'il se réveille et ne trouve pas de paquets. Avec une valeur de un (1), ce temps est doublé à chaque intervalle. Le temps de sommeil augmente jusqu'à atteindre la valeur maximale désignée par idn_netsvr_wait_max. La valeur est exprimée en unités générales.

idn_nwr_size

Entire SMR 

Entire SMR 

Contrôle la taille de la portion de la région réseau (NWR) de la SMR qui est utilisée pour la communication basée sur le réseau. La valeur est exprimée en méga-octets. 

idn_pil

Contrôle le niveau de priorité de l'interruption logicielle, auquel les interruptions interdomaines sont traitées. La valeur est exprimée sous la forme d'un nombre. 

idn_protocol_nservers

16 

Contrôle le nombre de threads qui sont déléguées pour traiter les messages de gestion de connexion IDN provenant de domaines distants membres de l'IDN. La valeur est exprimée sous la forme d'un nombre. 

idn_reclaim_max

128 

Contrôle le nombre maximal de tampons non-réclamés que le domaine essaye de réclamer. Une valeur de zéro (0) fait que le domaine en réclame autant que possible une fois le seuil minimal (idn_reclaim_min) atteint. La valeur est exprimée en tampons.

idn_reclaim_min

128 

Contrôle le seuil des tampons non-réclamés au delà duquel le domaine tente de réclamer les tampons. La valeur est exprimée en tampons. 

idn_retryfreq_con

60 

Contrôle le délai minimum s'écoulant entre les essais pour confirmer qu'un domaine entrant a atteint la phase CON (connecter). La valeur est exprimée en secondes. 

idn_retryfreq_fin

60 

Contrôle le délai minimum s'écoulant entre les essais pour confirmer qu'un domaine sortant a atteint la phase FIN (déconnecter). La valeur est exprimée en secondes. 

idn_retryfreq_nego

60 

Contrôle le délai minimum s'écoulant entre les essais d'initiation d'une connexion IDN. La valeur est exprimée en secondes. 

idn_sigbpil

Contrôle le niveau de priorité de l'interruption logicielle, auquel les requêtes sigblock du SSP sont traitées. Cette valeur est exprimée sous la forme d'un nombre. 

idn_slab_bufcount

1024 

32 

Contrôle le nombre de tampons à attribuer par slab. La valeur est exprimée en tampons. 

idn_slab_mintotal

16 

Contrôle le nombre minimum de slabs disponibles que le domaine maître conserve. Le domaine maître demande aux domaines esclaves de retourner les slabs inutilisés si le total des slabs disponibles descend en dessous de la valeur de cette variable. La valeur est exprimée en slabs. 

idn_slab_prealloc

10 

Contrôle le nombre de slabs à pré-attribuer lorsque le domaine est lié à un IDN. La valeur est exprimée en slabs. 

idn_smr_bufsize

512 

524288 

16384 

Contrôle la taille d'un tampon E/S SMR qui influe directement sur la taille MTU IDN. La valeur est exprimée en octets sous la forme d'une puissance de 2. 

idn_smr_size

Entire SMR 

La taille de la SMR est limitée par la valeur de la variable OBP idn-smr-size. La taille de la SMR est déterminée par la valeur minimale de la variable idn-smr-size et par la valeur minimale du paramètre idn_smr_size. Si idn-smr-size est nul, la variable OBP remplace la valeur du paramètre idn.conf(4). Cette valeur est exprimée en méga-octets.

idn_window_incr

32 

Contrôle la valeur dont idn_window_max est augmenté pour chaque canal et/ou interface actif supplémentaire. La valeur est exprimée en tampons.

idn_window_max

256 

64 

Contrôle le seuil de base des tampons non-réclamés, au delà duquel le domaine arrête d'envoyer des paquets de données supplémentaires au domaine correspondant. La valeur est exprimée en tampons. 

Concordance obligatoire des paramètres

Certains paramètres IDN doivent être identiques pour tous les domaines d'un IDN donné. Pendant l'échange des informations de configuration au moment de la connexion du domaine, chaque domaine vérifie que les informations reçues correspondent aux paramètres locaux avant d'autoriser la poursuite de l'opération de connexion. La liste suivante contient les noms de tous les paramètres qui doivent être identiques pour tous les domaines d'un IDN.