Sun N1 Service Provisioning System 5.1 オペレーションとプロビジョニングガイド

第 1 章 コンポーネントの配備

この章では、プランの概念とコンポーネントの配備方法について簡単に説明します。

コンポーネントの配備について

コンポーネントの配備方法は、次の 3 つの中から選択できます。

プロビジョニングシステム では、有効なホストにコンポーネントをいくつでも配備することができます。配備可能なコンポーネントの数は、ホスト上のファイルシステムによってのみ制限されます。ファイルシステムはそれぞれに配備可能なファイルの数を制限しているため、1 つのディレクトリに配備するコンポーネントが多すぎると、そのファイルシステムの制限を超える可能性があります。コンポーネントとファイルの関係は、必ずしも等比ではありません。たとえば、1 つのコンポーネントに 100,000 個のファイルがあるとファイルシステムの制限を越える場合があり、100,000 個のコンポーネントのいずれにもファイルがないとファイルシステムの制限内に収まる場合があります。

ファイルシステムの制限を超えても、コンポーネントが配備されたときに直接障害を引き起こさない場合もあります。ただし、次第に性能が劣化したり、あるとき予測不可能な障害が起こるなどの形で問題が発生する可能性があります。

1 つのディレクトリがサポートできるファイル数の上限は、ファイルシステムによって異なり、オペレーティングシステムの構成に左右されることがあります。ファイルシステムの制限を理解し、単一の大きいディレクトリではなく、より小さい複数のサブディレクトリにコンポーネントを配備することによって、ディレクトリへの過負荷を避けることができます。コンポーネントを配備するときに従来から使われている対策は、1 つのディレクトリに保存するファイル数を 30,000 個以内にすることです。

直接実行コンポーネントプロシージャーの使用

複数のコンポーネントを使用したり、ホスト間での同期が不要な場合は、配備プランは必要ありません。その代わりに、配備するコンポーネントをチェックインしたときに自動生成される直接実行コンポーネントプロシージャーを使用することができます。

Procedure直接実行コンポーネントプロシージャーを使用する

ほとんどのコンポーネントには、インストール、アンインストール、スナップショットの各手続きが含まれています。このほかに、制御手続きが含まれている場合もあります。制御手続きは、インストール済みのコンポーネントを管理する機能を持っています。たとえば、アプリケーションの起動または停止などを行うことができます。

ここでは、ブラウザインタフェースを使用してコンポーネントを直接配備する方法について説明します。この手続きの代わりに、次のコマンドを使用することもできます。

このコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 9 章「pdb: プランを管理する CLI コマンド」 および 『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 10 章「pe: プランを実行する CLI コマンド」を参照してください。

コンポーネントの開発については、『Sun N1 Service Provisioning System 5.1 プランとコンポーネントの開発者ガイド』を参照してください。


注 –

直接実行コンポーネントプロシージャーによって生成されたプランを削除する必要はありません。これらのプランは、生成元のコンポーネントが削除された時点でシステムから自動的に削除されます。詳細については、『Sun N1 Service Provisioning System 5.1 プランとコンポーネントの開発者ガイド』「コンポーネントを削除する」を参照してください。


始める前に

直接実行コンポーネントプロシージャーを使用するには、そのコンポーネントが含まれるフォルダに対して Run Component Procedures アクセス許可を持つユーザーグループに属する必要があります。また、このユーザーが、コンポーネントを配備する予定のホストセットに対して、Allow on Host Set アクセス許可を持っている必要があります。

手順
  1. ナビゲーションメニューから「Components」を選択します。

    「Components」ページが表示されます。

  2. コンポーネントの一覧表から、配備するコンポーネントの記述が含まれる行を選択して、「Details」をクリックします。

    コンポーネントの「Details」ページが表示されます。

  3. 必要に応じて、配備する予定のコンポーネントが表示されるようにフォルダを変更します。

    1. 「Change Folder」をクリックします。

    2. コンポーネントを含むフォルダ名を指定して、「Change to Selected Folder」をクリックします。

      「Components」ページに、指定したフォルダに含まれているコンポーネントの一覧が表示されます。

  4. コンポーネントプロシージャーの表から、実行する手続きを選択して、「Run」をクリックします。

    プロビジョニングシステムにより、プランが生成されます。生成されたプランは、/system/autogen フォルダに格納されます。

    生成されたプランの「Run」ページが表示されます。

  5. 「Plan Parameters」領域で、配備するコンポーネントの変数設定を選択します。

    • 当該コンポーネントの変数設定が確立されている場合、メニューから適切な設定を選択します。

    • メニューから設定を選択できない場合は、「Select From List」をクリックします。

      「Select Variable Settings From List」ウィンドウが表示されます。

      • 別のコンポーネントの変数設定を使用する場合は、「Import Set」をクリックします。

        「Import Variable Settings」ウィンドウが表示されます。

        1. 必要に応じて、変数設定のインポート元となるコンポーネントが入ったフォルダへ移動します。

        2. コンポーネントのバージョンを選択します。


          注 –

          コンポーネントのバージョンが異なると、変数設定も異なる可能性があります。


        3. 「Import Variable Settings」をクリックします。

          インポートされた変数設定が表に追加されます。

        4. 「選択」をクリックします。

      • 新しい変数設定を作成する場合は、「Create Set」を選択します。

        「Select Variable Settings From List」ウィンドウが表示されます。

        1. 表の最上部のテキストフィールドに、新しい変数設定セットの名前を入力します。

        2. 変更するコンポーネント変数を選択します。

          選択されたセルが強調表示され、テキストフィールドが表示されます。

        3. 新しいコンポーネント変数値を入力します。

        4. 変数設定値の更新が完了したら、「Save」をクリックします。

          新しい変数設定が表に追加されます。

        5. 「選択」をクリックします。

  6. コンポーネントの配備先を選択します。

    • ホストを選択する場合は、「Target Host」フィールドにホスト名を入力し、「Select From List」をクリックします。

    • ホストセットを選択する場合は、「Target Host Set」メニューから選択します。

  7. 「Plan Variables」領域で、設定する変数を構成します。

    構成対象の変数の有無は、選択したコンポーネントプロシージャーによって異なります。

  8. 「Options」領域で、詳細なプリフライトを行うかどうかを選択します。

    このプリフライトでは、リモートエージェント上で実行されるプランの各手順をシミュレートすることにより、以下の処理が正常に行われるかどうかをテストすることができます。

    • リモートインストール

    • execNative 呼び出し

    • ファイル変換

    • ファイルの削除 (リソースのアンインストール時)

    詳細なプリフライトを行うと、実際に運用を開始するまでの準備期間が長くなります。

  9. (省略可能) 同時に実行するホストの数を制限する場合は、フィールドにホスト数を指定します。

    あるプランを複数のホストに対して同時に実行した場合、すべてのホストが手順を完了するまで、次の手順に進むことはできません。ホスト数が多すぎると、次の手順に進む前に、ネットワーク接続がタイムアウトになる可能性があります。たとえば、ホスト A が手順 1 を完了したあと、手順 2 の実行前の接続確認 (ping) が行われるまでの時間が長すぎて、ネットワーク接続がタイムアウトになることがあります。

  10. (省略可能) プラン全体の実行時間、またはネイティブ呼び出しの実行時間を制限する場合は、フィールドに数値を入力し、メニューから時間の単位を選択します。

    プランまたはネイティブ呼び出しの実行時間を制限すると、応答しないホストがあるためにプランの実行が途中で停止するのを防ぐことができます。

    プランの実行時の障害について報告する通知規則を設定しておくと、実行途中でタイムアウトになった場合、プランが正常に実行されなかったことを知らせるメッセージを受け取ることができます。

    通知規則の設定については、『Sun N1 Service Provisioning System 5.1 システム管理者ガイド』「電子メール通知の構成」を参照してください。

  11. コンポーネントを配備するかどうかを選択します。

    • 手続きのプリフライトを行うだけでよい場合は、「Run Preflight Only」をクリックします。

    • プリフライトの実行後、このチェックでエラーが検出されなかったものと想定して、さらに手続きを実行する場合は、「Run Plan (Includes Preflight)」をクリックします。

プランの使用法

プロビジョニングシステムでは、次の 2 種類のプランを実行できます。

生成されたプラン

プロビジョニングシステムは、複数のコンポーネントプロシージャーから成るプランを自動的に生成することができます。このプランは、そのまま使用することも、XML を使ってより複雑なプランのテンプレートとして保存することもできます。

カスタムプラン

XML でカスタムプランを作成することができます。カスタムプランの作成については、『Sun N1 Service Provisioning System 5.1 プランとコンポーネントの開発者ガイド』「プランの作成」 and the 『Sun N1 Service Provisioning System 5.1 XML スキーマリファレンスガイド』を参照してください。

Procedureプランを生成する

ここでは、ブラウザインタフェースを使用してプランを生成する方法について説明します。次のコマンドでも、プランを生成することができます。

これらのコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 9 章「pdb: プランを管理する CLI コマンド」を参照してください。

始める前に

プランを生成するためには、プランを生成するコンポーネントが含まれるフォルダに対して、Create、Edit 、Delete のアクセス許可を持つユーザーグループに属する必要があります。

手順
  1. ナビゲーションメニューから「Components」を選択します。

    「Components」ページが表示されます。

  2. 必要に応じて、配備する予定のコンポーネントが表示されるようにフォルダを変更します。

    1. 「Change Folder」をクリックします。

    2. コンポーネントを含むフォルダ名を指定して、「Change to Selected Folder」をクリックします。

      「Components」ページに、指定したフォルダに含まれているコンポーネントの一覧が表示されます。

  3. コンポーネントの一覧表から、配備するコンポーネントの記述が含まれる行を選択して、「Details」をクリックします。

    コンポーネントの「Details」ページが表示されます。

  4. 「Component Procedures」表から、プランに含める手続きを選択します。

  5. 「Component Procedures」表の下部にある「Generate Plan With Checked Procedures」をクリックします。

    生成されたプランの「Advanced Edit」が表示されます。

  6. 「Plan」フィールドに新しいプランの名前を入力します。

  7. 「Check In」をクリックします。


    注 –

    次のようなメッセージが表示される場合があります。「Warning - plan names and/or paths differ.」このメッセージは、直前に指定したプラン名が、XML モデルで指定されているプラン名と一致していない場合に表示されます。「Plan」フィールドに入力した名前になるように、XML モデルが更新されます。


  8. コンポーネントのチェックインを確認します。

    1. 指定したプラン名が正しいことを確認します。

    2. 必要に応じて、コンポーネントのバージョン番号を大きくします。

    3. 「Continue to Check In」をクリックします。

    新しいプランの「Details」ページが表示されます。

コンポーネントの配備の管理

プランを利用してコンポーネントを配備する場合、処理が完了するまでに相当の時間がかかる可能性があります。コンポーネントが配備されるまでのプロセスをひとめで確認できるようにするには、プランを監視し、実行中のプランや完了したプランに関する情報を表示します。配備の途中でプランを停止することもできます。

Procedureプランを実行する

ここでは、ブラウザインタフェースを使用してプランを実行する方法について説明します。次のコマンドでも、プランを実行することができます。

このコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 10 章「pe: プランを実行する CLI コマンド」を参照してください。

始める前に

プランの変数設定を設定するために必要なインストール情報を準備してください。

プランを実行するには、実行するプランが含まれるフォルダに対して、Allow on Host Set 許可を持つユーザーグループに属する必要があります。

手順
  1. プランの「Details」ページに移動します。

  2. 「Run」をクリックします。

    プランの「Run」ページが表示されます。

  3. 「Plan Parameters」領域で、配備するコンポーネントの変数設定を選択します。

    • 当該コンポーネントの変数設定が確立されている場合、メニューから適切な設定を選択します。

    • メニューから設定を選択できない場合は、「Select From List」をクリックします。

      「Select Variable Settings From List」ウィンドウが表示されます。

      • 別のコンポーネントの変数設定を使用する場合は、「Import Set」をクリックします。

        「Import Variable Settings」ウィンドウが表示されます。

        1. 必要に応じて、変数設定のインポート元となるコンポーネントが入ったフォルダへ移動します。

        2. コンポーネントのバージョンを選択します。


          注 –

          コンポーネントのバージョンが異なると、変数設定も異なる可能性があります。


        3. 「Import Variable Settings」をクリックします。

          インポートされた変数設定が表に追加されます。

        4. 「選択」をクリックします。

      • 新しい変数設定を作成する場合は、「Create Set」を選択します。

        「Select Variable Settings From List」ウィンドウが表示されます。

        1. 表の最上部のテキストフィールドに、新しい変数設定セットの名前を入力します。

        2. 変更するコンポーネント変数を選択します。

          選択されたセルが強調表示され、テキストフィールドが表示されます。

        3. 新しいコンポーネント変数値を入力します。

        4. 変数設定値の更新が完了したら、「Save」をクリックします。

          新しい変数設定が表に追加されます。

        5. 「選択」をクリックします。

  4. コンポーネントの配備先を選択します。

    • ホストを選択する場合は、「Target Host」テキストフィールドにホスト名を入力し、「Select From List」をクリックします。

    • ホストセットを選択する場合は、「Target Host Set」メニューから選択します。

  5. 「Plan Variables」領域で、設定する変数を構成します。

    構成対象の変数の有無は、プランの内容によって異なります。

  6. 「Options」領域で、詳細なプリフライトを行うかどうかを選択します。

    このプリフライトでは、リモートエージェント上で実行されるプランの各手順をシミュレートすることにより、以下の処理が正常に行われるかどうかをテストすることができます。

    • リモートインストール

    • execNative 呼び出し

    • ファイル変換

    • ファイルの削除 (リソースのアンインストール時)

    詳細なプリフライトを行うと、実際に運用を開始するまでの準備期間が長くなります。

  7. (省略可能) 同時に実行するホストの数を制限する場合は、フィールドにホスト数を指定します。

    あるプランを複数のホストに対して同時に実行した場合、すべてのホストが手順を完了するまで、次の手順に進むことはできません。ホスト数が多すぎると、次の手順に進む前に、ネットワーク接続がタイムアウトになる可能性があります。たとえば、ホスト A が手順 1 を完了したあと、手順 2 の実行前の接続確認 (ping) が行われるまでの時間が長すぎて、ネットワーク接続がタイムアウトになることがあります。

  8. (省略可能) プラン全体の実行時間、またはネイティブ呼び出しの実行時間を制限する場合は、フィールドに数値を入力し、メニューから時間の単位 (分など) を選択します。

    プランまたはネイティブ呼び出しの実行時間を制限すると、応答しないホストがあるためにプランの実行が途中でストップするのを防ぐことができます。

    プランの実行時の障害について報告する通知規則を設定しておくと、実行途中でタイムアウトになった場合、プランが正常に実行されなかったことを知らせるメッセージを受け取ることができます。

    通知規則の設定については、『Sun N1 Service Provisioning System 5.1 システム管理者ガイド』「電子メール通知の構成」を参照してください。

  9. コンポーネントを配備するかどうかを選択します。

    • 手続きのプリフライトを行うだけでよい場合は、「Run Preflight Only」をクリックします。

    • プリフライトの実行後、このチェックでエラーが検出されなかったものと想定して、さらに手続きを実行する場合は、「Run Plan (Includes Preflight)」をクリックします。

Procedureプランの進行状況を表示する

ここでは、ブラウザインタフェースを使用してプラン実行の進行状況を表示する方法について説明します。次のコマンドでも、プランの履歴を表示できます。

これらのコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 10 章「pe: プランを実行する CLI コマンド」を参照してください。

手順
  1. ナビゲーションメニューで、「Application Deployment」カテゴリを展開し、「Run History」をクリックします。

    実行中、完了済みのプランおよびプリフライトがすべて表示されます。「Completed」欄にタイムスタンプが表示されているプランは、現在実行中のプランです。このタイムスタンプは、このプランの実行が開始された時刻を表しています。

  2. 特定のプランの詳細情報を表示する場合は、「Results」をクリックします。

    「Details」、「Preflight」、「Deployment」の各アイコンを選択すると、プランの詳細、プリフライトの結果、配備の結果というように、表示内容が切り替わります。

    「Details」ページに表示される情報は、次のとおりです。

    • ターゲットホスト

    • このプランのパラメータとして使用された変数設定

    • このプランに課された制限

    • このプランを実行したユーザー

Procedure実行中のプランを停止する

ここでは、ブラウザインタフェースを使用してプラン実行を停止する方法について説明します。次のコマンドでも、プランの実行を停止することができます。

このコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 10 章「pe: プランを実行する CLI コマンド」を参照してください。

始める前に

プランの実行を停止するには、そのプランの実行を開始したユーザーであるか、 admin ユーザーグループのメンバーである必要があります。

手順

    実行中のプランを取り消します。

    • 「Run Deployment」ページで、「Cancel Plan」をクリックします。

      「Run History」ページに、ユーザーによってプランが取り消されたことを知らせるメッセージが表示されます。

    • 「Run History」ページで、実行を停止するプランを選択します。

      1. 「Action」列の「Progress」をクリックします。

        「Run Deployment」ページが表示されます。

      2. 「Cancel Plan」をクリックします。

Procedureプランを削除する

ここでは、ブラウザインタフェースを使用して、コンポーネントから生成されていないプランを削除する方法について説明します。


注 –

直接実行コンポーネントプロシージャーから生成されたプランを削除する必要はありません。これらのプランは、生成元のコンポーネントが削除された時点でシステムから自動的に削除されます。詳細については、『Sun N1 Service Provisioning System 5.1 プランとコンポーネントの開発者ガイド』「コンポーネントを削除する」を参照してください。


次のコマンドを使用してプランを削除することもできます。

このコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 10 章「pe: プランを実行する CLI コマンド」を参照してください。

始める前に

プランを削除するには、プランを作成したユーザーであるか、または admin ユーザークループのメンバーである必要があります。

手順
  1. プランの「Details」ページに移動します。

  2. 「削除」をクリックします。

    プランを削除するかどうかを確認するよう求められます。

  3. 「Continue to Delete」をクリックします。

    プランが削除されると、「Plan」の一覧表にプランは表示されません。

配備例

直接実行コンポーネントプロシージャーと生成されたプランを使って、アプリケーションを管理することができます。

コンポーネントの更新

コンポーネントのバージョンを新しくすることができます。新しいコンポーネントには、製品リビジョン、ファイルへの変更点、新規追加ファイルの格納ディレクトリなどの新しい情報が反映されています。

単純コンポーネントを更新する場合、ユーザーは直接実行インストール手続きを実行するだけで済みます。古いバージョンのコンポーネントを新しいバージョンで上書きする処理は、自動的に行われます。

コンポーネント (複数の単純コンポーネントを参照するコンポーネント) を更新する場合、新旧のバージョンに含まれる参照先の単純コンポーネントが同じであるなら、ユーザーは直接実行インストール手続きを実行するだけで済みます。古いバージョンの単純コンポーネントを新しいバージョンで上書きする処理は、自動的に行われます。

複合コンポーネントを更新する場合、新旧のバージョンで参照先の単純コンポーネントが異なっているなら、古いバージョンのコンポーネントをアンインストールして、新しいバージョンをインストールする必要があります。古いバージョンをアンインストールすると、不要になったコンポーネントやこれ以上更新されることがないコンポーネントが除去され、ワークスペースがすっきりします。

以前のバージョンのコンポーネントへのダウングレード

コンポーネントを正しくアップグレードできない場合や、アップグレード後のアプリケーションで問題が発生する場合は、新しいバージョンのコンポーネントの障害追跡を行う間、信頼性の高い旧バージョンのコンポーネントにダウングレードすることができます。

Procedure以前のバージョンのコンポーネントへダウングレードする

始める前に

信頼性の高いバージョンのコンポーネントを再配備するためには、このコンポーネントが含まれるフォルダに対して、Run Component Procedure 許可と Allow on Host Set 許可を持っている必要があります。

手順
  1. 壊れたコンポーネントをアンインストールします。

    1. コンポーネントの「Details」ページで、「Run for the Default」をクリックします。コンポーネントプロシージャーをアンインストールします。

    2. プランの「Run」ページで、アンインストールするコンポーネントのホストを選択します。

    3. 「Run Select Installations」をクリックします。

    4. 「Run Plan (Includes Preflight)」をクリックします。

    壊れたコンポーネントをアンインストールすると、古くなった不要なファイルが、それまでの配備先システムから除去されます。

  2. コンポーネントをどのバージョンまでダウングレードするかを選択します。

    1. コンポーネントの「Details」ページで、「Version History」をクリックします。

    2. 「Version History」ページで、「Unhide」をクリックし、「Details」をクリックすると、信頼性の高いバージョンが表示されます。

  3. この信頼性の高いバージョンのコンポーネントをインストールします。

サーバー間でのコンポーネントの移行

コンポーネントをあるサーバーから別のサーバーへ移行する場合は、現在のホストから除去するコンポーネントをアンインストールして、このコンポーネントを新しいホストにインストールするだけで済みます。

単純コンポーネントのコンテナコンポーネントへのグループ化

複数の単純コンポーネントをグループにまとめて同じホストまたはホストセットに配備する場合に、コンテナコンポーネントを作成できます。単純コンポーネントをグループ化すると、配備に必要な時間が短縮されるだけでなく、一部のコンポーネントの配備漏れも防ぐことができます。

Procedureコンテナコンポーネントを作成する

始める前に

コンテナコンポーネントを作成するためには、コンポーネントを作成するフォルダに対して、Create、Edit、Delete のアクセス許可を持っている必要があります。

手順
  1. 「Components」ページで、新しいコンポーネントを作成します。

    1. 「Component」フィールドに、新しいコンポーネントの名前を入力します。

    2. 「Type」フィールドで、「System#container」を選択します。

    3. 「Description」フィールドに、新しいコンポーネントの説明を入力します。

    4. 「作成」をクリックします。

  2. 「Referenced Components」で、コンテナにコンポーネントを追加します。

    • 参照するコンポーネントがすでに存在している場合は、「Reference Existing」をクリックします。

      「Reference Existing Components in Current Component」ウィンドウが表示されます。

      1. コンテナコンポーネント内から参照するコンポーネントを選択し、「Reference Checked Components」をクリックします。

        コンポーネント変数を含むコンポーネントを参照する場合は、そのコンポーネント変数がコンテナコンポーネントに追加される前に一覧表示されます。

      2. 必要に応じて、コンポーネント変数名の横のテキストフィールドで、そのコンポーネント変数のデフォルト値を設定します。

      3. 「Continue」をクリックして、コンポーネントを参照します。

        コンテナコンポーネントの「Edit」ページに戻ります。「Referenced Components」に、参照先コンポーネントが一覧表示されます。

    • 参照するコンポーネントが存在しない場合は、「Check In New」をクリックします。

      新しいコンポーネントを作成します。

      新しいコンポーネントを作成する方法については、『Sun N1 Service Provisioning System 5.1 プランとコンポーネントの開発者ガイド』の第 2 章「コンポーネント」を参照してください。

      新しいコンポーネントを作成すると、コンテナコンポーネントの「Referenced Components」の一覧に新しいコンポーネントが追加されます。

  3. 必要に応じて、コンテナコンポーネントで定義する必要があるコンポーネント変数の値を指定します。

    たとえば、コンポーネントが :[container....] という変数を持っている場合、コンテナコンポーネントで値を定義する必要があります。