N1 Service Provisioning System 4.1 ユーザーガイド

比較の種類と機能

N1 Service Provisioning System ソフトウェア では、次の 3 種類の比較処理を実行できます。

モデルとモデルの比較

もっとも単純な比較処理です。 プロビジョニングソフトウェア によってあるホストにインストールされたコンポーネントの一覧と、別のホストにインストールされたコンポーネントの一覧を比較します。 これは言わば、プロビジョニングソフトウェア によるインストール内容のレコードの単純な比較です。 どちらかのコンポーネントの一覧に帯域外の変更があっても、変更内容は検出されません。 モデルとモデルの比較は、配備された内容の報告に基づいて、Master Server 上で行われます。

モデルとインストールの比較

モデルとインストールの比較では、あるホストまたはホストセット上で、1 つまたは複数のコンポーネント内のリソースの「インストール直後」の状態と現在の状態が比較されます。 この比較では、モデルの比較対象 (ホスト、ホストセット、またはコンポーネントレベル) を指定できます。

モデルとインストールの比較では、あるホストに配備されたコンポーネントとリソースの情報が、スナップショット情報と比較されます。 スナップショットは、インストールされたコンポーネントがホストに配備された直後の状態のレコードです。 コンポーネントの XML モデルには、このスナップショットの範囲を制御するパラメータが含まれています。 たとえば、XML モデルでは、ログファイルなどの、比較時に無視するファイルをリストアップすることができます。

プロビジョニングソフトウェア によってモデルとインストールの比較が実行されると、Master Server は比較対象のすべてのコンポーネントのスナップショットの一覧を検索し、 この一覧をコンポーネントのインストール先ホストの Remote Agent に送信します。 スナップショット情報には、比較時に無視するファイルおよびディレクトリの規則が含まれます。 これらの規則は、その後 Remote Agent によって処理されます。 モデルとインストールの比較を正常に実行するためには、Master Server と Remote Agent のロケールが同じでなければなりません。

モデルとモデルの比較では、ある理想的なインストールとその他のインストールが比較されるのに対し、モデルとインストールの比較では、配備時にインストールされた 1 つまたは複数のコンポーネント の実際の状態と現在の状態が比較されます。

インストールとインストールの比較

インストールとインストールの比較では、プロビジョニングソフトウェア によって 2 つの異なったホストにインストールされたコンポーネント内のディレクトリの内容の現在の状態が比較されます。 比較される参照ホストの、ファイルやディレクトリなどの要素の一覧は、Master Server 上でバッチファイルとしてグループ化されます。その後、比較対象のホストの Remote Agent に送信され、処理されます。 プロビジョニングソフトウェアによって無視されるファイルタイプや特定のディレクトリまたはファイルに関する規則を定義している場合、Master Server は、これらの項目を廃棄してから、残りの一覧を比較対象のホストに送信します。 インストールとインストールの比較を正常に実行するためには、各ホストの Remote Agent が同じロケールを使用するように設定されていなければなりません。

比較を実行する前にファイル操作が必要な場合や、比較の準備のために操作したファイルをクリーンアップする必要がある場合に備えて、プロビジョニングソフトウェアに、比較の前後に実行するスクリプトを渡すことができます。

インストールとインストールの比較でスクリプトを使用する理由

比較対象のコンポーネントに、パッケージ、データベース、ZIP ファイルなどのアーカイブに格納されたリソースが含まれる場合、比較の実行前に、スクリプトを使ってこれらのリソースをエクスポートまたは変換することができます。 execNative を実行して、プロビジョニングソフトウェアに、圧縮ファイルの解凍、ファイル内容のエクスポートといったネイティブコマンドを実行させます。

インストールとインストールの比較におけるスクリプトの使用

<prepare> ブロックや <cleanup> ブロック内で、任意のネイティブコマンドを実行できます。 比較の前後にこうしたブロックを使用することにより、圧縮アーカイブからファイルを抽出したあと、これらを指定された出力ファイルに出力し、クリーンアップ時に削除することができます。これが、一般的な使用方法です。


注 –

プランやコンポーネントに含まれるexecNative とは異なり、この execNative インスタンスは、<prepare> ブロックか <cleanup> ブロックに含める必要があります。変数の置換を行うことはできません。


HTML ユーザーインタフェースを使ってインストールとインストールの比較を行う場合は、「Include temporary files generated by scripts during comparison」のチェックボックスを選択できます。 このオプションを選択すると、ページが更新され、<prepare> ブロックと <cleanup> ブロックを入力する 2 つのフィールドが表示されます。

ターゲットホストに <prepare> ブロックと <generate> ブロックを交互に指定したい場合、また <cleanup> ブロックを指定したい場合は、該当するチェックボックスをオフにします。

以下に、フィールドに入力できるスクリプトの例を示します。

execNative の結果の出力ファイルを指定する <prepare> (<generate>) ブロックです。 execNative は /tmp ディレクトリの内容を一覧表示します。


<prepare>
  <execNative outputFile="file.txt" dir="temp">
    <exec cmd="ls">
      <arg value="-l"></arg>
      <arg value="/tmp"></arg>
    </exec>
  </execNative></prepare>

その後、以下の <cleanup> ブロックにより、/tmp ディレクトリから出力ファイル file.txt が削除されます。


<cleanup>
  <execNative  dir="/temp/">
    <exec cmd="rm">
      <arg value="-rf"></arg>
      <arg value="file.txt"></arg>
    </exec>
  </execNative></cleanup>