Guide d'administration du système Solaris Resource Manager 1.3

Chapitre 1 Généralités

Le logiciel Solaris Resource Manager assure la disponibilité des ressources pour les utilisateurs, les groupes et les applications. Il permet d'attribuer et de contrôler les principales ressources système telles que l'UC, la mémoire virtuelle, la mémoire physique (Solaris Resource Manager 1.3 sur Solaris 8 uniquement) et le nombre de processus. Il met également en oeuvre des politiques administratives régissant les ressources auxquelles les différents utilisateurs ont accès, et en particulier, le niveau de consommation de ces ressources permis à chaque utilisateur. Le logiciel Solaris Resource Manager est un outil clé pour le regroupement de serveurs et l'utilisation accrue des ressources.

Introduction à Solaris Resource Manager

Atteinte des objectifs de l'organisation

Les organisations de technologie de l'information doivent souvent contrôler les coûts et garantir les niveaux de service des applications de l'entreprise. La gestion des ressources permet de diminuer le coût global de propriété ou de contrôler avec plus de précision les utilisateurs et l'utilisation du système, et parfois d'atteindre ces deux objectifs.

En utilisant le logiciel Solaris Resource Manager pour catégoriser et définir les priorités d'utilisation, les administrateurs peuvent employer efficacement la capacité de réserve durant les périodes hors-pointe, éliminant souvent le besoin d'augmenter la puissance de traitement.

En répartissant les charges de travail dans le système, Solaris Resource Manager permet à l'administrateur d'exécuter et de gérer différentes applications dans un même système, plutôt que d'allouer un système entier -et toute sa capacité de pointe- à chaque application. L'approche la plus couramment employée pour assurer un service et un temps de réponse prévisibles consiste à utiliser un système pour chaque fonction. Cette méthode fonctionne, mais la prolifération de systèmes dans le centre informatique est coûteuse et difficile à gérer.

Solaris Resource Manager permet le regroupement de plusieurs applications sur un même serveur UNIX®, afin d'utiliser au maximum toutes les ressources dont on dispose. En même temps, tous les utilisateurs peuvent avoir accès à des ressources proportionnelles à leur niveau de service et à l'importance relative de leur travail.

Caractéristiques principales de Solaris Resource Manager

Le tableau ci-après présente et décrit sommairement les principales caractéristiques de contrôle des ressources système présentées dans ce manuel.

Ressource systèmeParamètre de Solaris Resource Manager Description
 Parts d'UC cpu.shares Temps d'UC alloué à un noeud limite et précisé dans le fichier de base de données des limites à titre de nombre de parts. Solaris Resource Manager attribue toutes les ressources système disponibles. Autrement dit, un noeud limite peut disposer de ressources supérieures à celles requises, le cas échéant.
 Utilisation cumulative d'UC cpu.accrue Utilisation cumulative d'UC de tous les noeuds limites du groupe ainsi que du noeud limite actuel.
 Limite de mémoire memory.limit Utilisation maximal de la mémoire virtuelle qui est permise à tous les processus reliés à un noeud limite. Cette limite est une valeur fixe qui est précisée dans le fichier de base de données des limites. Si zéro est indiqué, aucune limite n'est imposée.
 Limite de mémoire de processus memory.plimit Limite maximale de mémoire virtuelle par processus. Il s'agit d'une valeur fixe qui est précisée dans le fichier de base de données des limites. Si zéro est indiqué, aucune limite n'est imposée.
 Limite de mémoire physique rss.limit (Solaris 8 uniquement) Capacité de mémoire physique, exprimée dans des unités spécifiées, appliquée aux collections de processus liées à un noeud limite. Ce doit être un nombre positif.
 Utilisation cumulative de la mémoire memory.accrue Ensemble des ressources de mémoire utilisées pendant une période donnée. Cette valeur est indiquée en octets/seconde.
 Nombre de processus process.limit Limite le nombre de processus qu'un utilisateur peut exécuter en même temps, en fonction des limites fixes précisées dans le fichier de base de données des limites.
 Nombre de connexions par utilisateur flag.onelogin flag.nologinInterdit les connexions ou limite le nombre de sessions de connexion simultanées par utilisateur et/ou par groupe d'ordonnancement, d'après les limites fixes précisées dans le fichier de base de données des limites. Solaris Resource Manager assure le suivi du nombre de connexions à l'aide des registres d'authentification PAM et des entrées utmp(4). Le compteur est incrémenté et décrémenté dynamiquement.
 Temps de connexion terminal.limit terminal.usage terminal.accrue Solaris Resource Manager assure dynamiquement le suivi du temps de connexion de l'utilisateur et il compare cette valeur à la limite précisée dans le fichier de base de données des limites par l'administrateur du système ou le chef du groupe. Si la valeur s'approche de la limite indiquée, Solaris Resource Manager envoie des messages d'avertissement au terminal de l'utilisateur. Lorsque la limite est atteinte, l'utilisateur est avisé de la situation puis le système met automatiquement un terme à la session après un court délai de grâce.

Quand utiliser Solaris Resource Manager

Solaris Resource Manager peut fournir un contrôle efficace des ressources dans diverses situations, y compris le regroupement de serveurs, l'accueil de sites Web pour les fournisseurs de services Internet, le traitement par lot, l'administration de sites à population élevée ou variée et l'établissement de politiques visant à assurer un temps de réponse approprié pour les applications cruciales.

Regroupement des serveurs

Solaris Resource Manager convient idéalement aux environnements regroupant de multiples applications sur un même serveur. Le coût et la complexité de la gestion de nombreux ordinateurs incitent les gestionnaires de système à regrouper les applications sur des systèmes plus puissants et évolutifs. Avec Solaris Resource Manager, il est facile de réaliser de telles économies d'échelle.

Par exemple, un seul serveur Sun pourrait fournir les services d'applications, de fichiers et d'impression pour des clients hétérogènes, des services de messagerie/courrier, des services Web et des applications de base de données cruciales. Comme les serveurs Sun EnterpriseTM peuvent comporter de 1 à 64 processeurs, un serveur peut être partagé entre plusieurs services ou utilisé par toute l'entreprise. Dans d'autres systèmes regroupés, les environnements de développement, de prototypage et de production sont combinés sur un seul serveur puissant, par exemple un modèle Sun Enterprise 10000 ou Sun Enterprise 6500, plutôt que d'être répartis sur trois serveurs distincts. On peut également combiner des serveurs de base de données et d'applications sur une seule machine, ou encore des banques de données multiples. Quel que soit le type d'application ou la configuration, Solaris Resource Manager vous aide à répartir les ressources système entre tous les utilisateurs, toutes les applications et tous les groupes, en fonction des politiques de votre entreprise. Les applications cruciales sont protégées, car elles reçoivent leur part appropriée des ressources système.

Accueil de sites Web

Autrefois, les fournisseurs de services Internet devaient assigner des ordinateurs spécialisés à chaque client, ce qui augmentait considérablement les coûts et la complexité. Avec Solaris Resource Manager, un fournisseur de services Internet peut loger un grand nombre (voire des milliers) de serveurs Web sur une seule machine. Solaris Resource Manager permet aux administrateurs de contrôler la consommation des ressources associée à chaque site Web, en protégeant chacun d'eux contre les excès potentiels des autres. Il empêche également un script d'interface de passerelle commune (CGI) erroné d'épuiser les ressources de l'UC, et les applications des utilisateurs de monopoliser toute la mémoire virtuelle disponible.

Traitement par lot

Solaris Resource Manager peut servir à éviter que les traitements par lot aient une incidence sur les activités commerciales en cours, ainsi que sur d'autres travaux par lot qui s'exécutent en parallèle.

Population d'utilisateurs élevée ou variée

Solaris Resource Manager peut aider à gérer les ressources d'un système qui comporte une base d'utilisateurs importante et diversifiée, par exemple dans le cas d'un établissement d'enseignement. (D'ailleurs, Solaris Resource Manager a été initialement conçu en tant qu'ordonnanceur de ressources d'UC dans les universités de Sydney et de Nouvelle-Galles du Sud.) Si les charges de travail sont diversifiées, Solaris Resource Manager peut être configuré de manière à favoriser certains utilisateurs. Par exemple, dans les grandes maisons de courtage, les négociants ont occasionnellement besoin d'un accès rapide afin d'effectuer une interrogation ou un calcul. Les autres utilisateurs du système ont toutefois une charge de travail plus uniforme. Si les négociants bénéficient d'une puissance de traitement proportionnellement plus élevée, Solaris Resource Manager fait en sorte qu'ils l'obtiennent.

Caractéristiques principales

Solaris Resource Manager permet de gérer la consommation de diverses ressources système importantes telles que le temps de processeur, la mémoire virtuelle, le nombre de processus, le nombre de connexions et le temps de connexion. Le modèle administratif de Solaris Resource Manager augmente la flexibilité en permettant la délégation de privilèges administratifs dans le cadre d'une hiérarchie, ce qui libère le personnel du centre informatique des transactions administratives intra-groupe. De plus, Solaris Resource Manager comporte des mécanismes de collecte de données sur l'utilisation des ressources pouvant servir à la planification de la capacité ou à des fins de contre-passation.

Ressources de traitement

L'une des tâches fondamentales du système d'exploitation consiste à décider à quels processus attribuer l'accès aux ressources système. L'ordonnanceur à temps partagé (TS) par défaut de Solaris tente d'accorder à chaque processus environ le même temps d'accès aux ressources système. Une limitation de l'accès est appliquée aux processus sans ressources de mémoire physique dont l'exécution n'est pas autorisée, ainsi qu'aux processus ayant des requêtes d'E-S en suspens qui sont bloqués.

Cette méthode est à la base de la plupart des systèmes d'exploitation modernes ; elle donne de bons résultats en autant que la politique "d'accès égal" convienne à l'entreprise. Cependant, des mécanismes plus perfectionnés sont requis pour mettre en oeuvre des politiques différentes. Par exemple, un service de fabrication peut posséder un système puissant, mais généralement peu utilisé en raison de la fluctuation de la demande saisonnière, tandis que le service de génie est presque toujours à cours de ressources informatiques. Bien que la sous-utilisation des capacités d'une machine constitue un gaspillage, il a toujours été problématique de partager le système de fabrication avec le service de génie. Avec une politique d'ordonnancement élémentaire, il est impossible de signifier au système d'exploitation que les utilisateurs du service de fabrication ont priorité sur ceux du service de génie dans le même système. Si le service de fabrication exécute un travail consommant 75 % des ressources système, ce travail ne pourra progresser normalement que si les autres travaux demandent 25 % ou moins des ressources. Toutefois, si un travail de génie demande alors 50 % des ressources système, le travail de fabrication crucial ne disposera pas des ressources dont il a besoin, car le système tentera de satisfaire également les besoins des deux travaux.

Supposons maintenant que les administrateurs déterminent que les besoins de traitement normaux de la fabrication peuvent être satisfaits avec 80 % de la capacité du système. Grâce à Solaris Resource Manager, l'administrateur du système peut spécifier que les utilisateurs du service de fabrication peuvent recevoir jusqu'à 85 % de la puissance de traitement du système s'ils le demandent, et l'ordonnanceur répartira le reste parmi les autres utilisateurs éventuels. Une autre possibilité de configuration, tout aussi valable mais plus radicale, consisterait à spécifier que les utilisateurs du service de fabrication peuvent recevoir jusqu'à 100 % des ressources système au besoin, ce qui empêcherait les autres services d'utiliser le système lorsque la fabrication a besoin de l'ensemble du système.

Attribution de ressources

Solaris Resource Manager comporte une classe d'ordonnancement de l'UC qui remplace l'ordonnanceur de partage de temps standard. Ce module, appelé ordonnanceur SHR, constitue un ordonnanceur à partage équitable. Ce terme est toutefois imprécis, car c'est l'administrateur du système qui décide ce qui est "équitable". Ainsi, dans l'exemple ci-dessus il est équitable que le service de fabrication reçoive 100 % des ressources système. L'ordonnanceur SHR est responsable de l'attribution des ressources en fonction du plan défini dans le profil administratif.

Limitation des ressources

Solaris Resource Manager met à jour une base de données de la consommation des ressources et des limites associées.

L'ordonnanceur SHR tient compte des spécifications administratives relativement aux ressources garanties. Il peut gérer les ressources renouvelables (le temps machine, par exemple) ou fixes (telles que le nombre de processus).

D'autres modules de Solaris Resource Manager mettent en oeuvre des restrictions de la consommation de diverses ressources. Par exemple, le temps de connexion et le nombre de sessions utilisateur sont gérés par un module d'authentification enfichable (PAM). Le module PAM consulte la base de données de Solaris Resource Manager chaque fois qu'un utilisateur tente d'ouvrir une session. Lorsque le système authentifie l'utilisateur (généralement par mot de passe), le temps de connexion de l'utilisateur et le nombre de connexions actuelles sont comparés aux limites. Si une limite est dépassée, la session est refusée.

Lien avec les autres fonctions de contrôle des ressources de Solaris

L'environnement d'exploitation Solaris comporte plusieurs autres fonctions permettant de contrôler certains types de ressources. Certaines fonctions telles que l'ordonnancement en temps réel, nice(1), les quotas et les groupes de processeurs, font partie du système d'exploitation Solaris de base.

Solaris Bandwidth Manager est un progiciel offert en option, les domaines de système dynamiques sont des fonctions de la plate-forme du système Sun Enterprise 10000 et la reconfiguration dynamique est une fonction de la plate-forme du système Sun Enterprise.

Toutes ces composantes permettent une certaine gestion des ressources, mais elles diffèrent des fonctions de Solaris Resource Manager.

Différences entre Solaris Resource Manager et les produits similaires

Solaris Resource Manager est relié à plusieurs autres composants logiciels pouvant être présent dans le système, mais sans toutefois les remplacer.

Solaris Resource Manager dans les environnements Sun Cluster 3.0

L'environnement logiciel Sun Cluster offre un soutien à haute disponibilité aux services de données ainsi qu'un accès à une base de données parallèle se trouvant sur une grappe de serveurs. Sun Cluster prévient l'interruption du service, en cas de panne à un seul point, par le recours à une redondance matérielle, à la détection des pannes matérielles et logicielles, à des applications de relève ainsi qu'à un redémarrage automatique des services de données. Le logiciel Sun Cluster comprend un cadre de grappe et la prise en charge d'un ensemble d'agents à haute disponibilité. Sun Cluster comporte également une interface de programme d'application (API) dont on peut se servir pour créer des applications à haute disponibilité ainsi que pour intégrer celles-ci au cadre Sun Cluster.

Toutes les caractéristiques de Solaris Resource Manager en matière de contrôle des ressources système sont prises en charge par l'environnement Sun Cluster. Vous pouvez installer Solaris Resource Manager sur n'importe quelle topologie Sun Cluster valide, dans des grappes comportant deux noeuds ou plus. Pour de plus amples informations sur la configuration, reportez-vous à la rubrique Configuration de Solaris Resource Manager dans un environnement Sun Cluster 3.0 mis à jour.

Pour obtenir des trucs et astuces sur l'installation de Solaris Resource Manager dans des environnements de mise à jour Sun Cluster 3.0, reportez-vous au Solaris Resource Manager 1.3 System Installation Guide.