Ce chapitre présente les procédures de création, d'utilisation et de gestion des projets.
Les rubriques traitées sont les suivantes :
Vous devez être administrateur de projets pour pouvoir gérer (créer, activer, désactiver, modifier, supprimer) des projets. Les administrateurs de projets sont définis lors de la configuration du logiciel Solaris Container Manager.
Vous pouvez créer des projets personnalisés venant s'ajouter aux conteneurs par défaut disponibles après l'installation et la configuration du logiciel. L'utilisation combinée de ces deux types de conteneurs peut vous aider dans le cadre de l'implémentation de votre plan de consolidation de serveurs.
Pour créer des projets personnalisés, utilisez l'assistant Nouveau projet. Vous pouvez vous contenter de créer et d'enregistrer le conteneur dans la vue Conteneurs ou exécuter toutes les étapes de création de projet de l'assistant. Dans les deux cas, le même assistant est utilisé.
Si vous choisissez de créer simplement le conteneur, le nom de celui-ci est enregistré dans la vue Conteneurs. Vous pouvez utiliser le conteneur pour créer ultérieurement un ou plusieurs projets. Pour plus d'informations concernant l'activation d'un projet, reportez-vous à la section Activation ou désactivation de projets.
Si vous choisissez de créer un projet, la création d'un conteneur fait également partie de la procédure. Après avoir créé le projet, le conteneur est enregistré dans la fenêtre de navigation de la vue Conteneurs. Vous pouvez utiliser la même définition pour créer d'autres projets associés à plusieurs hôtes. La définition de tous ces projets, y compris le nom et le type de projet, est identique pour chacun des hôtes. Vous pouvez définir des réservations de ressources différentes pour le projet en fonction de l'hôte ou, au contraire, utiliser les mêmes valeurs. Le logiciel est conçu pour vous offrir une flexibilité optimale et ainsi répondre à vos besoins en ressources en fonction des situations. Pour plus d'informations à ce sujet, reportez-vous à la section Présentation des propriétés de conteneur.
L'assistant Nouveau projet est conçu pour vous guider tout au long du processus de création de projet. Vous devez disposer des informations suivantes lors de la création d'un projet afin de progresser rapidement dans la série d'étapes de l'assistant :
Nom et description du projet.
Type du projet. Pour plus d'informations à ce sujet, reportez-vous au Tableau 3–2.
Nom de l'hôte auquel le projet doit être associé.
Nom du pool de ressources auquel le projet doit être lié.
Les limites de ressources assignées au projet, à savoir les valeurs de réservation minimum de CPU et de capital de mémoire.
Cet assistant est accessible à partir de trois emplacements différents dans l'IG et systématiquement à partir du bouton Nouveau projet. Suivant l'emplacement de l'IG à partir duquel vous accédez à l'assistant, il est possible que vous n'ayez pas à fournir toutes ces informations. En effet, suivant le point d'accès, certaines informations peuvent être automatiquement fournies par le système.
L'assistant est accessible à partir de différents emplacements de l'interface. Suivant le point d'accès à l'assistant utilisé, il est possible que vous n'ayez pas à remplir tous les panneaux car la saisie de certaines informations s'effectue automatiquement.
Pour plus d'exemples de l'utilisation de l'assistant Nouveau projet, reportez-vous à la section Création d'un projet de type Application.
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 Container Manager.
Dans la fenêtre de navigation, déterminez les relations du conteneur à créer.
Pour associer automatiquement un hôte spécifique au conteneur, procédez comme suit :
Sélectionnez le nom de l'hôte dans la fenêtre de navigation à partir de la vue Hôte.
Si nécessaire, cliquez sur le nom de groupe d'hôtes pour développer la liste.
Cliquez sur l'onglet Projets, situé dans le volet droit.
La table Projets s'affiche.
Lorsque vous utilisez cette méthode, vous devez sélectionner un hôte pendant le processus de création du conteneur.
Pour associer automatiquement un projet à un pool de ressources spécifique :
Sélectionnez le nom du pool de ressources dans la fenêtre de navigation de la vue Hôte.
Si nécessaire, cliquez sur le symbole en forme de clé en regard du nom de l'hôte pour développer la liste associée. Les pools de ressources assignés à l'hôte s'affichent.
Cliquez sur l'onglet Projets, situé dans le volet droit.
La table Projets s'affiche.
Vous n'êtes pas obligé d'assigner un pool de ressources dans le cadre de ce processus de création de conteneur.
Cliquez sur le bouton Nouveau projet à partir de la table des projets ou des pools de ressources de l'hôte.
Le bouton Nouveau projet est toujours disponible dans les tables affichées dans le volet droit, indépendamment de la méthode sélectionnée.
L'assistant apparaît. Le panneau Présentation s'affiche en premier.
Avec Solaris 8, seuls les conteneurs Utilisateur sont disponibles.
Si vous souhaitez que le conteneur gère tous les processus identifiés par un nom d'utilisateur ou un nom de groupe UNIX, vous devez créer un conteneur de type Utilisateur ou Groupe. Le type de projet sélectionné lors du processus de création détermine si le conteneur final est basé sur un utilisateur ou un groupe.
Lancez l'assistant Nouveau projet, conformément aux instructions fournies à la section Pour démarrer l'assistant Nouveau projet.
Le panneau Présentation s'affiche.
Sélectionnez le type de projet Utilisateur ou Groupe.
Un conteneur associé au type de projet Utilisateur assure le suivi de tous les processus dotés du même nom d'utilisateur UNIX.
Un conteneur associé au type de projet Groupe assure le suivi de tous les processus dotés du même nom de groupe UNIX.
Solaris 8 prend uniquement en charge le type de conteneur Utilisateur.
Spécifiez des identificateurs de type de projet conformes aux exigences suivantes :
(Solaris 8)
Projet Utilisateur - Vous devez spécifier un nom d'utilisateur UNIX valide dans le premier champ. Les noms d'utilisateurs UNIX des utilisateurs autorisés à participer au projet peuvent être ajoutés dans le deuxième champ. Les noms de groupes UNIX des groupes autorisés à participer au projet peuvent être ajoutés dans le troisième champ. En cas d'entrées multiples, séparez ces dernières par des virgules.
Ne spécifiez pas de nom d'utilisateur déjà utilisé dans un autre projet de type Utilisateur ou dans un projet par défaut dans le premier champ.
Projet Groupe - Vous devez spécifier un nom de groupe Unixe valide dans le premier champ. Les noms de groupes UNIX des groupes autorisés à participer au projet peuvent être ajoutés dans le deuxième champ. Les noms d'utilisateurs UNIX des utilisateurs autorisés à participer au projet peuvent être ajoutés dans le troisième champ. En cas d'entrées multiples, séparez ces dernières par des virgules.
Ne spécifiez pas de nom de groupe déjà utilisé dans un autre projet de type Groupe ou dans un projet par défaut dans le premier champ.
Avec Solaris 9 et Solaris 10, il n'est pas nécessaire de spécifier un nom d'utilisateur ou de groupe valide. Toutefois, les noms d'utilisateurs supplémentaires doivent exister sur le système.
Pour des informations sur ce type de projet, reportez-vous au Tableau 3–2.
Si vous avez lancé l'assistant Nouveau projet en sélectionnant uniquement un nom d'hôte (sans choisir de pool), assignez un pool de ressources capable de gérer les ressources du projet.
Les nouveaux processus exécutés dans un projet sont associés au pool de ressources correspondant. Une fois le projet activé, les nouveaux processus gérés par le projet sont liés à son pool de ressources.
Pour assigner un nouveau pool de ressources :
Sélectionnez Créer un nouveau pool de ressources.
Spécifiez le nom du pool de ressources.
Ce nom doit être composé de caractères alphanumériques et ne pas comporter d'espaces. L'utilisation du tiret (-), du caractère de soulignement (_) et du point (.) est autorisée.
Assignez le nombre de CPU voulu.
Le nombre de CPU doit être un entier supérieur à 1 et inférieur ou égal au nombre de CPU disponibles sur l'hôte. Le nombre total de CPU sur l'hôte et le nombre de CPU disponibles sont affichés.
Pour assigner un pool existant :
Sélectionnez Utiliser un pool de ressources existant.
La liste des pools de ressources disponibles s'affiche.
Sélectionnez le bouton radio en regard du nom de pool voulu dans la liste.
Le nombre total de CPU assignées à chaque pool de ressources est indiqué, de même que le nombre de CPU non réservées toujours disponibles dans chaque pool. Le conteneur est lié au pool de ressources sélectionné.
(Solaris 10 uniquement) Sélectionnez une zone existante.
Cliquez sur le bouton correspondant aux zones disponibles pour associer le projet à une zone.
Indiquez les réservations de ressources pour le projet.
Le nombre maximum de CPU, le nombre de parts de CPU non réservées et les ressources de mémoire disponibles sur l'hôte sont indiqués.
La réservation de CPU doit être spécifiée sous la forme d'un entier. Un conteneur pour lequel une réservation de CPU égale à zéro est spécifiée ne peut utiliser les ressources de CPU qu'en l'absence d'exécution de processus dans les autres conteneurs associés au même hôte.
Le capital de mémoire est facultatif et doit être spécifié en Mo.
La valeur de mémoire partagée correspond à la quantité totale de mémoire partagée autorisée à être utilisée par les processus exécutés dans le cadre de ce projet. La spécification de la mémoire partagée est également facultative. La valeur par défaut de mémoire par défaut est égale à un quart de la mémoire physique.
Indiquez un nom pour le conteneur.
Ce nom doit être unique et ne doit pas dépasser 32 caractères. Ce nom identifie le conteneur dans la fenêtre de navigation, les tables d'état et les rapports d'utilisation des ressources. Si un nom existant est spécifié, la création du conteneur échoue.
Un nom de conteneur ne peut pas être modifié une fois la procédure de création terminée.
(Facultatif) Donnez une description du conteneur.
Vérifiez les informations dans le panneau récapitulatif.
Cliquez sur « Terminer ».
Vos sélections sont enregistrées et le projet est activé. Le noyau Solaris met alors en oeuvre les réservations de ressources pour le conteneur.
Solaris 8 prend uniquement en charge le type de conteneur Utilisateur.
Utilisez un projet de type Application pour gérer les processus exécutés par une application logicielle spécifique. Vous pouvez créer un projet de type Application qui transfère automatiquement les processus ou un projet qui vous permet d'effectuer manuellement cette opération.
Si vous êtes en mesure de spécifier une expression à rechercher véritablement spécifique à l'application, vous pouvez l'ajouter au projet. Vous devez également spécifier l'ID d'utilisateur ou de groupe UNIX sous lequel doivent être exécutés les processus. Des utilisateurs ou des groupes supplémentaires autorisés à participer ultérieurement au projet peuvent aussi être ajoutés. Pour transférer automatiquement des processus dans le projet, vous devez spécifier tous les identificateurs de projets requis lorsque le panneau correspondant de l'assistant s'affiche. Le logiciel procède alors automatiquement au transfert de tous les processus correspondants pour tous les projets basés sur cette définition.
Si l'application ne crée pas d'identificateurs uniques, vous pouvez transférer manuellement les processus ou démarrer l'application à partir du projet. Pour transférer manuellement les processus, créez le projet en spécifiant uniquement l'ID d'utilisateur ou de groupe UNIX sous lequel les processus doivent être exécutés. Des utilisateurs ou des groupes supplémentaires autorisés à participer ultérieurement au projet peuvent aussi être ajoutés. Déplacez ensuite les processus à l'aide de la commande newtask -p. Pour plus d'informations à ce sujet, reportez-vous à la section Transfert ou exécution de processus dans un projet.
Utilisez cette procédure pour déterminer l'expression à rechercher appropriée afin d'identifier les processus correspondant à l'application à gérer. Cette expression doit être fournie à l'assistant Nouveau projet pour transférer automatiquement les processus dans un conteneur.
Dans une fenêtre de terminal, lancez l'application que le conteneur de type Application doit gérer.
Pour afficher la liste de tous les processus en cours d'exécution dans une fenêtre de terminal, tapez la commande :
% ps -cafe |
Dans la colonne CMD, localisez le nom de l'exécutable correspondant.
Choisissez l' expression identifiant de façon unique les processus de l'application.
L'exemple ci-dessous reproduit la sortie de la commande ps - cafe dans une recherche pour Mozilla :
% ps -cafe UID PID PPID CLS PRI STIME TTY TIME CMD ... nom_utilisateur 8044 7435 IA 50 19:47:09 pts/11 0:00 /bin/ksh -p /usr/sfw/lib/mozilla/mozilla |
Dans cet exemple, le nom unique de l'exécutable est mozilla. Vous pouvez utiliser mozilla comme expression à rechercher.
Lorsque vous connaissez le nom de l'application, vous pouvez utiliser la commande grep combinée à la commande ps -cafe pour trouver l'expression à rechercher appropriée. L'exemple ci-dessous reproduit la sortie de la commande ps - cafe | grep tomcat dans une recherche pour Tomcat Server. Pour les besoins de ce guide, cet exemple a été abrégé, les informations inutiles ayant été supprimées.
% ps -cafe | grep tomcat nobody 27307 /usr/j2se/bin/java -classpath //usr/apache/tomcat/bin/bootstrap.jar:/usr/j2se/l |
Dans cet exemple, le nom de l'exécutable est java. Toutefois, l'expression à rechercher correcte est tomcat. Dans ce cas, l'expression à rechercher correspond à l'argument et non au nom de l'exécutable, car java ne constitue pas un identificateur unique des processus Tomcat.
L'exemple suivant illustre l'utilisation de la commande pgrep pour trouver le PID (ID du processus). Le PID s'assure qu'une expression à rechercher unique a été identifiée pour rechercher le processus voulu :
% pgrep -f tomcat 27307 |
Le PID pour Tomcat Server est 27307. Ce numéro correspond au PID de l'Exemple 4–2. Cette correspondance confirme que l'expression à rechercher pour Tomcat concorde bien avec le processus Tomcat Server.
Lancez l'assistant, conformément aux instructions fournies à la section Pour démarrer l'assistant Nouveau projet.
Le panneau Présentation s'affiche.
Sélectionnez le type de projet Application pour le conteneur.
Un projet de type Application effectue le suivi des processus associés à une application. Pour plus d'informations sur ce type de projet, reportez-vous au Tableau 3–2.
Spécifiez un nom pour le projet.
Ce nom doit être unique et ne doit pas dépasser 32 caractères. Ce nom identifie le projet dans la fenêtre de navigation, les tables d'état et les rapports d'utilisation des ressources. Si un nom existant est spécifié, la création du projet échoue.
Un nom de conteneur ne peut pas être modifié une fois la procédure de création terminée.
Spécifiez les noms d'utilisateurs ou de groupes UNIX sous lesquels les processus doivent être exécutés.
Spécifiez les noms d'utilisateurs ou de groupes UNIX sous lesquels les processus de l'application doivent être exécutés. Sinon, les processus correspondants ne seront pas transférés dans le conteneur. En cas d'entrées multiples, séparez ces dernières par des virgules.
Indiquez si vous souhaitez transférer automatiquement les processus de l'application dans le projet à l'activation du conteneur ou si vous préférez effectuer manuellement ce transfert à partir de la ligne de commande.
Pour sélectionner le transfert manuel des processus de l'application à partir de la ligne de commande, cochez la case Ne pas utiliser Expression à rechercher.
Pour procéder au transfert automatique des processus dans le projet dès l'activation de ce dernier, spécifiez une expression dans le champ Expression à rechercher.
Vous pouvez utiliser des caractères génériques dans le champ Expression à rechercher pour identifier les processus associés à une application. "moz" et "cat" sont des exemples d'expression à rechercher utilisant les caractères génériques pour identifier les processus associés à Mozilla et Tomcat respectivement.
L'expression à rechercher doit être spécifiée afin de pouvoir transférer automatiquement les processus d'application dans le conteneur. Cette expression est sensible à la casse. Pour déterminer l'expression à rechercher appropriée, reportez-vous à la section Pour définir l'expression à rechercher pour une application .
Si aucune expression à rechercher n'est spécifiée à ce stade, les processus de l'application ne seront pas transférés dans ce conteneur.
Si vous lancez l'assistant Nouveau projet via le nom de l'hôte (sans sélectionner de pool), assignez un pool de ressources capable de répondre aux besoins en ressources du projet.
Les nouveaux processus exécutés dans un projet sont associés au pool de ressources correspondant. Une fois le projet activé, les nouveaux processus gérés par le conteneur sont liés à son pool de ressources.
Pour assigner un nouveau pool de ressources :
Sélectionnez Créer un nouveau pool de ressources.
Spécifiez le nom du pool de ressources.
Ce nom doit être composé de caractères alphanumériques et ne pas comporter d'espaces. L'utilisation du tiret (-), du caractère de soulignement (_) et du point (.) est autorisée.
Assignez le nombre de CPU voulu.
Le nombre de CPU doit être un entier supérieur à 1 et inférieur ou égal au nombre de CPU disponibles sur l'hôte. Le nombre total de CPU sur l'hôte et le nombre de CPU disponibles sont affichés.
Pour assigner un pool existant :
Sélectionnez Utiliser un pool de ressources existant.
La liste des pools de ressources disponibles s'affiche.
Sélectionnez le bouton radio en regard du nom de pool voulu dans la liste.
Le nombre total de CPU assignées à chaque pool de ressources est indiqué, de même que le nombre de CPU non réservées toujours disponibles dans chaque pool. Le projet est lié au pool de ressources sélectionné.
(Solaris 10 uniquement) Sélectionnez une zone existante.
Cliquez sur le bouton associé à l'une des zones disponibles.
Indiquez les réservations de ressources pour le projet.
Le nombre maximum de CPU, de parts de CPU non réservées et de ressources de mémoire disponibles sur l'hôte sont également indiqués.
La réservation de CPU(Parts de CPU) doit être spécifiée sous la forme d'un entier. Un projet pour lequel une réservation de CPU égale à zéro est spécifiée ne peut utiliser les ressources de CPU qu'en l'absence d'exécution de processus dans les autres conteneurs associés au même hôte.
Le capital de mémoire est facultatif et doit être spécifié en Mo.
La valeur de mémoire partagée correspond à la quantité totale de mémoire partagée autorisée à être utilisée par les processus exécutés dans le cadre de ce projet. La spécification de la mémoire partagée est également facultative. La valeur par défaut de mémoire par défaut est égale à un quart de la mémoire physique.
Indiquez un nom pour le conteneur.
Ce nom doit être unique et ne doit pas dépasser 32 caractères. Ce nom identifie le conteneur dans la fenêtre de navigation, les tables d'état et les rapports d'utilisation des ressources. Si un nom existant est spécifié, la création du conteneur échoue. Un nom de conteneur ne peut pas être modifié une fois la procédure de création terminée.
(Facultatif) Donnez une description du conteneur.
Vérifiez les informations dans le panneau récapitulatif.
Cliquez sur « Terminer ».
Vos sélections sont enregistrées et le projet est activé. Le noyau Solaris met alors en oeuvre les réservations de ressources pour le conteneur.
Si l'application gérée par le projet n'est pas associée à un nom d'exécutable unique, vous devrez transférer manuellement les processus dans le projet. Avec cette méthode, vous êtes assuré de ne trouver que les processus associés à l'application voulue.
Utilisez cette procédure si vous n'avez pas spécifié d'expression à rechercher pour un projet de type Application et souhaitez transférer individuellement les processus de l'application dans ce projet.
Créez un projet de type Application pour la gestion de l'application. Cochez la case Ne pas utiliser Expression à rechercher.
Pour le détail des étapes à suivre, reportez-vous à la section Pour créer un projet de type Application.
Consultez le fichier /etc/project pour déterminer le nom du projet, en tapant :
% cat /etc/project |
Le nom du projet vous sera demandé à l'Étape 5.
Si nécessaire, lancez l'application dans une fenêtre de terminal.
Identifiez les processus associés à l'application.
Pour des exemples, reportez-vous à l'Exemple 4–1, l'Exemple 4–2, et l'Exemple 4–3.
Transférez les processus appropriés.
À partir de l'IG du gestionnaire de conteneurs, cliquez sur l'hôte dans la fenêtre de navigation.
Cliquez sur l'onglet Projets.
La table Projets s'affiche.
Cliquez sur le nom du projet dans cette table. Notez que le nom du projet est souligné car il est affiché sous la forme d'un lien.
L'onglet Propriétés du projet s'affiche.
Cliquez sur l'onglet Processus.
La table Processus apparaît.
Sélectionnez les processus à déplacer.
Cliquez sur le bouton Déplacer.
La boîte de dialogue de transfert des processus s'affiche.
Sélectionnez le nouveau projet (conteneurs) pour le processus dans la liste des projets (conteneurs).
Cliquez sur OK .
Répétez l'Étape 5 pour tous les processus à déplacer.
Vous pouvez utiliser la commande ps combinée à la commande grep pour vous assurer d'avoir correctement transféré les processus dans un conteneur. L'exemple suivant confirme que les processus transférés individuellement se trouvent bien désormais dans le conteneur "payroll" :
% ps -ae -o pid,project,comm | grep payroll 17773 payroll ora_reco_AcctEZ 17763 payroll ora_pmon_AcctEZ 17767 payroll ora_lgwr_AcctEZ |
Vous pouvez utiliser la commande prstat pour vous assurer que les processus ont bien été transférés dans un conteneur, à condition de connaître le nom du projet. Dans l'exemple suivant, le nom du projet est "payroll".
% prstat -J payroll PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 17773 admin 216M 215M cpu2 1 0 0:05:08 29% ora_reco_AcctEZ/1 17763 admin 834M 782M sleep 1 0 0:35:02 0% ora_pmon_AcctEZ/1 17767 admin 364M 352M run 1 0 0:22:05 23% ora_lgwr_AcctEZ/1 |
Créez un projet de type Application pour la gestion de l'application. Cochez la case Ne pas utiliser Expression à rechercher.
Pour des informations plus détaillées à ce sujet, reportez-vous à la section Pour créer un projet de type Application.
Sélectionnez l'une des méthodes suivantes en fonction de la version du système d'exploitation utilisée :
Pour Solaris 8, tapez :
% srmuser nom_utilisatur newtask -p nom_projet nom_application |
où nom_utilisateur correspond au nom d'utilisateur UNIX et nom_projet se présente sous la forme user.nomutilisateur. Le SE Solaris 8 ne prenant en charge que les conteneurs de type Utilisateur, nom_utilisateur et nom_projet sont identiques.
Pour Solaris 9 ou 10, tapez :
% newtask -p nom_projet nom_application |
où nom_projet correspond au projet associé au conteneur et nom_application est la commande utilisée pour lancer l'application, y compris tout argument associé.
L'application est lancée dans le conteneur.
Dans l'exemple suivant, une application appelée tracks est lancée à partir d'un conteneur dénommé music :
% newtask -p music tracks -z 0 mozart.au |
où -z 0 mozart.au correspond aux arguments de ligne de commande pour l'application tracks.
Après avoir lancé une application, vous pouvez vérifier le projet qui lui est associé en tapant :
% ps -ae -o pid,project,comm |
L'exemple ci-dessous reproduit les informations et messages qui peuvent s'afficher suite à l'exécution de cette commande :
PID PROJECT COMMAND ... 17771 default ora_smon_SunMC 16246 system rquotad 26760 group.staff /bin/csh 16266 music tracks 17777 default ora_d000_SunMC 17775 default ora_s000_SunMC 17769 default ora_ckpt_SunMC |
Dans cet exemple, l'application tracks est associé au PID 16266, le projet s'appelle music et l'exécutable associé est tracks. Il s'agit de la même application que celle lancée dans le cadre de l'Exemple 4–6.
Les limites de ressources pour un projet ne sont pas mises en oeuvre tant que l'état de celui-ci est défini ou inactif. Pour procéder à la mise en oeuvre de ces limites, vous devez activer le projet. Inversement, lorsque vous ne souhaitez plus mettre en oeuvre les limites d'un projet, vous devez désactiver ce dernier. Un projet actif peut être désactivé sans risque de perdre les limites de ressources préalablement définies. Pour plus d'informations à ce sujet, reportez-vous à la section États d'un projet.
Un conteneur existant peut être utilisé pour créer de nouveaux projets actifs à l'aide de l'assistant Associer un hôte au conteneur. L'activation d'un projet inactif ou la désactivation d'un projet actif s'effectue via un seul bouton.
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 Container Manager.
Dans la vue Conteneurs, sélectionnez le nom de conteneur voulu.
Si le conteneur est membre d'un groupe, sélectionnez ce dernier dans la fenêtre de navigation pour afficher le conteneur dans le volet droit.
Sélectionnez l'onglet Hôtes dans le volet droit.
Les hôtes associés à cette table de définition de conteneur s'affichent. Tous les hôtes associés au conteneur sélectionné sont listés dans la table.
Cliquez sur le bouton Associer un hôte au conteneur.
L'assistant Associer un hôte au conteneur apparaît.
Suivez les instructions de l'assistant pour la saisie d'un nom d'hôte ou la recherche d'un hôte approprié.
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 Container Manager.
Dans la vue Hôte, sélectionnez l'hôte auquel est associé le conteneur.
Sélectionnez l'onglet Projets dans le volet droit.
Une table comportant tous les projets associés à l'hôte sélectionné s'affiche.
Pour activer le bouton Activer, cochez la case correspondant au projet à activer.
(Facultatif) Vérifiez et modifiez les propriétés du projet.
Cliquez sur le nom du projet dans la colonne Nom du projet de la table.
L'onglet Propriétés s'affiche.
(Facultatif) Modifiez les réservations de ressources pour le projet et cliquez sur Enregistrer.
Pour plus d'informations sur cette procédure, reportez-vous à la section Modification de conteneurs et de projets.
Cliquez sur le bouton Activer.
Le projet est activé et les limites de ressources sont mises en oeuvre par le noyau.
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 Container Manager.
Dans la vue Hôte, sélectionnez l'hôte auquel est associé le projet.
Sélectionnez l'onglet Projets dans le volet droit.
Une table comportant tous les projets associés à l'hôte sélectionné s'affiche.
Pour activer le bouton Désactiver, cochez la case correspondant au projet à désactiver.
(Facultatif) Vérifiez et modifiez les propriétés du projet.
Cliquez sur le nom du projet dans la colonne Nom du projet de la table.
L'onglet Propriétés s'affiche.
(Facultatif) Modifiez les réservations de ressources pour le projet et cliquez sur Enregistrer.
Pour plus d'informations, reportez-vous à la section Modification de conteneurs et de projets.
Cliquez sur le bouton Désactiver.
Le projet est désactivé et les limites de ressources ne sont plus mises en oeuvre par le noyau.
Les informations relatives aux processus en cours d'exécution dans un projet actif peuvent être affichées dans une table à partir de la vue Hôte ou de la vue Conteneur. Ces deux vues affichent la même table Processus et les mêmes informations sur les processus.
Cette table liste tous les processus, un par ligne, et fournit les informations suivantes :
ID du processus.
Propriétaire du processus (nom d'utilisateur UNIX ou nom de connexion).
Taille totale de la mémoire virtuelle associée au processus et exprimée en Mo.
Taille résidente définie (RSS, Resident Set Size) du processus exprimée en Mo.
État du processus. Les valeurs possibles sont les suivantes :
cpuN – Le processus est en cours d'exécution sur N CPU, où N est un entier.
sleep – Le processus est en état de veille ou d'attente.
run – Le processus est en cours d'exécution.
zombie – L'exécution du processus est terminée.
stop – L'exécution du processus a été interrompue.
Priorité du processus. Plus la valeur est grande, plus la priorité du processus est élevée.
Valeur Nice utilisée dans le calcul de priorité.
Durée d'exécution cumulée du processus.
Pourcentage de temps récent utilisé par le processus.
Nom du processus, à savoir le nom du fichier exécuté. Nombre de processus LWPS contenus dans le processus.
Utilisez cette procédure si vous connaissez le nom de l'hôte auquel est associé le projet.
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 Container Manager.
Sélectionnez la vue Hôte en cliquant sur l'onglet de gauche dans la fenêtre de navigation.
Dans la vue Hôte, sélectionnez l'hôte auquel est associé le projet.
Cliquez sur l'onglet Projets dans le volet droit.
La table Projets répertoriant tous les projets associés à l'hôte apparaît. Cette liste inclut les projets actifs et inactifs. Vous devez sélectionner un projet actif pour en afficher les processus en cours d'exécution.
Sélectionnez le projet voulu en cliquant sur son nom.
La page Propriétés pour l'instance du projet sur l'hôte sélectionné apparaît.
Cliquez sur l'onglet Processus.
Les processus exécutés à l'intérieur du projet s'affichent dans la table Processus. Le nom du projet et de l'hôte auquel celui-ci est associé sont indiqués au-dessus de la table.
Si aucun processus n'est affiché, c'est que le conteneur sélectionné est peut-être inactif.
Utilisez cette procédure lorsque vous connaissez le nom du projet et souhaitez sélectionner dans la liste des hôtes celui associé au projet.
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 Container Manager.
Sélectionnez la vue Conteneurs en cliquant sur l'onglet de droite dans la fenêtre de navigation.
Dans la fenêtre de navigation, sélectionnez le conteneur voulu.
Si nécessaire, développer le conteneur en cliquant sur le triangle correspondant. Une fois les noms de projets affichés, cliquez sur celui qui vous intéresse.
Une table répertoriant tous les hôtes auxquels le conteneur est associé s'affiche dans le volet droit.
Cliquez sur le nom du projet dans cette table.
La page Propriétés pour l'instance du conteneur sur l'hôte sélectionné apparaît.
Cliquez sur l'onglet Processus.
Le nom du projet et de l'hôte auquel celui-ci est associé sont indiqués dans le titre de la table. Les processus exécutés à l'intérieur du projet s'affichent dans la table Processus.
Si aucun processus ne s'affiche dans la table, c'est que le projet sélectionné est peut-être inactif.
Deux pages de propriétés permettent de modifier un conteneur ou un projet, qu'il soit actif ou inactif. Le tableau suivant compare ces deux pages de propriétés.
Tableau 4–1 Détails des pages de propriétés
Page de propriétés |
Syntaxe |
Tab |
---|---|---|
Conteneur |
Permet de modifier la description, le type du projet, les identificateurs du projet (utilisateurs, groupes) et l'expression à rechercher. |
Onglet Propriétés de la vue Conteneurs après sélection du conteneur |
Instance du projet (projet actif ou inactif) |
Permet de modifier les associations à des pools de ressources, la réservation de CPU et le capital de mémoire |
Onglet Propriétés de la vue Hôte et de la vue Conteneurs |
Chaque instance de projet est dotée d'un conteneur auquel elle est associée. Toute modification apportée au conteneur s'applique à l'ensemble des instances de projet utilisant cette définition. Par exemple, si vous modifiez le type du projet dans un conteneur, le type de projet est modifié pour toutes les instances de projet qui utilisent le même conteneur. Par conséquent, vous pouvez utiliser les deux pages de propriétés pour apporter toutes les modifications requises.
Chaque instance de projet est également associée à une page de propriétés exclusivement utilisée pour modifier son pool de ressources ou ses réservations de ressources. Lorsque vous utilisez cette page de propriétés, vous ne pouvez modifier qu'un seul projet à la fois. Par exemple, vous pouvez augmenter la réservation minimum de CPU ou le capital de mémoire actif. Les modifications effectuées n'entrent en vigueur qu'une fois les nouvelles valeurs enregistrées. Les modifications apportées aux limites de ressources d'un projet inactif ne sont appliquées qu'après la réactivation du projet.
L'écran reproduit ci-dessous illustre la page de propriétés complète pour une instance de projet appelée sales01.
Pour modifier les ressources de plusieurs projets actifs sur différents hôtes, utilisez la fonction Tâche Changement de ressources. Pour plus d'informations à ce sujet, reportez-vous à la section Modification des projets via une tâche Changement de ressources.
À partir de la Vue Conteneurs, vous pouvez accéder à une autre page de propriétés permettant de modifier le conteneur. Les modifications effectuées dans cette page ne s'appliquent qu'à un seul conteneur à la fois. Vous ne pouvez pas utiliser la fonction Tâche Changement de ressources pour modifier plusieurs conteneurs simultanément.
L'écran reproduit ci-dessous illustre la page de propriétés complète permettant de modifier une instance de projet appelée sales01.
Vous ne pouvez pas modifier les propriétés d'un projet par défaut. C'est pourquoi, aucune page de propriétés n'est accessible en cas de sélection d'un projet par défaut.
La modification des propriétés n'est autorisée que si un conteneur ou un projet est inactif. Vous devez d'abord désactiver un projet actif sur chacun des hôtes auxquels celui-ci est associé avant de pouvoir modifier ses propriétés. Après avoir enregistré vos modifications, vous pouvez réactiver le projet.
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 Container Manager.
Sélectionnez la vue Conteneurs.
Sélectionnez le conteneur voulu.
Si le conteneur choisi n'est utilisé par aucun des projets actifs, sélectionnez le groupe de conteneurs approprié dans la fenêtre de navigation. Cette méthode permet d'afficher la table Conteneur et groupes dans le volet droit. Sélectionnez le projet voulu dans cette table.
Si le conteneur est utilisé par des projets actifs, sélectionnez-le dans la fenêtre de navigation. Si nécessaire, cliquez sur les différents groupes de conteneurs afin d'afficher conteneurs individuels. Cette méthode permet d'afficher la table Hôtes associés à cette définition de conteneur à partir de laquelle vous pouvez désactiver les instances de projet.
Toutes les instances de projet utilisant le conteneur sélectionné doivent être désactivées avant de pouvoir modifier les propriétés de celui-ci. Si l'état Actif est affiché pour l'une des instances, utilisez le bouton Désactiver de la table Hôtes associés à cette définition de conteneur après avoir sélectionné tous les hôtes avant de poursuivre.
Cliquez sur l'onglet Propriétés dans le volet droit.
La page de propriétés associée au conteneur sélectionné s'affiche. Les modifications suivantes peuvent être apportées dans les champs de texte :
Description – Donnez une description du conteneur.
Type de projet – Spécifiez le type Utilisateur, Groupe ou Application.
Nom d'utilisateur UNIX – Modifiez le nom d'utilisateur UNIX existant.
Autres noms d'utilisateurs – Modifiez les entrées existantes ou ajoutez de nouveaux noms d'utilisateurs UNIX. En cas d'entrées multiples, séparez ces dernières par des virgules.
Autres noms de groupes – Modifiez les entrées existantes ou ajoutez de nouveaux noms de groupes UNIX. En cas d'entrées multiples, séparez ces dernières par des virgules.
Si le bouton Enregistrer n'est pas disponible et que les champs de texte sont affichés en grisé, cela signifie que le conteneur est utilisé dans une ou plusieurs instances. Assurez-vous de l'affichage de l'état Inactif pour tous les hôtes listés dans la table Hôtes associés à cette définition de conteneur. Si l'un des hôtes a l'état Actif, désactivez-le.
Cliquez sur Enregistrer pour sauvegarder les modifications.
La page de propriétés reste affichée.
Utilisez cette procédure pour modifier le pool de ressources ou les réservations de ressources d'un seul projet. Pour appliquer les mêmes modifications à plusieurs projets, reportez-vous à la section Modification des projets via une tâche Changement de ressources.
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 Container Manager.
Choisissez l'une des méthodes suivantes pour sélectionner l'instance de projet voulue :
Si vous connaissez le nom de l'hôte auquel le projet est associé, sélectionnez-le dans la fenêtre de navigation de la vue Hôte. Cliquez ensuite sur l'onglet Projets dans le volet droit pour afficher une table listant tous les projets associés à l'hôte sélectionné.
Si vous connaissez le nom du projet, sélectionnez-le dans la fenêtre de navigation de la vue Conteneurs. La table Hôtes associés à cette définition de conteneur s'affiche dans le volet droit.
Tous les projets doivent être désactivés pour pouvoir en modifier les propriétés. Si l'état de l'un des projets est Actif, utilisez le bouton Désactiver de la table pour le désactiver avant de poursuivre. Les tables affichées dans les deux vues sont dotées de ce bouton.
Sélectionnez le nom du projet ou de l'hôte dans la table affichée, suivant la méthode choisie à l'étape précédente.
La page de propriétés de l'instance de projet sélectionnée s'affiche.
Effectuez les modifications souhaitées.
(Solaris 10) Vous ne pouvez pas modifier le pool de ressources d'un projet.
Définition du pool de ressources. Pour changer le pool associé au projet, sélectionnez le pool voulu dans le menu déroulant.
Réservation de CPU (parts de CPU). Spécifiez la nouvelle valeur dans la zone de texte, celle-ci devant être un entier.
Capital de mémoire (Mo). Spécifiez la nouvelle valeur dans la zone de texte.
Mémoire partagée (Mo). Spécifiez la nouvelle valeur dans la zone de texte.
Cliquez sur « Ouvrir ».
Les modifications apportées aux réservations de ressources sont enregistrées.
(Facultatif) Pour réactiver le projet, revenez à la table utilisée à l'Étape 3 et cliquez sur Activer.
Utilisez la fonction tâche Changement de ressources pour changer les limites de ressources de plusieurs projets répartis sur différents hôtes. Pour que cette opération aboutisse, tous ces projets doivent utiliser le même conteneur. Vous pouvez exécuter la tâche Changement de ressources immédiatement de façon à appliquer les modifications simultanément ou programmer leur application ultérieure.
Sous Solaris 10, la fonction tâche Changement de ressources ne modifie l'allocation de ressources aux conteneurs que dans la mesure où ceux-ci sont déployés dans la zone globale.
Les modifications relatives aux réservations de CPU (parts de CPU) sont immédiates. Les modifications relatives au capital de émoire doivent être écrites dans le swap. Toute modification importante du capital de mémoire risque d'affecter les performances du système pendant le réglage de cet élément.
Les informations suivantes sont fournies dans la table Tâche Changement de ressources :
Nom de la tâche spécifiée lors de la création de celle-ci.
Noms des hôtes auxquels le conteneur est associé.
Intervalle d'exécution programmé de la tâche. Les options disponibles sont Une seule fois, Horaire, Quotidien, Hebdomadaire, Mensuel.
État de la tâche. Les valeurs possibles sont En file d'attente, Réussite ou Échec.
Dans l'exemple suivant, les noms de projets “Serveur Internet” et “Base de données” sont utilisés pour démontrer que la fonction Tâche Changement de ressources peut être utilisée pour gérer les ressources système de tous les services d'une entreprise. Dans cet exemple, un fournisseur de services en ligne traite ses commandes via son site Internet. Le projet Serveur Internet a été créé pour gérer les ressources de CPU et de mémoire utilisées par le serveur Web de l'entreprise sur tout le territoire de l'Amérique du Nord. Le projet Base de données gère les ressources utilisées par la base de données. Pendant la journée et les premières heures de la soirée, les demandes de ressources du serveur Internet sont élevées en raison de l'affluence enregistrée sur le site Web pour passer les commandes. En revanche, plus tard dans la soirée, la charge du serveur Web diminue considérablement, notamment après minuit. Pendant la nuit, la base de données a été configurée pour générer les rapports de ventes du jour écoulé.
Pour gérer les ressources requises par ces deux conteneurs créés sur un système à 8 CPU doté de 6000 Mo de mémoire physique, vous pouvez créer quatre tâches Changement de ressources, telles que décrites dans le tableau suivant.
Tableau 4–2 Exemple de programmation de tâches Changement de ressources
Nom du conteneur |
Nom de la tâche |
Heure de début |
Intervalle |
Changement de ressource |
---|---|---|---|---|
Serveur Internet |
serveur_Internet-jour |
6:00 |
Quotidienne |
Parts de CPU : 6 Mémoire : 2500 Mo |
Base de données |
base_de_données-jour |
6:00 |
Quotidienne |
Parts de CPU : 1 Mémoire : 2000 Mo |
Serveur Internet |
serveur_Internet-nuit |
Minuit |
Quotidienne |
Parts de CPU : 1 Mémoire : 2000 Mo |
Base de données |
serveur_Internet-nuit |
Minuit |
Quotidienne |
Parts de CPU : 6 Mémoire : 2500 Mo |
Deux tâches Changement de ressources sont exécutées chaque matin à 6:00 pour changer les ressources des projets Serveur Internet et Base de données. Pendant la journée, le projet Serveur Internet se voit attribuer la plus grande partie des ressources de CPU et de mémoire physique dans la mesure où sa charge est importante. À minuit, tous les jours, deux autres tâches Changement de ressources sont exécutées afin de modifier l'allocation des ressources en fonction des besoins. La base de données exige davantage de ressources afin de générer les rapports de ventes quotidiens, tandis que la charge du serveur Internet diminuant, ce dernier en utilise moins.
Cette fonction est identique à la fonction de gestion des tâches de Sun Management Center, mais utilise l'IG Container Manager pour gérer l'ensemble des tâches associées au Container Manager. Pour plus d'informations sur la fonction de tâche Sun Management Center, voir Gestion des travaux - Concepts du Guide de l’utilisateur de Sun Management Center 3.6.
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 Container Manager.
Sélectionnez la vue Conteneurs.
Dans la fenêtre de navigation, sélectionnez le nom du projet.
Le projet sélectionné doit être associé à un hôte pour pouvoir poursuivre.
Cliquez sur l'onglet Tâches dans le volet droit.
La table Tâches Tâche Changement de ressources s'affiche.
Cliquez sur le bouton Nouvelle Tâche Changement de ressources affiché dans la table.
L'assistant Tâche Changement de ressources apparaît. Le panneau Présentation s'affiche.
Spécifiez un nom pour la tâche Changement de ressources. Si vous le souhaitez, donnez une description de la tâche.
Le nom de la tâche ne doit pas dépasser 32 caractères. L'utilisation des espaces, du tiret (-), du caractère de soulignement (_) et du point (.) est autorisée. Un espace est converti en caractère de soulignement (_).
Le panneau de sélection des hôtes s'affiche. Le nom de tous les hôtes auxquels le conteneur sélectionné est associé apparaît dans la liste des hôtes disponibles. Vous pouvez modifier les limites de ressources d'un ou plusieurs hôtes en sélectionnant ces derniers dans cette fenêtre.
Sélectionnez chacun des hôtes dans la liste des hôtes disponibles et cliquez sur Ajouter pour les déplacer dans la liste des hôtes sélectionnés. Cliquez sur Tout ajouter pour déplacer tous les hôtes simultanément.
Les noms d'hôtes s'affichent dans le champ des hôtes sélectionnés.
Spécifiez une nouvelle réservation minimum de CPU (parts de CPU). Si vous le souhaitez, spécifiez un capital de mémoire.
Les nouvelles limites de ressources s'appliquent à tous les hôtes sélectionnés à l'étape précédente.
Indiquez une date et une heure de début, ainsi qu'un intervalle d'exécution pour la tâche Changement de ressources.
Les modifications apportées aux limites de ressources entrent en vigueur à l'heure et à la date spécifiées.
Vérifiez vos sélections dans le panneau Récapitulatif. Pour revenir sur l'une des modifications, utilisez le bouton Précédent. Lorsque toutes les modifications voulues ont été apportées, cliquez sur Terminer.
La fenêtre de l'assistant est fermé. La tâche est ajoutée dans la table Tâches. Son état reste En file d'attente, jusqu'à sa date d'exécution programmée. Les modifications apportées aux limites de ressources entrent en vigueur à l'heure et à la date spécifiées.
Utilisez la procédure ci-dessous pour modifier une tâche en attente dont l'état est toujours En file d'attente dans la table Tâches.
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 Container Manager.
Sélectionnez la vue Conteneurs dans la fenêtre de navigation.
Cliquez sur l'onglet Tâches dans le volet droit.
Dans la table Tâches Changement de ressources, sélectionnez la tâche à modifier en cochant la case en regard de son nom.
Une coche apparaît alors dans la case à cocher.
Pour lancer l'assistant Tâche Changement de ressources, cliquez sur le bouton Mettre à jour la tâche Changement de ressources.
Pour une description détaillée des étapes à suivre pour déplacer les panneaux, reportez-vous à la section Pour modifier un projet via une tâche Changement de ressources.
Lorsque toutes les modifications voulues ont été apportées, cliquez sur Terminer.
La fenêtre de l'assistant se ferme. Les modifications apportées à la tâche sont enregistrées.
Utilisez cette procédure pour afficher le journal généré après l'exécution d'une tâche Changement de ressources. Si la tâche comprend des modifications apportées sur plusieurs hôtes, l'état des tâches par hôte est indiqué dans le journal.
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 Container Manager.
Sélectionnez la vue Conteneurs dans la fenêtre de navigation.
Cliquez sur l'onglet Tâches dans le volet droit.
Dans la table Tâches Changement de ressources, sélectionnez la tâche terminée dont vous souhaitez afficher le journal en cochant la case en regard de son nom.
Une coche apparaît alors dans la case à cocher.
Cliquez sur le bouton Afficher le journal.
Le fichier journal associé à la tâche Changement de ressources s'affiche.
Vous pouvez supprimer un projet et le conteneur associé lorsque ces derniers deviennent inutiles. Avant de supprimer un projet et son conteneur, vous devez préalablement supprimer le projet sur tous les hôtes auxquels il est associé. Cette suppression entraîne le retrait du conteneur de la base de données, les données précédemment collectées pour le projet n'étant alors plus stockées. Par conséquent, il est impossible d'obtenir des données historiques pour un projet supprimé dans la mesure où toutes les données s'y rapportant sont supprimées de la base de données. La suppression n'est pas considérée comme un état de projet en soi puisque l'enregistrement et toutes les données associées sont supprimées.
Pour pouvoir supprimer un projet sous Solaris 8, tous les processus en cours d'exécution qui lui sont associés doivent être arrêtés.
La suppression d'un projet génère les événements suivants selon la version Solaris utilisée :
L'lnode est d'abord supprimé, puis c'est au tour du projet.
Les processus exécutés dans le projet sont transférés dans le projet par défaut et l'entrée correspondante est retirée de la base de données /etc/project.
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 Container Manager.
Assurez-vous de l'absence d'association de tout projet actif ou inactif au conteneur à supprimer.
Sélectionnez la vue Conteneurs dans la fenêtre de navigation.
Sélectionnez le conteneur à supprimer.
Cliquez sur « Supprimer ».
Le conteneur est supprimé de la vue Conteneurs et de la base de données.