Installation et administration de Solaris Container Manager 1.1

Chapitre 3 Présentation des conteneurs et démarrage du produit

Ce chapitre explique ce que sont les conteneurs et les projets et comment démarrer le produit.

Les rubriques traitées sont les suivantes :

Présentation de la gestion des conteneurs

Un projet est un conteneur associé à un hôte qui facilite l'organisation et la gestion des ensembles de ressources système physiques. Un projet est utile lorsque vous mettez en oeuvre un plan global de consolidation des serveurs. Les projets offrent les fonctionnalités suivantes :

Une fois le logiciel installé et configuré, plusieurs projets par défaut sont disponibles pour une utilisation immédiate. Vous pouvez également créer des projets personnalisés à l'aide d'un assistant qui vous guide pas à pas tout au long du processus. Chaque projet est associé à un conteneur. Ce conteneur peut être réutilisé pour créer de nouveaux projets. Les projets offrent les avantages suivants :

L'IG du gestionnaire de conteneur se présente sous la forme d'un navigateur doté de trois vues (onglets) de gestion : une vue de l'hôte, une autre spécifique au conteneur et une vue distincte pour les alarmes déclenchées. Vous pouvez adapter la vue de l'hôte et la vue du conteneur en créant des groupes et en sélectionnant les éléments devant figurer dans ces groupes.

De plus, les processus exécutés dans le conteneur, ainsi que les ressources utilisées, peuvent être contrôlés en temps réel via le logiciel. Plusieurs options graphiques sont également disponibles pour évaluer le niveau d'utilisation des ressources par conteneur ou par hôte, avec possibilité d'exporter les données obtenues dans un fichier. Ces fonctions vous permettent de contrôler et d'évaluer l'utilisation des ressources afin de procéder aux ajustements nécessaires.

Grâce à la fonction d'alarme du logiciel, vous pouvez recevoir une notification par courrier électronique lorsque le seuil d'utilisation des ressources que vous avez défini est dépassé par un conteneur donné. Les icônes d'alarme sont également affichées dans l'IG du logiciel pour les hôtes et les conteneurs.

Avec la fonction Tâche Changement de ressources, il est possible de programmer des changements de limites de ressources pour un ou plusieurs conteneurs à partir d'une même requête. À cet effet, un assistant vous guide tout au long du processus de création ou de modification des tâches Changement de ressources.

Présentation des propriétés de conteneur

Un conteneur est associé aux propriétés suivantes :

Le nom assigné à un conteneur est définitif et ne peut pas être modifié. Cela s'applique également au nom d'un projet. Les autres informations d'identification d'un conteneur peuvent être modifiées.

Le conteneur est enregistré par le logiciel et peut être utilisé et réutilisé jusqu'à sa suppression. Un projet est un conteneur qui a été associé à un hôte. Il est actif dès lors qu'il est associé à un hôte et que ses réservations de ressources ont été définies.

Plusieurs projets, utilisant la même définition et les mêmes réservations de ressources, pouvant être actifs simultanément sur différents hôtes, le conteneur est capable de gérer efficacement les projets définis à l'échelle d'un centre de données. Une fois le conteneur enregistré, il peut être utilisé à tout moment pour activer un projet sur n'importe quel hôte. Ainsi, le conteneur peut être utilisé comme modèle pour créer un nouveau projet.

Le conteneur peut servir de modèle pour différents projets. Il stocke les propriétés de base des projets en un point centralisé. Les propriétés de base des projets sont les suivantes :

Les autres propriétés, telles que les parts de CPU et la limite de mémoire, sont spécifiques à l'hôte sur lequel le projet est activé. Dans Solaris Container Manager 1.1, cet ensemble de propriétés de base, qui est stocké de façon centralisée, est appelé le conteneur. Lorsque le conteneur est activé sur un hôte spécifique, il est instancié sous la forme d'un projet Solaris et stocké dans /etc/project.

Par exemple, si une société crée un conteneur pour ses applications de messagerie, les propriétés de base du projet sont les suivantes :

Lorsque le conteneur est activé sur un hôte spécifique, la société crée une instance du projet et peut alors spécifier un pool de ressources, des parts de CPU et des limites de mémoire.

Figure 3–1 Conteneurs et projets

Les conteneurs s'utilisent et fonctionnent comme des modèles permettant de créer plusieurs projets.

Vous pouvez utiliser un conteneur pour créer plusieurs projets dans différentes zones et sur une grande variété d'hôtes. Par exemple, si vous utilisez un conteneur pour créer trois projets actifs sur trois hôtes différents, vous disposez alors d'un conteneur comportant trois projets. La modification des informations de base du conteneur se répercute sur tous les projets basés sur ce conteneur.

L'assistant de création de projet vous permet de créer des projets qui sont activés une fois toutes les étapes de l'assistant exécutées. Un conteneur est créé parallèlement et son nom est enregistré dans l'IG du logiciel. Vous pouvez également vous contenter de créer le conteneur et activer le projet associé à une date ultérieure à l'aide d'un assistant conçu à cet effet.

Les tâches suivantes peuvent être exécutées via l'IG du logiciel pour un conteneur :

Les tâches suivantes peuvent être exécutées via l'IG du logiciel pour un projet :

États d'un projet

Un projet ne met pas en oeuvre les limites d'utilisation des ressources que vous définissez pour une application. C'est le noyau Solaris qui met en oeuvre ces limites une fois la réservation minimum de CPU et le capital de mémoire spécifiés et après l'activation du projet. Avant de commencer à utiliser les projets, vous devez connaître les différents états pouvant leur être associés. Un projet peut être associé à l'un des trois états suivants : défini, actif et inactif.

Figure 3–2 États d'un projet

Illustration présentant les différents états d'un projet. Le texte associé décrit le contexte.

Pendant toute sa durée de vie, un projet peut passer d'un de ces états à l'autre.

Conteneurs et projets

Le conteneur est créé au tout début du processus, avant même que le projet ne soit complètement défini. Chaque projet doit être doté d'un nom unique et peut être enregistré indéfiniment dans la base de données.

Figure 3–2 illustre le passe du projet à l'état actif après l'association du conteneur dont il dépend à un hôte. Un projet inactif peut revenir à l'état Défini après avoir été désactivé et une fois qu'il n'est plus associé à aucun hôte.

Activation d'un projet

La première étape de la procédure d'activation d'un projet consiste à associer le conteneur dont il dépend à un hôte. seconde étape consiste à définir les limites de ressources, autrement dit, à définir la réservation minimum de CPU et le capital de mémoire pour le projet. Le projet doit être associé à un hôte capable de prendre en charge ces limites de ressources. Un projet actif peut également être décrit comme étant déployé, ce qui signifie qu'il a été transféré et qu'il se trouve sur un hôte.

Lors de la création d'un projet de type Application via l'assistant Nouveau projet, il est possible de spécifier une expression à rechercher pour identifier les processus associés à l'application. Dans ce cas, tous les processus correspondant à l'expression à rechercher sont automatiquement transférés dans le conteneur. Lorsque le projet est activé, une entrée est créée dans la base de données /etc/project sur l'hôte auquel le conteneur est associé. De la même façon, les processus associés sont alors transférés et associés au nom du projet pour le conteneur. Une fois tous les processus transférés, toutes les données d'utilisation des ressources sont collectées et enregistrées pour le projet en question.

Projet inactif

Lors de la désactivation d'un conteneur, les limites de ressources correspondantes ne sont plus mises en oeuvre. L'état d'un projet désactivé devient Inactif et celui-ci est supprimé du fichier /etc/project de l'hôte. Bien qu'inactif, le projet existe toujours dans la base de données du logiciel et est conservé dans l'attente d'une utilisation ultérieure. Lors de la réactivation d'un projet, les limites de ressources du conteneur associé sont à nouveau mises en oeuvre.

Toutes les données collectées relatives à l'utilisation des ressources par le projet pendant sa période d'activation sont conservées dans la base de données. Il est possible de demander des rapports d'utilisation des ressources pour un projet inactif jusqu'à 30 jours suivant sa désactivation.

IG du gestionnaire de conteneurs

Les commandes standard de la ligne de commande pour la gestion des ressources du logiciel Solaris ne sont pas prises en charge par le gestionnaire de conteneurs. La gestion des conteneurs doit s'effectuer à partir de l'interface graphique (IG) du gestionnaire de conteneurs. Le démarrage de l'IG du gestionnaire de conteneurs est possible à partir de la Java Web Console via l'utilisation d'un navigateur. Les navigateurs suivants sont pris en charge :

ProcedureDémarrage de l'interface graphique du gestionnaire de conteneurs

Étapes
  1. Si votre ID utilisateur UNIX ne figure pas dans le fichier /var/opt/SUNWsymon/cfg/esusers, créez l'entrée correspondante.

    Vous devez également être membre d'un groupe esadm ou esdomadm.

    Pour des instructions concernant la création d'une entrée et l'assignation à un groupe, reportez-vous à la section Setting Up Users du Sun Management Center 3.5 Installation and Configuration Guide.

  2. Démarrez un navigateur.

    Pour obtenir la liste des navigateurs pris en charge, reportez-vous à la section IG du gestionnaire de conteneurs.

  3. Pour accéder à l'IG du gestionnaire de conteneurs, tapez :


    https://sunmc-server_machine_name:6789/containers
    

    La page de connexion à la Java Web Console s'affiche.

    Figure 3–3 La page de connexion à la Java Web Console

    Page de connexion à la Java Web Console avec trois champs : nom du serveur, nom de l'utilisateur et mot de passe.

    Si la page de connexion ne s'affiche pas, vous devez redémarrer la Java Web Console. Pour des instructions détaillées, reportez-vous à la section Redémarrage de la Java Web Console.


    Astuce –

    Si la page Console s'affiche, cliquez sur le lien Solaris Container Manager 1.1 affiché sous la section Systems (Systèmes) pour accéder à l'IG.


  4. Connectez-vous à la Java Web Console en utilisant votre ID et votre mot de passe d'utilisateur UNIX.

    L'IG du gestionnaire de conteneurs s'affiche. L'écran comporte trois onglets : Hôtes, Conteneurs, Alarmes ouvertes.

    Figure 3–4 Page principale du gstionnaire de conteneurs

    Page principale du gestionnaire de conteneurs avec trois onglets : Hôtes, Conteneurs, Alarmes ouvertes.

ProcedureRedémarrage de la Java Web Console

Si vous ne parvenez pas à accéder à la Java Web Console, utilisez cette commande pour la redémarrer.

Étape

    En tant que superutilisateur (su -), redémarrez la Java Web Console en tapant :


    # /usr/sbin/smcwebserver restart
    

Onglets de l'IG du gestionnaire de conteneurs

Le tableau ci-dessous fournit des informations sur les onglets affichés dans le volet droit de l'IG du gestionnaire de conteneurs.

Tableau 3–1 Onglets de l'IG du gestionnaire de conteneurs

Onglet 

Nom de l'onglet 

Contenu 

Hôte (vue) 

Contenu 

Fournit des informations sur les pools de ressources de l'hôte sélectionné. 

 

Propriétés 

Fournit des informations sur les propriétés de l'hôte, de la zone, du projet ou du pool de ressources sélectionné. 

 

Utilisation 

Fournit des informations sur l'utilisation des ressources quotidienne, hebdomadaire ou mensuelle pour un hôte, une zone, un projet ou un pool. Des données d'utilisation en temps réel sont disponibles pour les projets actifs. Cet onglet s'affiche uniquement si le logiciel Performance Reporting Manager est installé. 

 

Projets 

Fournit des informations sur les projets associés à un hôte. 

 

Zones 

Fournit des informations sur les zones associées à un hôte. 

Conteneurs (vue) 

Contenu 

Fournit des informations sur les projets. 

 

Propriétés 

Fournit des informations sur les propriétés de l'hôte, du conteneur, du projet ou du pool de ressources sélectionné. 

 

Utilisation 

Fournit des informations sur l'utilisation des ressources quotidienne, hebdomadaire ou mensuelle pour un hôte, une zone, un projet ou un pool. Des données d'utilisation en temps réel sont disponibles pour les projets actifs. Cet onglet s'affiche uniquement si le logiciel Performance Reporting Manager est installé. 

 

Tâches (Tâches Changement de ressources) 

Fournit des informations sur les tâches Changement de ressources programmées. Vous pouvez également créer une nouvelle tâche Changement de ressources à partir de cet onglet. Notez que les conteneurs par défaut ne peuvent pas être associés à des tâches Changement de ressources. 

Alarmes ouvertes 

 

Fournit des informations sur les alarmes déclenchées, y compris la gravité, le message, l'objet géré, l'heure de déclenchement et la notification de réception. 

Pool de ressources (navigation descendante) 

Contenu 

Fournit des informations sur les zones associées au pool de ressources sélectionné. 

 

Propriétés 

Fournit des informations sur les propriétés associées au pool de ressources sélectionné. 

 

Utilisation 

Fournit des informations sur l'utilisation des ressources quotidienne, hebdomadaire ou mensuelle d'un pool. Cet onglet s'affiche uniquement si le logiciel Performance Reporting Manager est installé. 

 

Projets 

Fournit des informations sur les projets associés au pool de ressources sélectionné. 

Zone (navigation descendante) 

Contenu 

Fournit des informations sur les projets associés à la zone sélectionnée. 

 

Propriétés 

Fournit des informations sur les propriétés associées à la zone sélectionnée. 

 

Utilisation 

Fournit des informations sur l'utilisation des ressources quotidienne, hebdomadaire ou mensuelle d'une zone. Cet onglet s'affiche uniquement si le logiciel Performance Reporting Manager est installé. 

Projet (navigation descendante) 

Propriétés 

Fournit des informations sur les propriétés associées au projet sélectionné. 

 

Utilisation 

Fournit des informations sur l'utilisation des ressources quotidienne, hebdomadaire ou mensuelle d'un projet. Cet onglet s'affiche uniquement si le logiciel Performance Reporting Manager est installé. 

 

Processus 

Fournit des informations sur les processus associés au projet sélectionné. 

 

Seuils d'alarme 

Permet de définir ou supprimer des seuils d'alarme. 

Vue Hôte

La vue Hôte organise les informations du point de vue de l'hôte. Toutes les machines agent gérées s'affichent dans la fenêtre de navigation. Les pools de ressources disponibles pour chaque hôte s'affichent lorsque vous cliquez sur le triangle de développement affiché en regard du nom de l'hôte. Vous pouvez également gérer les conteneurs associés à l'hôte à partir de cette vue.

Tous les hôtes agent sur lesquels est installé le logiciel sont automatiquement détectés et ajoutés dans la vue Hôte. Cette vue est accessible à partir de l'onglet de gauche dans la fenêtre de navigation. Tous les hôtes agent détectés sont initialement placés dans un groupe par défaut appelé Hôtes. Par la suite, vous pouvez organiser cette vue en créant de nouveaux groupes et en transférant les hôtes dans les groupes appropriés.


Remarque –

Seules les machines agent situées dans le contexte serveur de Sun Management Center et sur lesquelles le logiciel Solaris Container Manager 1.1 est installé sont chargées dans la vue Hôte. Pour plus d'informations sur le contexte serveur, reportez-vous à la section Architecture de Sun Management Center du Guide de l’utilisateur de Sun Management Center 3.5.


Les onglets et les informations disponibles dans la vue Hôte sont répertoriés dans le Tableau 3–1.

Les informations relatives à toutes les instances de projet associées à un hôte sont fournies dans la table Projets.

L'illustration suivante présente la vue Hôte et la table Projets associée au pool par défaut.

Figure 3–5 Exemple : Vue Hôte avec la table Projets

Capture d'écran de la table Projets dans la vue Hôte. Le texte associé décrit le contexte.

La table Projets fournit des informations sur chaque projet existant, à chaque ligne correspondant un projet. La table Projets fournit les informations suivantes :

Nom du projet

Nom du projet

Nom du conteneur

Nom du conteneur

État

État du projet : actif ou inactif

Nom du pool de ressources

Pool de ressources auquel le projet est rattaché.

Nom de la zone

Nom de la zone dans laquelle se trouve le projet. Pour les hôtes Solaris 8 et 9, le nom de la zone est toujours "global".

Réservation de CPU (parts de CPU)

Parts minimum de CPU définies pour le projet

Utilisation CPU (des CPU)

Nombre de CPU utilisées par le projet

Capital mémoire (Mo)

Limite de mémoire maximale en méga-octets

Utilisation mémoire (Mo)

Mémoire utilisée par le projet en méga-octets

Mémoire partagée (Mo)

Quantité totale de mémoire en méga-octets pouvant être utilisée par les processus exécutés dans le cadre du projet.

La table Pools de ressources fournit des informations sur chaque pool de ressources. Elle comporte les données suivantes :

Nom du pool de ressources

Nom du pool de ressources

CPU courante(s)

Nombre de CPU définies pour le pool de ressources

Parts de CPU non réservées

Parts de CPU qui ne sont pas assignées à des zones ou des projets dans le pool de ressources

Ordonnanceur

Ordonnanceur défini pour le pool de ressources : ordonnanceur temporel ou ordonnanceur équitable

Parts de CPU

Parts de CPU définies pour le pool de ressources

Réservation CPU minimale

Nombre minimum de CPU défini pour le pool de ressources

Réservation CPU maximale

Nombre maximum de CPU défini pour le pool de ressources

La table Zones fournit des informations sur les différentes zones. Elle comporte les données suivantes :

Nom de la zone

Nom de la zone

État de la zone

État de la zone : configuré, incomplet, installé, prêt, en cours d'exécution, arrêt en cours ou arrêté

Nom de l'hôte de la zone

Nom unique de la zone en tant qu'hôte virtuel

Chemin de la zone

Chemin absolu commençant au niveau du répertoire racine (/)

Adresse IP

Adresse IP de la zone

Parts de CPU du projet

Nombre de parts de CPU allouées aux projets de la zone

Parts de CPU non réservées

Nombre de parts de CPU disponibles et pouvant être allouées aux projets associés à la zone

Parts de CPU réservées

Nombre de parts de CPU allouées à la zone dans le pool de ressources

Pool de ressources

Pool de ressources de la zone

Vue Conteneurs

La vue Conteneurs organise les informations du point de vue du conteneur. Tous les conteneurs et les projets sont affichés dans la fenêtre de navigation. Les conteneurs pouvant être réutilisés pour créer de nouveaux projets, vous pouvez accéder instantanément aux différents conteneurs à partir de cette vue et effectuer d'autres tâches de gestion.

Après avoir installé et configuré le logiciel, le groupe Conteneurs est automatiquement ajouté dans la vue Conteneurs. Vous pouvez gérer les conteneurs dans la vue Conteneurs.

L'illustration suivante reproduit la vue Conteneurs.

Figure 3–6 Exemple : Vue Conteneurs affichant la table Hôtes associés au conteneur par défaut

Capture d'écran de la vue Conteneurs. Le texte associé décrit le contexte.

Les informations affichées dans la vue Conteneurs sont répertoriées dans le Tableau 3–1.

Organisation des hôtes et des conteneurs en groupes

La vue Hôte affiche le groupe par défaut Hôtes. Tous les hôtes détectés après l'installation du logiciel sont placés dans ce groupe. De la même façon, la vue Conteneurs contient un groupe par défaut appelé Par défaut dans lequel sont placés tous les conteneurs par défaut d'un hôte. Vous pouvez créer d'autres groupes dans chaque vue afin d'organiser les hôtes et les conteneurs.

Vous pouvez créer des groupes pour organiser les dizaines ou centaines de systèmes présents dans un centre de données. Par exemple, vous pouvez regrouper tous les hôtes dans un groupe ou encore rassembler les conteneurs créés par le même client (interne ou externe) ou service dans un même groupe. De même, les conteneurs basés sur la même application peuvent être placés dans un même groupe.

ProcedureCréation d'un groupe de conteneurs ou d'hôtes

Étapes
  1. Si l'IG du gestionnaire de conteneurs n'est pas déjà ouverte, ouvrez-la conformément aux instructions fournies à la section Démarrage de l'interface graphique du gestionnaire de conteneurs.

  2. Sélectionnez la vue appropriée dans la fenêtre de navigation.

    • Pour créer un groupe de conteneurs, sélectionnez la vue Conteneurs. La table Conteneurs s'affiche dans le volet droit.

    • Pour créer un groupe d'hôtes, sélectionnez la vue Hôte. La table Hôtes et groupes s'affiche dans le volet droit.

  3. Cliquez sur le bouton Nouveau groupe.

    Une boîte de dialogue s'affiche.

  4. Entrez le nom du groupe et cliquez sur OK.

    Ce nom ne doit pas dépasser 32 caractères.

    Le nouveau groupe apparaît dans la vue sélectionnée.

ProcedureDéplacement d'un conteneur ou d'un hôte dans un autre groupe

Étapes
  1. Si l'IG du gestionnaire de conteneurs n'est pas déjà ouverte, ouvrez-la conformément aux instructions fournies à la section Démarrage de l'interface graphique du gestionnaire de conteneurs.

  2. Sélectionnez la vue appropriée dans la fenêtre de navigation.

    • Pour déplacer un conteneur dans un autre groupe, sélectionnez la vue Conteneurs. La table Conteneurs s'affiche dans le volet droit.

    • Pour déplacer un hôte dans un autre groupe, sélectionnez la vue Hôte. La table Hôtes et groupes s'affiche dans le volet droit.

  3. Pour activer le bouton Déplacer de la table, sélectionnez la case à cocher associée au conteneur ou à l'hôte à déplacer.

  4. Dans le volet droit, cliquez sur le bouton Déplacer.

    Une boîte de dialogue affiche la liste des groupes disponibles.

  5. Sélectionnez le groupe dans lequel le conteneur ou l'hôte doit être déplacé.

  6. Cliquez sur OK.

    Le conteneur ou l'hôte est déplacé dans le groupe sélectionné.

Conteneurs par défaut

Une fois le logiciel configuré, la vue Conteneurs initiale affiche un groupe appelé Par défaut. Ce groupe comporte les cinq conteneurs par défaut sur un hôte qui utilise la version 9 ou 10 du système d'exploitation Solaris :

Chacun de ces cinq conteneurs par défaut est associé à une entrée correspondante dans le fichier /etc/project. Ces cinq entrées correspondent à default, noproject, user.root, system et group.staff.


Remarque –

Sur un hôte qui utilise Solaris 8, le conteneur Utilisateurs avec personnel de groupe (group.staff) n'existe pas. Sinon, les autres conteneurs par défaut sont les mêmes.


Figure 3–7 Exemple : Groupe de conteneurs système avec conteneurs

Capture d'écran du groupe de conteneurs système présentant le contenu du groupe. Le texte associé décrit le contexte.

L'état de chaque conteneur par défaut est Actif et les limites sont définies pour une réservation minimum de 1 CPU (parts de CPU, sans capital de mémoire. Un conteneur par défaut est toujours rattaché au pool de ressources par défaut (pool_default ) de l'hôte. Vous pouvez contrôler l'utilisation des ressources et générer des rapports correspondants pour chaque conteneur par défaut, sous réserve que le logiciel Performance Reporting Manager soit installé.

Les conteneurs par défaut ne peuvent pas être désactivés, modifiés ou supprimés. Chaque conteneur est affiché en Lecture seule, suivant sa configuration.

Chaque utilisateur UNIX est assigné à un projet et, par conséquent, à un conteneur par défaut. Initialement, les conteneurs par défaut contiennent tous les processus exécutés sur le système. À mesure que vous créez des projets, les processus sont transférés du conteneur par défaut correspondant au projet créé approprié.

Présentation du processus de création de conteneur

La définition de chaque projet commence par la création d'un conteneur. Un projet peut être de trois types différents, suivant la sélection effectuée lors de sa création. Le type du projet détermine la façon dont les processus associés sont contrôlés.

Types de projet

Lors de la création d'un nouveau conteneur, vous devez spécifier le type du projet. Un projet fournit un identificateur administratif réseau pour tous les travaux associés. Tous les processus exécutés dans un conteneur ont le même ID de projet et un conteneur contrôle l'utilisation des ressources en fonction de cet ID de projet. Le type du conteneur est fonction du type de projet sélectionné lors de la création du conteneur.

À chaque conteneur correspond un nom de projet conservé de façon permanente dans les informations qui s'y rapportent. Lorsqu'un conteneur est activé sur un hôte, le nom de projet associé est ajouté dans le fichier /etc/project de cet hôte. Cette entrée est conservée tant que le conteneur reste actif sur l'hôte.

Deux projets différents ne peuvent pas avoir le même nom de projet actif simultanément sur un hôte. En effet, le contrôle des processus exécutés dans un conteneur s'effectuant en fonction de l'ID de projet, chaque nom de projet doit être unique sur un hôte.

Lorsque vous créez des projets de type Utilisateur et Groupe, le nom de l'utilisateur ou du groupe est intégré au nom du projet. Pour les conteneurs de type Utilisateur, le nom du projet correspond au nom de l'utilisateur.nomutilisateur. Pour les conteneurs de type Groupe, le nom du projet correspond au nom du groupe.nomgroupe. Pour cette raison, lorsque vous créez des projets de type Utilisateur ou Groupe, vous ne pouvez pas utiliser un nom d'utilisateur ou de groupe correspondant à une entrée du fichier /etc/project pour les conteneurs par défaut. Pour plus d'informations à ce sujet, reportez-vous à la section Conteneurs par défaut .

Dans le cadre de la création de conteneurs de type Application, vous pouvez utiliser un nom de projet de votre choix. L'assistant de création de projet autorise l'utilisation de noms de projets dupliqués pour différents projets de type Application. En revanche, deux projets de type Application qui utilisent le même nom de projet ne peuvent pas être actifs simultanément sur le même hôte. Ne réutilisez les noms de projets lors de la création de projets de type Application que si vous envisagez d'activer ces conteneurs sur des hôtes différents. Si vous tentez d'activer un deuxième projet sur un hôte associé à un projet doté du même nom de projet, l'activation n'aboutira pas.

Le tableau ci-dessous fournit des informations détaillées sur les trois types de projet disponibles et sur les différences observées en fonction de la sélection.

Tableau 3–2 Détails des types de projet

Type de projet 

Version du SE 

Détails 

Utilisateur 

Solaris 8 

Seul type de projet pris en charge par Solaris 8. 

Le nom du projet dans le fichier /etc/project correspond au nom de l'utilisateur.nomutilisateur. Le projet devient le projet par défaut principal de l'utilisateur.

 

Solaris 9 et Solaris 10 

Le nom du projet dans le fichier /etc/project correspond au nom de l'utilisateur.nomutilisateur, avec la liste des utilisateurs UNIX autorisés à participer au projet.

Le format valide est nomutilisateur.

Groupe 

Solaris 9 et Solaris 10 

Le nom du projet dans le fichier /etc/project correspond au nom du groupe.nomgroupe.

Le format valide est nomgroupe.

Application 

Solaris 9 et Solaris 10 

Le nom du projet peut être le nom de l'application ou tout autre nom. Le nom spécifié est ajouté au fichier /etc/project.

Une expression à rechercher peut être spécifiée afin de transférer automatiquement les processus correspondants sous le nom du projet. Cette expression est sensible à la casse. 

Le nomutilisateur ou nomgroupe correspondant sous lequel les processus sont exécutés doit être indiqué.

Création de réservations de ressources (parts de CPU)

Avant de commencer à utiliser les projets pour gérer les ressources d'une application, vous devez d'abord connaître les tendances d'utilisation de ressources pour cette application. Les performances de certaines applications, comme ORACLE®, risquent d'être considérablement affectées si la valeur de capital de mémoire utilisée est inappropriée. Pour chaque projet, un ensemble de réservations de ressources doit être configuré : une part de CPU minimale et, facultativement, une réservation maximum de mémoire (capital de mémoire). Il est recommandé de ne commencer à utiliser les projets pour gérer ces réservations qu'une fois les besoins en ressources définis pour les applications.


Attention – Attention –

Ne définissez pas pour un projet un capital de mémoire physique inférieur aux ressources habituellement utilisées par l'application. Cela risque de nuire aux performances de l'application et peut se traduire par des délais importants en raison du niveau de pagination et d'échange plus élevé dans la mesure où l'application doit utiliser davantage de mémoire virtuelle.


Votre plan de consolidation des serveurs doit être finalisé avant de commencer à utiliser les projets pour gérer les ressources système. Une autre tâche importante consiste à identifier les tendances d'utilisation des ressources par les applications intégrées à votre plan de consolidation. Le scénario idéal est celui où vous pouvez identifier les tendances d'utilisation des ressources par l'application pendant une période minimale d'un mois dans votre environnement de test avant de procéder à la mise en oeuvre de votre plan dans votre environnement de production. Après avoir identifié les tendances d'utilisation des CPU et de la mémoire, vous pouvez spécifier un pourcentage légèrement supérieur aux besoins typiques de mémoire.

Lorsque vous réservez les parts de CPU requises par un projet, vous assignez un nombre de CPU sous la forme d'un entier. Par exemple, 25, 1 et 37 sont des valeurs possibles. Le terme part est utilisé pour définir une partie des ressources de CPU du système allouée à un projet. Si vous assignez un nombre de parts de CPU élevé à un projet, par rapport aux autres projets, l'ordonnanceur équitable (FSS) alloue plus de ressources de CPU à ce projet.

Les parts de CPU ne doivent pas être considérées comme un pourcentage des ressources de CPU. Elles servent à définir l'importance relative d'une charge par rapport à une autre charge. Par exemple, si le projet Ventes est deux fois plus important que le projet Marketing, il doit se voir allouer deux fois plus de parts que ce dernier. Le nombre de parts assignées ne convient pas : 2 parts pour le projet Ventes et 1 part pour le projet Marketing est équivalent à 18 parts pour le projet Ventes et 9 parts pour le projet Marketing. Dans les deux cas, le projet Ventes bénéficie de deux fois plus de CPU que le projet Marketing.

Les parts de CPU peuvent être divisées en deux catégories :

Assignation de parts de CPU à la création d'un pool ou d'un projet

Sur les hôtes Solaris 8, un seul pool de ressources, pool_default, est disponible. Le pool pool_default est associé à une valeur de 100 parts de CPU.

Sur les hôtes Solaris 9 et 10, lorsque vous créez un pool de ressources, c'est vous qui définissez la valeur des parts de CPU pour le pool. Solaris Container Manager fournit une valeur par défaut que vous pouvez remplacez par l'entier de votre choix. Certains administrateurs système utilisent une formule de 100 parts de 100 CPU par CPU disponible pour le pool de ressources. Par exemple, vous pouvez assigner 100 parts de CPU à un pool associé à 1 CPU.

Si ce pool est rattaché à trois projets (Project X, Project Y et Project Z), vous pouvez assigner au projet le plus important, le Project X, 50 parts de CPU, 10 parts au Project Y et 40 parts au Project Z.

Figure 3–8 Parts de CPU de projet

Parts de CPU d'un projet

Les parts de CPU sont allouées au projet lors de la création de celui-ci via l'assistant Nouveau projet. Cet assistant indique les parts de CPU non réservées pour le pool ce qui vous permet de déterminer les parts de CPU disponibles et d'allouer la valeur appropriée au projet.

Figure 3–9 Parts de CPU

Assignation des parts de CPU à un projet

(Solaris 10 uniquement) Assignation des parts de CPU lors de la création d'une zone

Si l'hôte utilise le système d'exploitation Solaris 10, vous pouvez créer des zones et assigner des parts de CPU à la zone globale et des parts de CPU de projet pour les projets de la zone. Il s'agit d'entités associées.

L'assignation des parts de CPU et des parts de CPU de projet s'effectue lors de la création de la zone via l'assistant Nouvelle zone. À l'étape 4 de l'assistant Nouvelle zone, vous devez sélectionner un pool de ressources. L'assistant indique le nombre total de parts de CPU du pool, ainsi que les parts de CPU disponibles pour celui-ci.

Vous devez spécifier une valeur correspondant aux parts de CPU à allouer à cette zone à partir du pool de ressources. Cette valeur (un entier) doit être inférieure ou égale au nombre total de parts de CPU disponibles pour le pool.

Figure 3–10 Parts de CPU assignées à la zone

Assignation des parts de CPU à la zone

Si le nombre total de parts de CPU disponibles du pool est de 100, vous pouvez allouer la totalité ou une partie de ces 100 parts à la zone. Dans cet exemple, 20 parts de CPU du pool sont assignées à la zone.

Assignation des parts de CPU de projet lors de la création d'une zone

À l'étape 4 de l'assistant Nouvelle zone, vous avez également la possibilité de spécifier le nombre de parts de CPU de projet. Le champ correspondant définit le nombre de parts de CPU allouées aux projets de la zone. Lorsque vous définissez cette valeur, vous paramétrez la valeur des parts de CPU de projet pour la zone. Vous pouvez spécifier l'entier de votre choix. Cet entier détermine la granularité ciblée.

Par exemple, si vous définissez une valeur de 1000 parts de CPU de projet pour une Zone A, sur le plan physique, 1000 parts de CPU de projet correspondent à 20 parts de CPU, héritées du pool de ressources, divisées en 1000 parts. La formule ci-dessous explique le rapport entre 1 part de CPU de projet et les parts de CPU de cet exemple :

1 part de CPU de projet = 20 (nombre de parts de CPU allouées à la zone)/1000 (nombre de parts de CPU de projet) = 0,02 parts de CPU

Lorsque vous créez un projet, Project 1, dans la Zone A, celui-ci se voit allouer des parts par la zone et non directement par le pool de ressources. Si 300 parts sont allouées au Projet 1 dans la Zone A, 300 parts de CPU de projet ou 300/1000 x 20/100 = 0,06 parts de CPU lui sont ensuite encore assignées.

Figure 3–11 Parts de CPU assignées à une zone

Parts de CPU assignées à une zone

L'assignation des parts de CPU de projet à un projet s'effectue à partir de l'assistant Nouveau projet. À l'étape 7 de cet assistant où vous spécifiez les réservations de ressources pour le projet, vous devez spécifier les parts de CPU de projet dans le champ Réservations de CPU (Parts de CPU). Cela ne s'applique que lors de la création d'un projet dans une zone sur un hôte Solaris 10 uniquement.

Figure 3–12 Parts de CPU de projet

Assignation des parts de CPU de projet à un projet


Remarque –

Lorsque vous créez un projet sur un hôte Solaris 8 ou 9, le champ Parts de CPU non réservées est destiné à la saisie des parts de CPU (non des parts de CPU de projet).



Attention – Attention –

N'utilisez pas la ligne de commande (commande zonecfg) pour modifier manuellement les parts de CPU. Cela risque de gêner les calculs du logiciel Solaris Container Manager.


Zone globale et projets associés

La zone globale est la seule zone qui ne soit pas rattachée à un seul pool de ressources. Elle peut donc utiliser les ressources de CPU de n'importe quel pool. Les projets de la zone globale peuvent utiliser les ressources de CPU de tout pool de ressources situé sur l'hôte car une zone globale masquée existe dans chaque pool de ressources de l'hôte.

Par exemple, le pool de ressources Pool_default est associé à 4 CPU et aux zones zone_1 et zone_2. Il dispose de 10 parts de 10 CPU. Zone_1 a 5 parts de CPU, zone_2 en a 4 et la zone globale en a 1.

Un autre pool de ressources, Pool_1, est associé à 2 CPU et a 10 parts de CPU. Une seule zone, zone_3, est déployée pour Pool_1. Zone_3 a 9 parts de CPU. La zone globale a 1 part de CPU.

Les projets de la zone globale bénéficient des ressources de CPU issues de la part de CPU du pool sur lesquels ils sont déployés.

Dans Solaris Container Manager, les projets de la zone globale doivent être déployés dans le pool pool_default.

Ordonnanceur équitable (FSS -Fair Share Scheduler)

Le gestionnaire de conteneurs utilise l'ordonnanceur équitable pour garantir les parts minimums de CPU que vous définissez. L'ordonnanceur équitable est l'ordonnanceur par défaut. Il calcule la proportion de CPU allouée à un projet en divisant les parts du projet par le nombre total des parts des projets actifs. Un projet actif est un projet dont au moins l'un des processus utilise la CPU. Les parts des projets inactifs, à savoir les projets sans processus actif, ne sont pas prises en compte dans les calculs.

Par exemple, trois projets sont créés : ventes, marketing et base de données. Deux, une et quatre parts leur sont allouées respectivement. Ces trois projets sont actifs. Les ressources de CPU pour le pool de ressources se répartissent comme suit : le projet ventes reçoit 2/7 des ressources de CPU, le projet marketing 1/7 et le projet base de données 4/7. Lorsque le projet ventes est inactif, le projet marketing reçoit 1/5 des ressources de CPU et le projet base de données 4/5.

Notez que l'ordonnanceur équitable ne limite l'utilisation des CPU qu'en cas de conflit. Un projet qui est le seul à être actif sur le système peut utiliser 100 % de la CPU, indépendamment du nombre de parts qui lui est alloué. Ainsi, aucun cycle de CPU n'est perdu. Si un projet n'utilise pas toutes les parts de CPU qui lui sont allouées car aucune tâche ne lui est associée, les ressources de CPU restantes sont réparties entre les autres processus actifs. Si aucune part de CPU n'est spécifiée pour un projet, le système lui en alloue une. Les processus associés à des projets disposant de zéro (0) parts sont exécutés suivant la priorité la plus basse du système. Ces processus sont uniquement exécutés lorsque les projets dotés de parts supérieures à zéro n'utilisent pas les ressources de CPU.

Ordonnanceur temporel (TS - Timesharing Scheduler)

L'ordonnanceur temporel tente de fournir à chaque processus un accès relativement équitable aux CPU disponibles, en allouant de CPU en fonction de la priorité. Cet ordonnanceur ne nécessitant aucune gestion, il est particulièrement simple à utiliser. Toutefois, il ne permet de garantir les performances d'une application donnée. Son utilisation convient lorsque l'allocation des CPU n'est pas nécessaire.

Par exemple, si un pool de ressources FSS est assigné à deux projets, chacun doté de deux parts, le nombre de processus exécutés dans ces projets n'est pas important. Un projet peut uniquement utiliser 50 % de la CPU disponible. Par conséquent, si un processus est exécuté dans le projet Ventes et 99 dans le projet Marketing, celui du projet Ventes peut utiliser 50 % de la CPU disponible. Les 99 processus du projet Marketing doivent se partager 50 % des ressources de CPU disponibles.

Dans un pool de ressources TS, les parts de CPU sont allouées par processus. Le processus du projet Ventes n'a accès qu'à 1 % de la CPU, alors que les 99 processus du projet Marketing peuvent utiliser 99 % des ressources de CPU disponibles.

Pour plus d'informations sur l'ordonnanceur équitable ou l'ordonnanceur temporel, reportez-vous au System Administration Guide: Network Services.

Utilisation du gestionnaire de conteneurs pour connaître les tendances d'utilisation des ressources d'une application

Vous pouvez utiliser le gestionnaire de conteneurs dans votre environnement de test comme outil d'identification des tendances d'utilisation des ressources d'une application en procédant comme suit :

  1. Installez et configurez le gestionnaire de conteneurs, ainsi que tout autre logiciel requis.

    Pour plus d'informations à ce sujet, reportez-vous au Chapitre 2, Installation et configuration du gestionnaire de conteneurs.

  2. Installez le logiciel Performance Reporting Manager sur toutes les machines agent à contrôler.

    Pour plus d'informations à ce sujet, reportez-vous au Chapitre 2, Installation et configuration du gestionnaire de conteneurs et au Guide de l’utilisateur de Sun Management Center 3.5 Performance Reporting Manager.

  3. Créez un conteneur de type Application pour l'application dont vous souhaitez connaître les tendances d'utilisation des ressources. Dans l'assistant Nouveau projet, spécifiez uniquement une réservation minimum de CPU. N'indiquez pas de capital de mémoire.

    Pour plus d'informations à ce sujet, reportez-vous aux sections Création d'un projet de type Application et Création d'un projet de type Application.

  4. Contrôlez l'utilisation des ressources pendant quelques semaines en vous servant des graphes quotidien, hebdomadaire ou en temps réel. Vous disposez de deux graphes, un pour les ressources de CPU et un pour la mémoire utilisée, sont disponibles pour le conteneur exécuté sur un hôte individuel. Vous pouvez également afficher la table Processus pour surveiller les processus exécutés dans l'application.

    Pour plus d'informations à ce sujet, reportez-vous aux sections Demande de rapport d'utilisation des ressources pour un projet actif et Visualisation des processus d'un projet .

  5. Après avoir spécifié les besoins maximums de mémoire physique pour l'application, modifiez les propriétés du conteneur de façon à ajouter un capital de mémoire. Ne configurez pas un capital de mémoire inférieur à la quantité de mémoire maximum utilisée par l'application.

    Pour plus d'informations à ce sujet, reportez-vous à la section Modification d'un projet via une page de propriétés.

  6. Définissez une alarme de façon à être informé dès que la mémoire utilisée dépasse le capital de mémoire spécifié. Ajustez le capital de mémoire via la page de propriétés.

    Pour plus d'informations à ce sujet, reportez-vous aux sections Configuration d'un seuil d'alarme et Modification d'un projet via une page de propriétés.

Après avoir identifié les tendances d'utilisation des ressources via le gestionnaire de conteneurs, vous pouvez utiliser les conteneurs pour procéder à la consolidation des serveurs dans votre environnement de production.

Pour plus d'informations sur la planification et la mise en oeuvre de la consolidation de serveurs, reportez-vous au manule Blueprints Sun, Consolidation in the Data Center de David Hornby et Ken Pepple. Pour plus d'informations sur la consolidation des serveurs sur des systèmes utilisant une base de données ORACLE, reportez-vous au livre blanc Sun intitulé Consolidating Oracle RDBMS Instances Using Solaris Resource Manager Software.