Solaris Container Manager 1.1 インストールと管理

プロジェクトの作成

ソフトウェアのインストールとセットアップ後に作成されるデフォルトコンテナに加えて、カスタムプロジェクトを作成できます。両方のタイプのコンテナを組み合わせて使用すると、サーバー統合計画の実行に役立ちます。

カスタムプロジェクトを作成するには、新規プロジェクトウィザードを使用します。コンテナだけを作成し、コンテナ表示ウィンドウに保存できます。また、ウィザードの手順をすべて完了してプロジェクトを作成することもできます。どちらの場合も同じウィザードを使用します。

コンテナだけを作成した場合、名前がコンテナ表示に保存されます。後でコンテナを使用して 1 つまたは複数のプロジェクトを作成できます。詳細は、「プロジェクトの有効化と無効化」を参照してください。

プロジェクトを作成する場合も、その一環としてコンテナを作成します。プロジェクトの作成が完了したら、コンテナがコンテナ表示のナビゲーションウィンドウに保存されます。この同じ定義を使用して、複数のホストに関連付けられている追加プロジェクトを作成できます。これらのプロジェクトの定義は、名前とプロジェクトの種類を含めて、各ホストで同じです。プロジェクトのリソース予約はホストごとに変えるか、すべて同じにできます。状況に応じてリソースのニーズを満たせるように、このように柔軟な設定が可能になっています。詳細は、「コンテナのプロパティ」を参照してください。

新規プロジェクトウィザードに従って、プロジェクトを作成できます。ウィザードに従ってプロジェクトを作成するには、次の情報が必要です。

このウィザードは、GUI の 3 つの異なる場所で「新規プロジェクト」ボタンをクリックして起動できます。GUI のどこからウィザードを起動するかによって、上記の情報をすべて指定する必要がない場合があります。この場合、一部の情報は自動的に入力されます。

Procedure新規プロジェクトウィザードを起動する

新規プロジェクトウィザードは、GUI の 3 つの場所から起動できます。ウィザードを起動した場所によっては、一部の情報が自動的に入力されるので、すべてのパネルに入力する必要がない場合があります。

新規プロジェクトウィザードの例については、「アプリケーションベースのプロジェクトの作成」を参照してください。

手順
  1. Container Manager の GUI が開いていない場合は、「Container Manager の GUI を起動する」に従って起動します。

  2. ナビゲーションウィンドウで、作成するコンテナの関係を指定します。

    • 特定のホストを自動的にコンテナに関連付けるには、次の操作を行います。

      1. ホスト表示のナビゲーションウィンドウでホスト名を選択します。

        必要な場合は、ホストグループ名をクリックしてリストを展開します。

      2. 右側の区画で「プロジェクト」タブを選択します。

        「プロジェクト」表が表示されます。

      この方法では、コンテナの作成処理中にホストを選択する必要があります。

      ホスト表示の「新規プロジェクト」ボタンを示すスクリーンキャプチャ。周りのテキストがコンテキストを表します。
    • プロジェクトを特定のリソースプールに自動的にバインドするには、次の操作を行います。

      1. ホスト表示のナビゲーションウィンドウでリソースプール名を選択します。

        必要な場合は、ホスト名の横のボタンをクリックしてリストを展開します。ホストに割り当てられているリソースプールが表示されます。

      2. 右側の区画で「プロジェクト」タブを選択します。

        「プロジェクト」表が表示されます。

      コンテナの作成処理中にリソースプールを割り当てる必要はありません。

    「ホスト」ビュー (リソースプール) の「新規プロジェクト」ボタンを示すスクリーンキャプチャ。周りのテキストがコンテキストを表します。
  3. ホストプロジェクトまたはホストリソースプールの表で「新規プロジェクト」ボタンをクリックします。


    注 –

    どちらの方法でも、右側の区画に表示される表に「新規プロジェクト」ボタンがあります。


    新規プロジェクトウィザードが表示されます。最初に「概要」パネルが表示されます。

    新規プロジェクトウィザードの「概要」パネルのスクリーンキャプチャ。周りのテキストがコンテキストを表します。

ユーザーベースまたはグループベースのプロジェクトの作成


注 –

Solaris 8 では、ユーザーベースのコンテナだけを使用できます。


コンテナで、UNIX ユーザー名または UNIX グループ名で識別されるプロセスを管理するには、ユーザーベースまたはグループベースのコンテナを作成します。作成処理中に選択するプロジェクトの種類によって、完成したコンテナがユーザーベースであるか、グループベースであるかが決まります。

Procedureユーザーベースまたはグループベースのプロジェクトを作成する

手順
  1. 「新規プロジェクトウィザードを起動する」に従って新規プロジェクトウィザードを起動します。

    「概要」パネルが表示されます。

  2. プロジェクトの種類として「ユーザー」または「グループ」を選択します。

    プロジェクトの種類が「ユーザー」のコンテナでは、同じ UNIX ユーザー名のプロセスが追跡されます。

    プロジェクトの種類が「グループ」のコンテナでは、同じ UNIX グループ名のプロセスが追跡されます。


    注 –

    Solaris 8 OS では、ユーザーベースのコンテナだけを使用できます。


  3. 次の要件を満たすプロジェクトの種類の識別子を指定します。

    (Solaris 8)

    • ユーザーベースのプロジェクト - 最初のフィールドに有効な UNIX ユーザー名を入力します。プロジェクトに参加できるユーザーの UNIX ユーザー名を 2 番目のフィールドに追加できます。プロジェクトに参加できるグループの UNIX グループ名を 3 番目のフィールドに追加できます。複数の名前を入力する場合は、コンマで区切ります。

      別のユーザーベースのプロジェクトまたはデフォルトプロジェクトで使用されているユーザー名を最初のフィールドに入力しないでください。

    • グループベースのプロジェクト - 最初のフィールドに有効な UNIX グループ名を入力します。後でプロジェクトに加わることができるグループの UNIX グループ名を 2 番目のフィールドに追加できます。後でプロジェクトに加わることができるユーザーの UNIX ユーザー名を 3 番目のフィールドに追加できます。複数の名前を入力する場合は、コンマで区切ります。

      別のグループベースのプロジェクトまたはデフォルトプロジェクトで使用されているグループ名を最初のフィールドに入力しないでください。


    注 –

    Solaris 9 と Solaris 10 では、有効なユーザー名とグループ名は必須ではありません。ただし、追加のユーザー名とグループ名がシステムに存在する必要があります。


    このプロジェクトの種類については、表 3–2 を参照してください。

  4. ホスト名だけを選択して、プールを選択せずに新規プロジェクトウィザードを起動した場合は、プロジェクトのリソース要件を満たすリソースプールを割り当てます。

    プロジェクト内で開始された新規プロセスは、対応するリソースプールにバインドされます。プロジェクトが有効になったら、プロジェクトで保持されている新規プロセスがそのリソースプールにバインドされます。

    • 新規リソースプールを割り当てるには、次の操作を行います。

      1. 「新規リソースプールを作成」を選択します。

      2. リソースプールの名前を指定します。

        名前には英数字を使用し、空白文字を含めることはできません。ハイフン (-)、下線 (_)、およびピリオド (.) の各文字は使用できます。

      3. CPU 数を割り当てます。

        CPU 数は、ホスト上で使用可能な CPU 数以下、1 以上の整数である必要があります。ホスト上の CPU の総数と、現在、使用可能な数が表示されます。

    • 既存のプールを割り当てるには、次の操作を行います。

      1. 「既存のリソースプールを使用」を選択します。

        使用可能なリソースプールのリストが表示されます。

      2. リスト内のプール名の横のラジオボタンを選択します。

        各リソースプールに割り当てられている CPU の総数と、各プール内で予約されていない CPU 数が表示されます。コンテナが、選択したリソースプールに割り当てられます。

  5. (Solaris 10 のみ) 既存のゾーンを選択します。

    使用可能なゾーンのボタンをクリックし、プロジェクトをゾーンに関連付けます。

  6. プロジェクトのリソース予約を指定します。

    ホストの最大 CPU 数、予約されていない CPU シェア数、および使用可能なメモリーリソースを指定します。

    CPU 予約数は必須であり、整数で指定する必要があります。CPU 予約数がゼロのコンテナは、同じホストに関連付けられているほかのコンテナ内で実行中のプロセスがない場合にのみ CPU リソースを使用できます。

    メモリーキャップは省略可能で、M バイト単位で指定します。

    共有メモリーの値は、このプロジェクト内で実行されるプロセスで使用できる共有メモリーの総容量です。共有メモリーも省略可能です。共有メモリーのデフォルト値は、物理メモリーの 4 分の 1 です。

  7. コンテナの名前を指定します。

    名前は、一意であり、32 文字以内である必要があります。ナビゲーションウィンドウ、各一覧表、およびリソース使用状況レポートでこの名前でコンテナが識別されます。重複する名前を入力すると、コンテナの作成に失敗します。

    作成処理の完了後は、コンテナ名を変更できません。

  8. (省略可能) コンテナの説明を入力します。

  9. 「概要」パネルで設定を確認します。

    プロジェクトの概要画面
  10. 「完了」をクリックします。

    設定が保存され、プロジェクトが有効になります。Solaris カーネルがコンテナのリソース予約を開始します。

アプリケーションベースのプロジェクトの作成


注 –

Solaris 8 OS では、ユーザーベースのコンテナだけを使用できます。


アプリケーションベースのプロジェクトを使用して、特定のソフトウェアアプリケーションで実行されるプロセスを管理します。プロセスが自動的に移動するか、プロセスを手動で移動できるアプリケーションベースのプロジェクトを作成できます。

アプリケーションに固有の一致式を指定できる場合は、この式をプロジェクトに追加できます。この場合、プロセスの実行に使用される UNIX ユーザー ID または UNIX グループ ID も指定する必要があります。後でプロジェクトに加わることができるユーザーまたはグループも追加できます。プロジェクトにプロセスを自動的に移動するには、ウィザードの対応するパネルが表示されたときに、必要なプロジェクト識別子をすべて指定する必要があります。識別子を指定すると、この定義に基づくすべてのプロジェクトで、一致するプロセスがすべて自動的に移動します。

アプリケーションに固有の識別子が作成されない場合は、プロセスを手動で移動するか、プロジェクト内でアプリケーションを起動できます。プロセスを手動で移動する場合は、プロセスの実行に使用される UNIX ユーザー ID または UNIX グループ ID だけでプロジェクトを作成します。後でプロジェクトに加わることができるユーザーまたはグループも追加できます。そして、newtask -p コマンドでプロセスを移動します。詳細は、「プロジェクト内でのプロセスの移動または起動」を参照してください。

Procedureアプリケーションの一致式を決定する

管理するアプリケーションに対応するプロセスを識別する適切な一致式を決定するには、次の手順に従います。プロセスをコンテナに自動的に移動するには、新規コンテナウィザードでこの式を指定する必要があります。

手順
  1. 端末ウィンドウから、アプリケーションベースのコンテナで管理するアプリケーションを起動します。

  2. 実行中のすべてのプロセスの一覧を表示するには、端末ウィンドウで次のように入力します。


    % ps -cafe
    
  3. CMD 列で対応する実行可能ファイルの名前を探します。

    アプリケーションのプロセスを一意に識別する式を選択します。


例 4–1 Mozilla の一致式の決定

Mozilla を探すために入力した ps - cafe コマンドの出力例を次に示します。


% ps -cafe
     UID   PID  PPID  CLS PRI    STIME TTY      TIME CMD
    ...
username  8044  7435   IA  50 19:47:09 pts/11   0:00 /bin/ksh -p /usr/sfw/lib/mozilla/mozilla

この例では、固有の実行可能ファイルの名前は mozilla です。したがって、適切な一致式は mozilla になります。



例 4–2 Tomcat サーバーの一致式の決定

アプリケーションの名前がわかっている場合は、ps -cafe コマンドと grep コマンドを組み合わせて使用して適切な一致式を確認できます。Tomcat サーバーを探すために入力した ps - cafe | grep tomcat コマンドの出力例を次に示します。この例では、関係のない情報を省いています。


% ps -cafe | grep tomcat
  nobody 27307  /usr/j2se/bin/java -classpath //usr/apache/tomcat/bin/bootstrap.jar:/usr/j2se/l
 

この例では、実行可能ファイルの名前は java です。ただし、適切な一致式は tomcat です。この場合、一致式は、実行可能ファイルの名前ではなく、引数です。なぜなら、java では、Tomcat のプロセスを一意に識別できないからです。



例 4–3 Tomcat サーバーの一致式の確認

次の例では、pgrep コマンドを使用して PID を検索する方法を示します。PID は、必要なプロセスを検索するための固有の一致式を指定したことを示します。


% pgrep -f tomcat
27307

Tomcat サーバーの PID は 27307 です。この数値は、例 4–2 の PID と一致します。したがって、一致式 tomcat が Tomcat サーバーのプロセスと一致することが確認できます。


Procedureアプリケーションベースのプロジェクトを作成する

手順
  1. 「新規プロジェクトウィザードを起動する」に従って新規プロジェクトウィザードを起動します。

    「概要」パネルが表示されます。

  2. コンテナのプロジェクトの種類として「アプリケーション」を選択します。

    アプリケーションベースのプロジェクトコンテナでは、アプリケーションに関連付けられているプロセスが追跡されます。このプロジェクトの種類については、表 3–2 を参照してください。

  3. プロジェクトの名前を指定します。

    名前は、一意であり、32 文字以内である必要があります。ナビゲーションウィンドウ、各一覧表、およびリソース使用状況レポートでこの名前でプロジェクトが識別されます。重複する名前を入力すると、プロジェクトの作成に失敗します。

    作成処理の完了後は、コンテナ名を変更できません。

  4. アプリケーションのプロセスの実行に使用される UNIX ユーザー名または UNIX グループ名を指定します。

    この UNIX ユーザー名または UNIX グループ名は必須です。名前を指定しなかった場合、名前を指定するまで、対応するプロセスがコンテナ下に移動しません。複数の名前を入力する場合は、コンマで区切ります。

  5. コンテナが有効になったときにアプリケーションのプロセスをプロジェクト下に自動的に移動するか、コマンド行から手動で移動するかを指定します。

    • アプリケーションのプロセスをコマンド行から手動で移動するには、「一致式を使用しない」チェックボックスを選択します。

    • プロジェクトが有効になったときにアプリケーションのプロセスをプロジェクト下に自動的に移動するには、「一致式」フィールドに式を指定します。

      「一致式」フィールドでは、アプリケーションに関連付けられているプロセスを識別するワイルドカードを使用できます。たとえば、Mozilla に関連するプロセスは moz、Tomcat に関連するプロセスは cat と指定できます。

      新規プロジェクトウィザードでのプロジェクトアプリケーションプロセス識別子

      アプリケーションのプロセスを自動的にコンテナに移動するには、一致式を指定する必要があります。一致式では、大小文字が区別されます。適切な一致式を決定するには、「アプリケーションの一致式を決定する」を参照してください。

      この時点で一致式を指定しなかった場合、式を指定するまで、アプリケーションのプロセスはこのコンテナ下に移動しません。

  6. ホスト名から、プールを選択せずに新規プロジェクトウィザードを起動した場合は、プロジェクトのリソース要件を満たすリソースプールを割り当てます。

    プロジェクト内で開始された新規プロセスは、対応するリソースプールにバインドされます。プロジェクトが有効になったら、コンテナで保持されている新規プロセスがそのリソースプールにバインドされます。

    • 新規リソースプールを割り当てるには、次の操作を行います。

      1. 「新規リソースプールを作成」を選択します。

      2. リソースプールの名前を指定します。

        名前には英数字を使用し、空白文字を含めることはできません。ハイフン (-)、下線 (_)、およびピリオド (.) の各文字は使用できます。

      3. CPU 数を割り当てます。

        CPU 数は、ホスト上で使用可能な CPU 数以下、1 以上の整数である必要があります。ホスト上の CPU の総数と、現在、使用可能な数が表示されます。

    • 既存のプールを割り当てるには、次の操作を行います。

      1. 「既存のリソースプールを使用」を選択します。

        使用可能なリソースプールのリストが表示されます。

      2. リスト内のプール名の横のラジオボタンを選択します。

        各リソースプールに割り当てられている CPU の総数と、各プール内で予約されていない CPU 数が表示されます。プロジェクトが、選択したリソースプールにバインドされます。

  7. (Solaris 10 のみ) 既存のゾーンを選択します。

    使用可能なゾーンのボタンをクリックします。

  8. プロジェクトのリソース予約を指定します。

    ホストの最大 CPU 数、予約されていない CPU シェア数、および使用可能なメモリーリソースを指定します。

    CPU 予約数 (CPU シェア数) は必須で、整数で指定する必要があります。CPU 予約数がゼロのプロジェクトは、同じホストに関連付けられているほかのコンテナ内で実行中のプロセスがない場合にのみ CPU リソースを使用できます。

    メモリーキャップは省略可能で、M バイト単位で指定します。

    共有メモリーの値は、このプロジェクト内で実行されるプロセスで使用できる共有メモリーの総容量です。共有メモリーも省略可能です。共有メモリーのデフォルト値は、物理メモリーの 4 分の 1 です。

  9. コンテナの名前を指定します。

    名前は、一意であり、32 文字以内である必要があります。ナビゲーションウィンドウ、各一覧表、およびリソース使用状況レポートでこの名前でコンテナが識別されます。重複する名前を入力すると、コンテナの作成に失敗します。作成処理の完了後は、コンテナ名を変更できません。

  10. (省略可能) コンテナの説明を入力します。

  11. 「概要」パネルで設定を確認します。

    アプリケーションプロジェクトの概要画面
  12. 「完了」をクリックします。

    設定が保存され、コンテナが有効になります。Solaris カーネルによって、コンテナのリソース予約が開始されます。