比較機能は、インストール設定やシステム設定の妥当性を検査するために使用します。 ホストの設定を元の設定と比較して、変更された点があるかどうか調べることができます。 また、1 つ以上のホストと参照ホストを比較して、すべてのホストの設定が同じかどうかを確認することもできます。 N1 Service Provisioning System ソフトウェア では、1 つ以上のホストと別のホスト、1 つ以上のホストと Master Server のモデル、またはホストと元の設定を比較することができます。 プロビジョニングソフトウェア では、ホストの設定全体をチェックしたり、チェック内容を単一ディレクトリに制限 することができます。
比較処理の実行後、出力内容をファイルに保存し、Excel のような標準アプリケーションで内容を確認することができます。
この章の内容は次のとおりです。
スナップショットは、コンポーネントのインストール時や差分の分析時にコンポーネントに取り込まれる内容を定義する上級機能です。 通常、コンポーネントインストールがいつ変更されたかを特定する変更管理ツールとして使用します。
コンポーネントのソース項目は、コンポーネントの XML ファイルに記載されている順番で配備されます。したがって、配備済みのソース項目が同じ名前の別のソース項目で上書きされる場合があります。
スナップショットでは、配備が正しく行われたかどうかを確認することができます。 コンポーネントのソース項目は、コンポーネントの XML ファイルに記載されている順番で配備されます。したがって、配備済みのソース項目が同じ名前の別のソース項目で上書きされる場合があります。
たとえば、ホストに pockets という名前のコンポーネントのソースをインストールするコンポーネントについて考えてみましょう。 pants コンポーネントのソースである pants/config.txt (S1) を配備したあと、同じ名前の別のソース (S2) を配備したとします。 その後は、S1 の pants/config.txt を参照しているつもりでも、実際には S2 の config.txt を参照していることになります。この種の問題を回避するには、スナップショットを定義して、プロビジョニングソフトウェアが正しいベースライン、つまりインストール後の config.txt がモデルとインストールの比較すべてにおいて使用されているかどうかを確認できるようにします。
スナップショットの機能は、コンポーネントのソース項目が変換要素によって変換された場合や、定義済みの execNative 呼び出しによって配備中に変更された場合にも便利です。 「インストールした直後」のスナップショットがないと、モデルとインストールの比較は、まだ配備されていないソース項目に対して行われます。このため、エラーが発生します。
コンポーネント内にスナップショットブロックを定義したり、使用するスナップショットブロックを指定する必要はありません。 ただし、スナップショットブロックを指定しない場合、モデルと比較するインストール済みコンポーネントにはスナップショット情報が含まれません。このため、変更内容は確認できません。
N1 Service Provisioning System ソフトウェア では、次の 3 種類の比較処理を実行できます。
モデルとモデルの比較 (M-M)
モデルとインストールの比較 (M-I)
インストールとインストールの比較 (I-I)
もっとも単純な比較処理です。 プロビジョニングソフトウェア によってあるホストにインストールされたコンポーネントの一覧と、別のホストにインストールされたコンポーネントの一覧を比較します。 これは言わば、プロビジョニングソフトウェア によるインストール内容のレコードの単純な比較です。 どちらかのコンポーネントの一覧に帯域外の変更があっても、変更内容は検出されません。 モデルとモデルの比較は、配備された内容の報告に基づいて、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> |
比較が実行された日時のタイムスタンプは、Master Server のシステムクロックに基づいています。すべてのシステムクロックが同期するように、すべての N1 Service Provisioning System ソフトウェア マシンで何らかの同期ユーティリティを実行することをお勧めします。
M-I 比較 (M-I 差分とも呼ばれる) では、コンポーネントモデルとコンポーネントの特定のインストールが比較されます。 この章のリソースタイプの説明に、リソースタイプの形式や内容が M-I 比較に及ぼす影響を記載します。
スナップショットを作成すると、メタベースの現在の状態が XML ファイルにエクスポートされます。 M-I 比較を実行すると、メタベースが再エクスポートされ、元の XML ファイルと比較されます。
スナップショットを作成すると、メタベースの現在の状態が XML ファイルにエクスポートされます。 M-I 差分を実行すると、メタベースの状態が再エクスポートされ、元の XML ファイルと比較されます。 これらのファイルの差分生成には、標準 XML 差分生成ツールが使用されます。
COM+ アプリケーションは MSI ファイルとしてターゲットシステムに再エクスポートされ、アプリケーションのインストール時に使用した MSI ファイルと比較されます。 M-I 比較 (M-I 差分) は相違点があるということ、たとえば 2 つのバイナリファイルの内容が異なっているということを示すだけです。相違点の詳細は示されません。
COM コンポーネントは、バイナリファイルとして、インストール時に使用したファイルと比較されます。 M-I 比較 (M-I 差分) は相違点があるということ、たとえば 2 つのバイナリファイルの内容が異なっているということを示すだけです。相違点の詳細は示されません。
スナップショットを作成すると、レジストリキーとその子の現在の状態が XML ファイルにエクスポートされます。 M-I 比較 (M-I 差分) を実行すると、レジストリキーの状態が再エクスポートされ、元の XML ファイルと比較されます。 これらのファイルの差分生成には、標準 XML 差分生成ツールが使用されます。
*.reg ファイルの M-I 比較 (M-I 差分) はサポートされていません。 インストール時にスナップショットが作成されないので、M-I 比較 (M-I 差分) を実行しても差分は生成されません。 レジストリの変更の差分を取りたい場合は、組み込みのレジストリキータイプを使用することをお勧めします。
Windows Installer ファイルの M-I 差分機能はサポートされていません。 インストール時にスナップショットが作成されないので、M-I 比較 (M-I 差分) を実行しても差分は生成されません。 ROX はインストーラ実行時のアクションを直接認識しません。したがって、何をキャプチャする必要があるのか特定することはできません。
Windows バッチファイルの M-I 比較 (M-I 差分) 機能はサポートされていません。 インストール時にスナップショットが作成されないので、M-I 比較 (M-I 差分) を実行しても差分は生成されません。
WSH ファイルの M-I 比較 (M-I 差分) 機能はサポートされていません。 インストール時にスナップショットが作成されないので、M-I 比較 (M-I 差分) を実行しても差分は生成されません。
標準のファイル / ディレクトリ M-I 差分生成方式を使用します。
アプリケーションの関連する設定がファイルにインストールされ、配備時にその設定を追加したファイルと比較されます。
標準のファイル / ディレクトリ M-I 差分生成方式を使用します。
EJB の関連する設定がファイルにインストールされ、配備時にその設定を追加したファイルと比較されます。
標準のファイル / ディレクトリ M-I 差分生成方式を使用します。
アプリケーションの関連する設定がファイルにインストールされ、配備時にその設定を追加したファイルと比較されます。
「Comparisons」ユーザーインタフェースを使って、比較の結果を作成、実行、表示できます。
このページには、コンポーネントの一覧のフィルタリングや並べ替え基準の選択に使用するコントロールがあります。 「Comparison」カラムの上には、一覧を昇順または降順で並べ替えることができる青色の矢印をがあります。
比較オブジェクトを指定するユーザー定義可能なテキスト文字列。 デフォルトでは、コンポーネント名のアルファベット順で一覧表示されます。 プランのヘッダー領域の並べ替えアイコンをクリックすることにより、並び順を昇順または降順で並べ替えることができます。
比較オブジェクトについて説明するユーザー定義可能な任意のテキスト文字列。 この属性はプロビジョニングソフトウェアによっては使用されませんが、ユーザーに有意義な情報を提供できます。
比較の結果の作成、表示または詳細表示するその他の比較関連ページにジャンプするリンク。
この領域から、チェックマークの付いている 1 つまたは複数のプランからカテゴリを削除したり、カテゴリを追加したりできます。
比較の 3 種類のタイプ別に、異なった「Comparisons Details」ページが用意されています。
比較オブジェクトの名前を表示します。
「Comparisons」リストにフィルタを適用するために使用するユーザー定義可能なオブジェクト。 カテゴリは、「Administrative」ページから「categories」ページにアクセスして作成します。 プランへのカテゴリの適用は、「plans」ページで行います。 「Apply Categories...」をクリックしてカテゴリを作成する方法もあります。
比較オブジェクトについて説明するユーザー定義可能な任意のテキスト文字列。 この属性は プロビジョニングソフトウェア では使用されませんが、ユーザーにとって有用な情報を提供するという点で重要です。
比較のタイプを選択します。
モデルとモデルの比較を実行するようにユーザーインタフェースを設定します。
モデルとインストールの比較を実行するようにユーザーインタフェースを設定します。
インストールとインストールの比較を実行するようにユーザーインタフェースを設定します。
比較の際参照モデルとして使用するホストモデルを指定します。
参照ホストのモデルと比較するホストを指定します。
プロビジョニングソフトウェア が比較処理を完了するまでの制限時間を設定します。 インストールのスナップショットの作成時、ある種の問題により、プロビジョニングソフトウェア が永続的に待ち状態になる場合があります。 プロビジョニングソフトウェア が比較処理を終了しなくなった場合、この機能を使ってタイムアウトにすることができます。
これらのボタンの 1 つをクリックすることで、以下の機能のうちの 1 つを開始します。
比較を現在の名前で保存します。
比較を別名保存します。
比較を現在の名前で保存し、比較を実行します。
以前の比較の結果を表示します。
比較を削除します。
変更内容を保存しないで「Comparisons」ページに移動します。
この比較では、インストールの現在の状態を前回の良好な状態と比較、検証すること ができます。
変更されるのはモデル参照と比較オブジェクトの領域だけなので、以下では「Comparisons」ページの異なっている部分のみを紹介します。
比較の範囲をホストセット、ホスト、コンポーネントのいずれかに制限するプルダウンメニュー。
「Host Set」 - このページの次のフィールドを変更して、比較するホストセットを選択します。 すると、指定されたホストセットの前回の状態と現在の状態が比較されます。
「Host」 - このページの次のフィールドを変更して、比較するホスト名を入力します。 すると、指定されたホストの前回の状態と現在の状態が比較されます。
「Component」 - このページの次のフィールドを変更して、比較するホスト名とコンポーネントパスを入力します。 すると、指定されたコンポーネントの前回の状態と現在の状態が比較されます。
この比較処理中に無視する項目を指定します。 この機能によって、比較時に障害が発生するのを防ぎながら、ログファイルなどの変更を調整できます。
この比較では、インストールの現在の状態とその他の良好なインストールを比較、検証することができます。
変更されるのはモデル参照と比較オブジェクトの領域だけなので、以下では「Comparisons」ページの異なっている部分のみを紹介します。
比較時に参照モデルとして使用するホストを指定します。 2 番目のフィールドには、比較を階層型のファイル構造内のどの位置に制限するかを指定します。 ツリー構造のトップを指定した場合、ホスト全体が評価されます。
参照ホストのモデルと比較するホストを指定します。 2 番目のフィールドには、比較を階層型のファイル構造内のどの位置に制限するかを指定します。
ホストのスナップショットを作成する際のパラメータの一部を定義します。
「Include All Sub-Directories in Comparison」 — 親ディレクトリ内のすべてのサブディレクトリが再帰的にたどられます。
「Follow Symbolic Links Found in Directories」 — シンボリックリンクの解決により、リンク先が有効であるかどうかが確認されます。
「Include Temporary Files Generated by Scripts During Comparison」 — スクリプトの実行によって生成されたすべてのレガシーファイルを比較対象に含めます。 この機能では、特定のスクリプトが比較対象のすべてのホスト上で実行されたかどうかを検証することができます。
この比較処理中に無視する項目を指定します。 比較時に障害が発生するのを防ぎながら、ログファイルなどの変更を調整できます。
左側のナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに、データベースにチェックイン済みの比較を一覧表示する「Comparisons」ページが表示されます。 並び順を変更したい場合はヘッダーの矢印をクリックします。
左側のナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに、データベースにチェックイン済みの比較を一覧表示する「Comparisons」ページが表示されます。
詳細情報を表示したいプランの列を探して、「Details」をクリックします。
HTML ユーザーインタフェースに、この比較の「Comparisons Details」ページが表示されます。
左側のナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに、データベースにチェックイン済みの比較を一覧表示する「Comparisons」ページが表示されます。
詳細情報を表示したいプランの列を探して、「Details」をクリックします。
HTML ユーザーインタフェースに、この比較の「Comparisons Details」ページが表示されます。
このページで定義したい比較のタイプを選択し、比較のパラメータを定義します。 ページの初回表示時は、モデルとモデルの比較の設定になっています。
「Style of Comparison」領域は、「Model to Model」が選択されたままにしておきます。
「Reference Host」フィールドに、比較時に参照 (標準) とするモデルのホスト名を入力します。 必要に応じて、「Select from List」をクリックし、ホストを検索します。
「Comparison Host」フィールドに、参照モデルと比較するモデルのホスト名を入力します。 必要に応じて、「Select from List」をクリックし、ホストを検索します。
「Limits」フィールドに、比較の最大実行時間を時間または分で指定します。 デフォルトでは、比較の最大実行時間は 4 時間です。
「Save」をクリックして比較を保存します。
左側のナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに、データベースにチェックイン済みの比較を一覧表示する「Comparisons」ページが表示されます。
詳細情報を表示したいプランの列を探して、「Details」をクリックします。
HTML ユーザーインタフェースに、このプランの「Comparisons Details」ページが表示されます。
「Model to Install」ボタンをクリックします。
HTML ユーザーインタフェースのページに、モデルとインストールの比較を定義するフィールドが表示されます。
「Model to Install」の右端のプルダウンメニューを使用して、比較に使用する内容を指定する行をインストールします。
「directory and file properties」 - 両方のホストが同じファイルとディレクトリを持っていること、またファイルとディレクトリが同じサイズであることを確認するために選択します。
「file contents」 - 2 つのホストのファイルの内容が異なっているかどうかを確認したい場合に選択します。
比較に使用するコンポーネントに、無視するファイルに関する独自の規則が含まれている場合、この比較用に定義されたその他の無視規則とともに適用されます。
「Scope」ドロップダウンリストから、比較対象として、ホスト、ホストセット、またはコンポーネントを選択します。
ホストまたはホストセットの名前を指定します。
「コンポーネント」の範囲を指定している場合は、次の手順に従ってください。
「Limits」コントロールを使って、比較の制限時間を設定します。
制限時間の設定後、比較を保存してあとで実行するか、今すぐ実行するかを選択できます。
次のいずれかの操作を行います。
インストールとインストールの比較を正常に実行するためには、各ホストの Remote Agent が同じロケールを使用するように設定されていなければなりません。
左側のナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに、データベースにチェックイン済みの比較を一覧表示する「Comparisons」ページが表示されます。
詳細情報を表示したいプランの列を探して、「Details」をクリックします。
HTML ユーザーインタフェースに、この比較の「Comparisons Details」ページが表示されます。
比較の詳細レベルを選択します。
「Directory and File Properties」 — すべてのファイルとディレクトリがあるかどうか。 すべて同じサイズかどうか。
「File Contents」 — ファイル間にテキストレベルの相違点があるかどうか。
参照ホストの名前と、ターゲットホストと比較するディレクトリのパスを入力します。
比較ホストの名前と、参照ホストと比較するディレクトリのパスを入力します。
「Include All Subdirectories in Comparison」チェックボックスは、デフォルトでオンになっています。
この比較の実行前後に、プロビジョニングソフトウェア にスクリプトを実行させたい場合は、次の手順に従ってください。
「Include temporary files generated by scripts during comparison」チェックボックスをオンにします。
ページが更新され、prepare (generate) スクリプト用と cleanup スクリプト用のフィールドが表示されます。
適切なフィールドにスクリプトを入力します。
prepare (generate) および cleanup のスクリプトの詳細については、「インストールとインストールの比較におけるスクリプトの使用」を参照してください。
ターゲットホスト (比較ホスト) で、参照ホストと同じスクリプトを実行したくない場合、適切なチェックボックスをオフにします。
「generate」チェックボックスをオフにした場合、参照ホストに新たな prepare (generate) スクリプトを指定するフィールドが表示されます。
「cleanup」チェックボックスをオフにした場合、参照ホストに新たな cleanup スクリプトを指定するフィールドが表示されます。
この比較処理中に無視するリソースを指定したい場合、「比較処理中に無視するディレクトリまたはファイルの選択」に進んでください。
「Limits」コントロールを使って、比較の制限時間を設定します。
制限時間の設定後、比較を保存してあとで実行するか、今すぐ実行するかを選択できます。
ホストとリポジトリ内のモデルを比較する場合、またはホスト上の 2 つのディレクトリを単純に比較する場合は、詳細レベルと比較するホスト、コンポーネント、リソースについて記述したあと、比較対照から除外するファイルやディレクトリのセットを定義することができます。 この措置は、重要でない相違が特定のリソースに多数含まれていることがわかっている場合に行います。 これらの定義を保存し、別の比較定義で再利用することができます。
無視するディレクトリまたはファイルを指定するには、次の手順に従ってください。
無視するディレクトリまたはファイルの名前を入力します。または、ワイルドカード (*) を使って、無視するディレクトリまたはファイルを指定します。
たとえばすべてのログファイルを無視したい場合、*.log と指定します。
ワイルドカードを使用する場合も使用しない場合も、ファイル名までの完全なパターンを指定する必要があります。ディレクトリレベルまでしか指定しないと、そのディレクトリ内のファイルは比較対象から除外されません。除外するには、末尾に * を追加する必要があります。 たとえば /usr/apache/logs 内のすべてのファイルを比較対象から除外する場合、 /usr/apache/logs* と指定します。
「Add」をクリックします。
指定した内容が無視するディレクトリとファイルの一覧の下部に追加されます。
「Ignore」チェックボックスはデフォルトでオンになっています。したがって、システムの比較時にこのディレクトリやファイルは考慮されません。
その後の比較でこの除外規則を削除したい場合は、「Ignore」チェックボックスをオフにします。
「Ignore」の一覧からディレクトリやファイルを削除するには、「Remove」をクリックします。
「Ignore」チェックボックスのオフにすると、一時的にディレクトリやファイルの無視を無効にすることができます。
グローバルな無視規則を削除または無効化することはできません。
現在実行中のシステム比較を取り消すには、「Cancel」をクリックします。
実行中の比較を取り消すと、すべての比較の一覧ページに戻ります。 一覧が更新され、取り消された比較処理が停止したことが示されるまで、少し時間がかかることがあります。 これは、Master Server と比較または参照ホスト間でファイル転送が行われている場合があるからです。現在のファイル転送が完了するまで、比較処理は停止しません。転送ファイルについては、この章の最初の各種比較の解説を参照してください。 ページが更新されるまでの時間は、現在転送中のファイルのサイズによって異なります。 比較処理が完全に停止してから、更新された一覧が表示されます。
保存済みの比較がコンポーネントを必要としているとします。何らかの理由で、このコンポーネントがアップグレードされたり、バージョン番号が変更された場合、プロビジョニングソフトウェア により、保存済みの比較が自動的に更新され、新しいバージョンのコンポーネントに対して実行されます。
表 7–1 に、比較関連のCLI コマンドを一覧表示します。
表 7–1 cmp コマンドの概要
コマンド名 |
説明 |
---|---|
cmp.dj.add |
新しい比較を追加 (開始) |
cmp.dj.del |
新しい比較を削除 (停止) |
cmp.dj.la |
実行中の比較と実行済みの比較を一覧表示 |
cmp.dj.lo |
状態を表示するために実行中の比較を取得 |
cmp.ds.add |
指定の比較に比較設定を追加 |
cmp.ds.la |
すべての比較設定を一覧表示 |
cmp.ds.lo |
指定の比較設定を検出 |
cmp.ds.sc |
比較設定とカテゴリのセットの関連付け |
cmp.ds.mod |
指定の比較設定の変更 |