• Aucun résultat trouvé

Livres sur le sujet

Dans le document Red Hat Enterprise Linux 3 (Page 25-0)

1. Philosophie de l’administration système

1.11. Ressources supplémentaires

1.11.3. Livres sur le sujet

La plupart des livres sur l’administration système ne couvrent pas vraiment la philosophie sous-jacente de cet emploi. Toutefois, ces livres contiennent des sections qui fournissent des informations un peu plus détaillées sur les thèmes traités ici :

LeGuide de référence de Red Hat Enterprise Linux; Red Hat, Inc. — Fournit un aperçu des endroits où se trouvent les fichiers système clés, les paramètres concernant les utilisateurs et groupes et la configuration des PAM.

LeGuide de sécurité de Red Hat Enterprise Linux; Red Hat, Inc. — Examine en détails de nom-breux thèmes en relation avec la sécurité qui concernent les administrateurs de systèmes Red Hat Enterprise Linux.

LeGuide d’administration système de Red Hat Enterprise Linux; Red Hat, Inc. — Inclut des chapitres traitant de la gestion des utilisateurs et des groupes, de l’automatisation des tâches et de la gestion des fichiers journaux.

Linux Administration Handbook(Guide de l’administration Linux) de Evi Nemeth, Garth Snyder et Trent R. Hein ; Prentice Hall — Fournit une section intéressante sur les politiques et la politique de l’administration système, y compris plusieurs discussions du type "que se passerait-il si" à propos de l’éthique.

Linux System Administration : A User’s Guide(Administration de systèmes Linux : Guide util-isateur) de Marcel Gagne ; Addison Wesley Professional — Contient un chapitre intéressant sur l’automatisation de différentes tâches.

Solaris System Management(Management de Systèmes Solaris) de John Philcox ; New Riders Publishing — Bien que ce livre ne soit pas écrit spécifiquement pour Red Hat Enterprise Linux (ou même pour Linux en général) et utilise le terme "manager de systèmes" au lieu d’"administrateur système", ce livre offre au cours de 70 pages une vue d’ensemble des rôles multiples que les ad-ministrateurs système jouent dans une entreprise traditionnelle.

Contrôle des ressources

Comme nous l’avons mentionné précédemment, une grande partie de l’administration système est axée sur les ressources et leur utilisation de manière efficace. En comparant les différentes ressources avec les personnes et programmes qui les utilisent, il est possible non seulement d’économiser de l’argent mais également de satisfaire vos utilisateurs autant que possible. Toutefois, deux questions se posent :

Qu’entend-on par ressources ? Et :

Comment peut-on savoir quelles ressources sont utilisées (et dans quelle mesure)?

L’objectif de ce chapitre est de vous fournir les moyens vous permettant de répondre à ces questions en vous aidant à développer vos connaissances sur les ressources et la manière de les contrôler.

2.1. Concepts de base

Avant d’être en mesure de contrôler les ressources, il est évidemment essentiel de savoir quelles ressources doivent être contrôlées. Dans tous les systèmes, les ressources suivantes sont disponibles :

Puissance de CPU

Largeur de bande

Mémoire

Stockage

Ces ressources sont traitées de manière plus détaillée dans les chapitres suivants. Toutefois, il suffit pour le moment de garder à l’esprit que ces ressources ont un impact direct sur les performances du système et par conséquent sur la productivité et satisfaction de vos utilisateurs.

De manière relativement simpliste, le contrôle des ressources n’est rien d’autre que l’obtention d’informations sur l’utilisation d’une ou plusieurs ressources système.

Ceci étant, le contrôle des ressources est rarement aussi simple. Il faut tout d’abord prendre en compte les ressources devant être contrôlées. Il est ensuite nécessaire d’examiner chaque système devant être contrôler en prêtant une attention toute particulière à la situation spécifique de chaque système.

Les systèmes que vous surveiller se divisent en deux catégories :

En ce moment, le système connaît de temps à autre des problèmes de performance et vous aimeriez améliorer la situation.

Actuellement le système fonctionne parfaitement et vous souhaitez que la situation demeure ainsi.

Dans le cas de la première catégorie, il est nécessaire de contrôler le système dans une perspective de performance système, alors que dans le cas de la deuxième catégorie, il faut contrôler les ressources système dans une perspective de planification de la capacité.

Étant donné que chaque perspective a ses propres besoins spécifiques, les sections suivantes examinent chaque catégorie de manière détaillée.

2.2. Contrôle de la performance du système

Comme nous l’avons mentionné ci-dessus, le contrôle de la performance système est généralement effectué pour répondre à des problèmes de performance. Soit le système tourne trop lentement, soit les programmes (et parfois même le système entier) ne réussit pas à tourner du tout. Dans les deux cas, le contrôle de la performance est normalement effectué en tant que première ou dernière étape d’un processus en trois étapes :

1. Contrôle du système pour identifier la nature et l’envergure du manque de ressources à l’origine des problèmes de performance

2. Analyse des données obtenues lors de la phase de contrôle et évidemment, prise de mesures (généralement réglage de performance et/ou obtention de matériel supplémentaire) pour ré-soudre le problème

3. Contrôle du système pour confirmer que le problème de performance à bien été résolu Dans de telles circonstances, le contrôle de performance a tendance à être de courte durée et de portée plus précise.

Remarque

Le contrôle de la performance système est souvent un processus interactif, dont les étapes sont répétées plusieurs fois afin d’obtenir la meilleure performance système possible. En effet, étant donné qu’il existe une relation d’interdépendance entre les ressources système et leur utilisation, l’élimination d’un goulet d’étranglement au niveau des ressources en expose souvent un autre.

2.3. Contrôle de la capacité du système

Le contrôle de la capacité du système est effectuée en tant que composante d’un programme perma-nent de planification de la capacité. La planification de la capacité utilise un contrôle des ressources à long terme pour déterminer des taux de changement dans l’utilisation des ressources système. Une fois que ces taux de changement sont connus, il est alors possible d’effectuer une planification plus précise et à long terme, quant à l’obtention de ressources supplémentaires.

Le contrôle effectuer à des fins de planification de capacité est différent du contrôle de performance et ce, à deux niveaux :

Le contrôle a lieu de manière plus ou moins continue

Le contrôle est généralement moins détaillé

Ces différences s’expliquent par la différence existant entre les objectifs d’un programme de planifica-tion de capacité. Pour la planificaplanifica-tion de capacité il est nécessaire d’avoir une perspective "d’ensemble à long terme"; l’utilisation de ressources anormale ou à court terme n’est que peu important. Les don-nées sont plutôt recueillies au cours d’une certaine durée ce qui permet de catégoriser l’utilisation des ressource en fonction des changements de charge de travail. Dans des environnements plus limités (dans lesquels tourne par exemple une seule application), il est possible de transposer l’impact de l’application sur les ressources système. Cette transposition peut être effectuée avec suffisamment de précision pour pouvoir déterminer par exemple, l’impact causée par cinq agents d’un service clientèle utilisant l’application du service pendant la période la plus active de la journée.

2.4. Que contrôler ?

Comme nous l’avons mentionné précédemment, les ressources de tout système se composent de la puissance CPU, de la largeur de bande, de la mémoire et du stockage. Au premier abord, le contrôle ne semble porter que sur ces quatre éléments différents.

Regrettablement, ce n’est pas aussi simple. Prenez par exemple un disque dur. Quel genre d’informations aimeriez-vous connaître au niveau de sa performance ?

Quelle est la quantité d’espace disque libre ?

Combien d’opérations d’E/S par seconde effectue-t-il en moyenne ?

Combien de temps faut-il en moyenne pour que chaque opération d’E/S soit effectuée ?

Combien de ces opérations d’E/S sont des opérations de lecture ? Combien sont des opérations d’écriture ?

Quelle est la quantité moyenne de données lues/écrites lors de chaque opération d’E/S ?

Il existe bien d’autres manières d’examiner la performance du disque dur ; les éléments précédents n’abordent le sujet que très superficiellement. Le concept essentiel qu’il convient de garder à l’esprit est que les données de chaque ressource se présentent sous différents types.

La section suivante examine les différents types d’informations relatives à l’utilisation pouvant être utiles pour comprendre le comportement de chacun des types principaux de ressources.

2.4.1. Contrôle de la puissance CPU

Au niveau le plus simpliste, il peut être plus difficile de contrôler la puissance CPU que de déterminer la possibilité que l’utilisation du CPU atteigne 100%. Si l’utilisation du CPU reste au-dessous de 100%, quelle que soit l’activité du système, une puissance de traitement supplémentaire est disponible pour faire face à une activité supérieure.

Toutefois, rares sont les systèmes n’atteignant pas, à un moment ou à un autre, une utilisation du CPU à 100%. À ce stade, il est important d’examiner des données plus détaillées sur l’utilisation du CPU.

Ce faisant, il est alors possible de commencer à identifier à quel niveau la majorité de votre puissance de traitement est utilisée. Ci-après figurent certaines des statistiques les plus populaires en matière d’utilisation CPU :

Utilisateur contre système

Une comparaison du pourcentage de temps passé à effectuer des opérations de traitement au niveau de l’utilisateur par rapport a celui dédié aux opérations de traitement au niveau du sys-tème, peut indiquer si une charge de travail est essentiellement due à l’exécution d’applications ou au temps de gestion du système d’exploitation. Des pourcentages plus élevés au niveau des utilisateurs ont tendance à être positifs (à condition que les utilisateurs ne connaissent pas de per-formance insatisfaisante) alors que des pourcentages plus élevés au niveau du système tendent à indiquer qu’il existe des problèmes nécessitant un examen plus détaillé.

Changements de contexte

Un changement de contexte se produit lorsque le CPU arrête d’exécuter un processus particulier et en lance un autre. Étant donné que tout changement de contexte demande que le système d’exploitation prenne contrôle du CPU, des changements de contexte excessifs semblent aller de paires avec des degrés élevés de consommation CPU au niveau du système.

Interruptions

Comme le nom l’indique, les interruptions correspondent à des situations dans lesquelles un changement soudain intervient au niveau du traitement effectué par le CPU.Des interruptions ont généralement lieu en raison d’une activité matérielle (telle qu’un périphérique d’E/S finissant une

opération d’E/S) ou en raison d’un logiciel (tel que des interruptions logicielles qui contrôlent le traitement d’applications). Étant donné que les interruptions doivent s’effectuer à un niveau du système, un taux élevé d’interruptions entraîne une consommation de CPU plus élevée au niveau du système.

Processus exécutables

Un processus peut se trouver dans différents états. Il peut, par exemple :

Attendre qu’une opération d’E/S soit terminée

Attendre que le sous-système de gestion de mémoire traite un défaut de page Dans ces cas-là, le processus n’a pas besoin du CPU.

Toutefois, après un certain temps, l’état du processus change et ce dernier devient alors exécu-table. Comme le nom l’indique, un processus exécutable est un processus capable d’effectuer un travail dés qu’il est programmé pour recevoir du temps CPU. Ceci étant, si plusieurs processus sont exécutables à un moment donné, tous les processus exécutables sauf un1doivent attendre leur tour pour être traité par le CPU. En contrôlant le nombre de processus exécutables, il est possible de déterminer le degrés de dépendance de votre système par rapport au CPU.

D’autres métriques de performance reflétant un impact sur l’utilisation du CPU ont tendance à in-clure différents services fournis par le système d’exploitation aux processus. Elles peuvent inin-clure des statistiques relatives à la gestion de la mémoire, au traitement des E/S etc. Ces statistique révèlent éga-lement que, lorsqu’un système est sous surveillance, les différentes statistiques ne constituent pas des données complètement indépendantes. En d’autres termes, il se peut que les statistiques d’utilisation du CPU identifient un problème au niveau du sous-système d’E/S ou que les statistiques d’utilisation de la mémoire révèlent un défaut de conception au niveau d’une application.

Par conséquent, lors du contrôle de la performance du système, il n’est pas possible d’examiner une statistique particulière de manière entièrement indépendante ; seulement en prenant en compte la situation globale est-il possible d’extraire des informations utiles de toute statistique recueillie sur la performance.

2.4.2. Contrôle de la largeur de bande

Le contrôle de la largeur de bande est une opération plus difficile que celui des autres ressources décrites ici. En effet, les statistiques de performance ont tendance à être basées sur les périphériques alors que la plupart des endroits où la largeur de bande est importante ont tendance à se trouver au niveau des bus reliant les périphériques. Dans les cas où plusieurs périphériques partagent un bus commun, les statistiques fournies sur chaque périphérique sembleront peut-être acceptables, mais la charge totale que ces périphériques placent sur le bus est en réalité beaucoup plus importante.

Il peut se poser un autre défit au niveau du contrôle de la largeur de bande, lorsque les statistiques relatives aux périphériques eux-mêmes ne sont pas disponibles. C’est précisément la cas pour des bus d’extension du système et pour les chemins des données2. Toutefois, bien que des statistiques 100%

précises sur la largeur de bande ne soient pas toujours disponibles, il existe souvent suffisamment d’informations pour permettre un certain niveau d’analyse, en particulier lorsque d’autres statistiques sur le sujet sont prises en compte.

Parmi certaines des statistiques les plus courantes sur la largeur de bande figurent : 1. Dans le cas d’un système informatique doté d’un seul processeur.

2. De plus amples informations sur les bus, sur les chemins des données et sur la largeur de bande sont dispo-nibles dans le Chapitre 3.

Nombre d’octets reçus/envoyés

Les statistiques relatives à l’interface réseau fournissent une indication sur l’utilisation de la largeur de bande d’un des bus les plus visibles — le réseau.

Décomptes des interfaces et taux

Ces statistiques en relation avec le réseau peuvent fournir entre autres des indications sur des collisions excessives, des erreurs de transmission et de réception. En utilisant ces statistiques (en particulier si elles sont disponibles pour plus d’un système du réseau), il est possible de résoudre un certain nombre de problèmes en relation avec le réseau, avant même d’utiliser les outils de diagnostic du réseau les plus courants.

Transferts par seconde

Généralement recueilli pour les périphériques blocs d’E/S, tels que des lecteurs disques durs et des lecteurs de bandes haute performance, ce type de statistiques est un bon moyen de déterminer si la limite de la largeur de bandes d’un périphérique particulier est atteinte. En raison de leur nature électromagnétique, les lecteurs de disques et de bandes peuvent seulement effectuer un nombre déterminé d’opérations d’E/S par seconde ; leur performance se détériore rapidement au fur et à mesure que le nombre d’opération se rapproche de la limite.

2.4.3. Contrôle de la mémoire

S’il existe un domaine dans lequel les statistiques de performance abondent, c’est bien celui du contrôle de l’utilisation de la mémoire. En raison de la complexité inhérente aux systèmes d’exploitation dotés de mémoire virtuelle paginée à la demande, les statistiques relatives à l’utilisation de la mémoire prennent de nombreuses formes différentes. C’est à ce niveau qu’a lieu la plupart du travail d’un administrateur système effectuant la gestion des ressources.

Les statistiques énumérées ci-dessous donnent un bref aperçu des statistiques de gestion de mémoire couramment disponibles :

Pages reçues (In)/Pages transmises (Out)

Ces statistiques permettent d’estimer le flux de pages entre la mémoire du système et les pé-riphériques de stockage de masse qui y sont reliés (généralement les disques durs). Des taux élevés pour ces deux types de statistiques indiquent généralement que le système est à court de mémoire physique et effectue des opérations d’écroulement(ou thrashing) ou qu’il utilise plus de ressources système pour charger des pages en mémoire et pour les décharger que pour exécuter des applications.,

Pages actives/Pages Inactives

Ces statistiques indiquent le degré d’utilisation des pages mises en mémoire. L’absence de pages inactives peut représenter un avertissement quant à un manque de mémoire physique imminent.

Pages libres, partagées, tamponnées et mises en cache

Ces statistiques fournissent de plus informations plus détaillées que celles relatives aux pages actives/inactives. Grâce à ces statistiques, il est possible de déterminer les différentes manières selon lesquelles la mémoire est utilisée.

Swap Entrants/Swap sortants

Ces statistiques expliquent le comportement générale de l’échange de mémoire (ou swapping) du système. Des taux excessivement élevés indiquent ici qu’il existe peut-être des problèmes liés à un manque de mémoire.

Pour bien contrôler l’utilisation de la mémoire, il est nécessaire de disposer d’une bonne compré-hension du fonctionnement des systèmes d’exploitation dotés de mémoire virtuelle paginée à la de-mande. Alors qu’un tel sujet pourrait faire l’objet d’un livre entier, nous nous contenterons d’aborder les concepts de base dans le Chapitre 4. En lisant ce chapitre et en passant du temps à effectivement contrôler un système, vous disposerez des bases nécessaires pour ensuite approfondir vos connais-sances sur le sujet.

2.4.4. Contrôle du stockage

En matière de stockage, il existe généralement deux types de contrôle différents :

Contrôle pour garantir un espace disque suffisant

Contrôle pour identifier des problèmes en relation avec la performance

Il est nécessaire d’effectuer un contrôle aussi bien au niveau du disque que de la performance car il est tout à fait possible d’avoir de sérieux problèmes à un niveau et absolument aucun à l’autre. Par exemple, il est possible qu’un disque dur soit à court d’espace sans pour autant entraîner de problème de performance. De même, il est possible qu’un disque dur, bien que disposant de 99% d’espace libre, fonctionne au-delà de sa capacité en terme de performance.

Toutefois, il est vraisemblable que le système moyen doive faire face à un manque de ressources aussi bien au niveau de l’espace disque que de la performance. Dans de telles circonstances, il y a également de grandes chances que — jusqu’à un certain point — des problèmes dans un domaine aient un impact sur l’autre domaine. Très souvent ce type d’interaction entraîne une performance d’E/S de plus en plus mauvaise au fur et à mesure qu’un disque dur approche de la barre des 0%

d’espace libre toutefois, dans des cas où la charge d’E/S est extrême, il est tout à fait possible de ralentir la capacité de traitement des E/S à un point tel que les applications ne peuvent plus tourner correctement.

Dans tous les cas de figure, les statistiques suivantes sont utiles pour le contrôle du stockage : Espace libre

L’espace libre est probablement la ressource que les administrateurs système surveillent le plus étroitement ; un administrateur ne contrôlant jamais l’espace libre sera un cas rarissime (ou alors, il dispose d’un certain processus de contrôle automatique).

Statistiques sur les systèmes de fichiers

Ces statistiques (telles que le nombre de fichiers par répertoire, la taille moyenne des fichiers, etc.) fournissent des informations supplémentaires plus utiles que le simple pourcentage d’espace libre. Grâce à ces informations détaillées, les administrateurs peuvent configurer le système de manière à optimiser la performance car la charge d’E/S imposée par un système de fichiers peuplé de petits fichiers n’est pas la même que celle correspondant à un système de fichiers composé d’un seul fichier énorme.

Transferts par seconde

Ce genre de statistique constitue un bon moyen de déterminer si les limites de la largeur de bande d’un périphérique particulier ont été atteintes.

Ce genre de statistique constitue un bon moyen de déterminer si les limites de la largeur de bande d’un périphérique particulier ont été atteintes.

Dans le document Red Hat Enterprise Linux 3 (Page 25-0)