Installation et configuration de Solaris Container Manager 3.6

Transfert ou exécution de processus dans un projet

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.

ProcedurePour transférer individuellement des processus dans un projet de type Application

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.

Étapes
  1. 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.

  2. 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.

  3. Si nécessaire, lancez l'application dans une fenêtre de terminal.

  4. 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.

  5. Transférez les processus appropriés.

    1. À partir de l'IG du gestionnaire de conteneurs, cliquez sur l'hôte dans la fenêtre de navigation.

    2. Cliquez sur l'onglet Projets.

      La table Projets s'affiche.

    3. 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.

    4. Cliquez sur l'onglet Processus.

      La table Processus apparaît.

    5. Sélectionnez les processus à déplacer.

    6. Cliquez sur le bouton Déplacer.

      La boîte de dialogue de transfert des processus s'affiche.

    7. Sélectionnez le nouveau projet (conteneurs) pour le processus dans la liste des projets (conteneurs).

    8. Cliquez sur OK .

  6. Répétez l'Étape 5 pour tous les processus à déplacer.


Exemple 4–4 Vérification du transfert des processus dans le projet à l'aide de la commande ps

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 


Exemple 4–5 Vérification du transfert des processus dans le projet à l'aide de la commande prstat

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							

ProcedurePour démarrer une application dans un projet

Étapes
  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.

  2. 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
      

      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
      

      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.


Exemple 4–6 Démarrage d'une application dans un conteneur sous le SE Solaris 9 ou 10

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

-z 0 mozart.au correspond aux arguments de ligne de commande pour l'application tracks.



Exemple 4–7 Vérification de l'association d'une application à un projet

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.