比較は、インストールやシステム構成の妥当性を検査するために使用されます。現在のホストの構成とその初期構成を比較することで、変更箇所がわかります。1 台以上のホストと参照ホストを比較して、すべてのホストが同じように構成されているかどうかを確認することもできます。
プロビジョニングシステムでは、1 台以上のホストともう 1 台の別のホストとの比較、1 台以上のホストと Master Server 内のモデルとの比較、1 台のホストとその初期構成との比較を行うことができます。プロビジョニングソフトウェアを使って、ホスト全体の構成をチェックすることも、チェックを単一のディレクトリに制限することもできます。
N1 Grid Service Provisioning System ソフトウェアでは、次の 3 種類の比較が可能です。
モデルとモデルの比較
モデルとインストールの比較
インストールとインストールの比較
比較のタイムスタンプは、Master Server のクロックに基づいています。このため、すべての N1 Grid Service Provisioning System ソフトウェアマシンで何らかの同期処理を行い、システムクロックを同じ時刻に合わせる必要があります。
最も単純な比較は、モデルとモデルの比較です。この比較では、あるホストにインストールされているコンポーネントのリストと別のホストにインストールされているコンポーネントのリストの照合を行います。つまり、プロビジョニングシステムの履歴情報から、これまでにインストールされた内容の確認を行います。
いずれかのコンポーネントリストに帯域外の変更が加えられた場合、この変更は検出されません。モデルとモデルの比較は、Master Server が受信した配備情報に基づいて、Master Server 上で行われます。
モデルとモデルの比較の特徴
2 台のホストのインストール内容の履歴を比較します。
データ転送は不要です。
もっとも実行時間が短い比較です。
モデルとモデルの比較は、次のような場合に使用します。
帯域外の変更が加えられていない、2 台のホストの内容を比較する場合。
インストール時にスナップショットをとっていない、2 台のホストを比較する場合。
ここでは、ブラウザインタフェースを使用して比較を作成する方法について説明します。次のコマンドでも、比較を作成することができます。
cmp.ds.add – 新しい比較を作成します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
新しい比較を作成するためには、比較の Create、Edit、Delete アクセス許可を持っているユーザーグループに所属する必要があります。
ナビゲーションメニューの「Comparisons」をクリックします。
「Comparisons」ページが表示されます。
作成する比較の名前と説明を入力して、「Create」をクリックします。
比較の「Details」ページが表示されます。
「Style of Comparison」領域の「Model to Model」をクリックします。
「Reference Host」フィールドに、比較の基準にするモデルのホスト名を指定します。
ここでは、比較ホスト上で確認する構成を含む参照ホストを選択します。
「Comparison Host」フィールドに、参照モデルと比較するモデルのホスト名を入力します。
「Limits」領域に、比較の最大実行時間 (単位は時間または分) を指定します。
デフォルトでは、比較の最大実行時間は 4 時間です。
比較の実行時にタイムアウトになった場合、「Comparisons」ページにエラーメッセージが表示されます。
「Save」をクリックします。
モデルとモデルの比較では、あるインストールを 1 つの理想的なインストールと比較しますが、モデルとインストールの比較では、インストール済みのコンポーネント (複数可) の配備時の状態と現在の状態を比較します。このとき、モデルとホストを比較するのか、モデルとホストセットを比較するのか、モデルとコンポーネントレベルを比較するのかを指定できます。
モデルとインストールの比較では、スナップショット情報を使って、コンポーネントのインストール直後の状態と現在の状態を比較します。スナップショットとは、インストールされ、ホストへ配備された直後のコンポーネントの状態の記録です。コンポーネントの XML モデルには、このスナップショットの範囲を制御するパラメータが含まれています。たとえば、XML モデルでは、比較時に無視するファイル (ログファイルなど) をリストアップすることができます。
プロビジョニングソフトウェアを使ってモデルとインストールの比較を実行するとき、Master Server は、比較対象の全コンポーネントのスナップショットのリストを検索し、このリストを、コンポーネントがインストールされているホストの Remote Agent に送信します。スナップショット情報には、比較時に無視するファイルやディレクトリの規則が含まれています。Remote Agent は、これらの規則を処理します。モデルとインストールの比較を正しく行うためには、Master Server と Remote Agent のロケールが同じである必要があります。
モデルとインストールの比較の特徴
インストール済みのコンポーネントのスナップショットと、同じコンポーネントの現在の状態を比較します。
ホストにインストールされているコンポーネントを個別に、またはいくつかまとめて比較することができます。
上位レベルでの比較 (コンポーネントとディレクトリのリストの比較) と下位レベルでの比較 (ファイルの内容の比較) が可能です。
Remote Agent での比較処理
コンポーネントが Remote Agent にインストールされるときに、スナップショットを作成している必要があります。
モデルとインストールの比較は、次のような場合に使用します。
構成が意図どおりに動作して、その後動作しなくなった場合、帯域外の変更があったと見なすことができます。
モデルとインストールの比較では、コンポーネントモデルと特定のコンポーネントのインストールを比較します。この節では、コンポーネントタイプがモデルとインストールの比較に及ぼす影響について説明します。
スナップショットの作成時に、メタベースの現在の状態が XML ファイルにエクスポートされます。モデルとインストールの比較時、メタベースは再度エクスポートされ、元の XML ファイルと比較されます。
スナップショットの作成時に、メタベースの現在の状態が XML ファイルにエクスポートされます。モデルとインストールの比較時、メタベースは再度エクスポートされ、元の XML ファイルと比較されます。これらのファイルの差分生成には、標準の XML differentiator が使用されます。
COM+ アプリケーションは、MSI ファイルとしてターゲットシステムに再エクスポートされ、アプリケーションのインストールに使用された MSI ファイルと比較されます。モデルとインストールの比較では、差分があるということ (つまり、2 つのバイナリファイルが異なっているということ) がわかるだけです。差分の詳細まではわかりません。
COM コンポーネントは、バイナリファイルとして、インストール時に使用されたファイルと比較されます。モデルとインストールの比較では、差分があるということ (つまり、2 つのバイナリファイルが異なっているということ) がわかるだけです。差分の詳細まではわかりません。
スナップショットの実行時、レジストリキーの現在の状態 (キーの子を含む) が XML ファイルにエクスポートされます。モデルとインストールの比較時、レジストリキーは再度エクスポートされ、元の XML ファイルと比較されます。これらのファイルの差分生成には、標準の XML differentiator が使用されます。
*.reg ファイルでは、モデルとインストールの比較はサポートされていません。インストール時にスナップショットは作成されません。スナップショットがなければ、モデルとインストールの比較を行なっても差分は生成されません。レジストリの差分を比較する場合は、組み込みのレジストリキータイプを使用してください。
Windows Installer ファイルでは、モデルとインストールの比較はサポートされていません。インストール時にスナップショットは作成されません。スナップショットがなければ、モデルとインストールの比較を行なっても差分は生成されません。プロビジョニングシステムはインストール時のアクションを直接認識しないので、キャプチャする必要があるものを特定できません。
Windows バッチファイルについては、モデルとインストールの比較はサポートされていません。インストール時にスナップショットは作成されません。スナップショットがなければ、モデルとインストールの比較を行なっても差分は生成されません。
WSH ファイルについては、モデルとインストールの比較はサポートされていません。インストール時にスナップショットは作成されません。スナップショットがなければ、モデルとインストールの比較を行なっても差分は生成されません。
WebLogic WAR ファイルでは、標準のファイル/ディレクトリ方式でモデルとインストールの比較が行われます。
アプリケーションの関連設定がファイルにエクスポートされます。このファイルと、配備時の設定が含まれたファイルが比較されます。
WebLogic JAR ファイルでは、標準のファイル/ディレクトリ方式でモデルとインストールの比較が行われます。
EJB の関連する設定がファイルにエクスポートされます。このファイルと、配備時の設定が含まれるファイルが比較されます。
WebLogic EAR ファイルでは、標準のファイル/ディレクトリ方式でモデルとインストールの比較が行われます。
アプリケーションの関連設定がファイルにエクスポートされます。このファイルと、配備時の設定が含まれたファイルが比較されます。
ここでは、ブラウザインタフェースを使用して比較を作成する方法について説明します。次のコマンドでも、比較を作成することができます。
cmp.ds.add – 新しい比較を作成します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
インストールとインストールの比較を正しく行うためには、各ホストの Remote Agent のロケールが同じである必要があります。
新しい比較を作成するためには、比較の Create、Edit、Delete アクセス許可を持っているユーザーグループに所属する必要があります。
ナビゲーションメニューの「Comparisons」をクリックします。
「Comparisons」ページが表示されます。
作成する比較の名前と説明を入力して、「Create」をクリックします。
比較の「Details」ページが表示されます。
「Style of Comparison」領域の「Model to Install」をクリックします。
比較の詳細レベルを選択します。
ディレクトリとファイルのプロパティ。両方のホストに同じサイズの同じファイルとディレクトリがあることを確認します。
ファイルの内容。両方のホストのファイルの内容を比較します。
比較に使用するコンポーネントに、無視するファイルに関する独自の規則が含まれている場合、これらの規則は、ユーザーがこの比較のために定義した無視の規則に追加して適用されます。
比較の範囲を選択します。
(省略可能) 比較時に無視するファイルまたはディレクトリの名前を入力します。
この機能により、ログファイルなどが不要に変更されることがなくなり、比較の失敗を防ぐことができます。
詳細については、「比較時に無視するディレクトリやファイルの変更」を参照してください。
「Limits」領域に、比較の最大実行時間 (単位は時間または分) を指定します。
デフォルトでは、比較の最大実行時間は 4 時間です。
比較の実行時にタイムアウトになった場合、「Comparisons」ページにエラーメッセージが表示されます。
比較を保存してあとで実行するか、今すぐ実行するかを選択します。
モデルとインストールの比較と同じく、インストールとインストールの比較でも、ファイルのコンテンツレベルで比較することができます。インストールとインストールの比較では、2 台のホストのファイルとディレクトリを比較します。
参照ホストの要素 (ファイル、ディレクトリなど) のリストは、Master Server 上で 1 つにまとめられ、比較ホストの Remote Agent に送信されたあと処理されます。ファイルの種類に関する規則や、無視するディレクトリまたはファイルに関する規則を定義している場合、Master Server は、リスト内の適切な項目を破棄し、残った項目を比較ホストに送信します。その後、Master Server に比較の結果が返されます。
インストールとインストールの比較は、同じ Remote Agent 上の別々のディレクトリで実行できます。この方法で、同じホスト上の 2 つのディレクトリの内容を比較することができます。
インストールとインストールの比較を正しく行うためには、各ホストの Remote Agent のロケールが同じである必要があります。
インストールとインストールの比較の特徴
あるホスト上のコンポーネントの現在の状態と、別のホスト上のコンポーネントの現在の状態を比較します。
ホストにインストールされているコンポーネントを個別に、またはいくつかまとめて比較することができます。
比較ホストの Remote Agent で比較処理を行います。
インストール時にコンポーネントのスナップショットが作成されている必要があります。
Remote Agent は同じロケールを使用する必要があります。
インストールとインストールの比較は、次のような場合に使用します。
2 台のホストのコンポーネントを比較したい場合。
たとえば、ステージングホスト上のソフトウェアと、運用ホスト上のソフトウェアの比較が可能です。
単一ホスト上の 2 つのディレクトリを比較したい場合。
比較対象のコンポーネントのリソースが、パッケージ、データベース、アーカイブ (ZIP ファイルなど) に格納されている場合は、スクリプトを使って、比較の実行前にリソースをエクスポートしたり変換したりすることができます。プロビジョニングソフトウェアで、ファイル内容の解凍やエクスポートなどのネイティブコマンドを実行するには、execNative 手順を使用します。
ネイティブコマンドは、prepare ブロックや cleanup ブロック内で実行できます。これらのブロックは、比較の前後で使用します。これらの使用により、圧縮アーカイブからファイルが抽出され、指定の出力ファイルに出力されます。このファイルは、クリーンアップ時に削除されます。
この execNative は、プランやコンポーネントに含まれる execNative とは異なり、prepare ブロックか cleanup ブロックに含まれていなければなりません。また、変数を利用することはできません。
ブラウザインタフェースを使用してインストールとインストールの比較を行うときは、「Include Temporary Files Generated By Scripts During Comparison」というラベルの付いたチェックボックスをオンにします。このチェックボックスをオンにすると、現在のページが更新され、prepare ブロックと cleanup ブロックの入力フィールドが 1 つずつ表示されます。
適切なチェックボックスをオフにして、比較ホストの prepare ブロックと cleanup ブロックを置き換えることもできます。
execNative の詳細については、『N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド』の第 2 章「コンポーネントと単純プランにより使用される共有スキーマ」を参照してください。
この prepare ブロックは、execNative の結果を出力する出力ファイルを指定します。execNative は、/tmp ディレクトリの内容を一覧表示します。
<prepare> <execNative outputFile="file.txt" dir="temp"> <exec cmd="ls"> <arg value="-l"></arg> <arg value="/tmp"></arg> </exec> </execNative></prepare> |
この cleanup ブロックは、出力ファイル file.txt を /temp ディレクトリから削除します。
<cleanup> <execNative dir="/temp/"> <exec cmd="rm"> <arg value="-rf"></arg> <arg value="file.txt"></arg> </exec> </execNative></cleanup> |
ここでは、ブラウザインタフェースを使用して比較を作成する方法について説明します。次のコマンドでも、比較を作成することができます。
cmp.ds.add – 新しい比較を作成します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
インストールとインストールの比較を正しく行うためには、各ホストの Remote Agent のロケールが同じである必要があります。
新しい比較を作成するためには、比較の Create、Edit、Delete アクセス許可を持っているユーザーグループに所属する必要があります。
ナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに「Comparisons」ページが表示され、データベースにチェックイン済みの比較が一覧表示されます。
作成する比較の名前と説明を入力して、「Create」をクリックします。
比較の「Details」ページが表示されます。
「Style of Comparison」領域の「Install to Install」をクリックします。
比較の詳細レベルを選択します。
ディレクトリとファイルのプロパティ。両方のホストに同じサイズの同じファイルとディレクトリがあることを確認します。
ファイルの内容。両方のホストのファイルの内容を比較します。
比較に使用するコンポーネントに、無視するファイルに関する独自の規則が含まれている場合、これらの規則は、ユーザーがこの比較のために定義した無視の規則に追加して適用されます。
参照ホストの名前と、比較ホストと比較するディレクトリのパスを入力します。
ここでは、比較ホスト上で確認したい構成を含む参照ホストを選択します。
入力したディレクトリによって、階層状のファイル構造のどのレベルまで比較するかが決定します。ツリー構造のトップを入力した場合は、ホスト全体が比較されます。
参照ホストの名前と、この参照ホストと比較するディレクトリのパスを入力します。
この比較で使用可能なオプションを選択します。
(省略可能) 選択したディレクトリの下位のすべてのディレクトリに対して比較を行いたい場合は、「Include All Subdirectories In Comparison」を選択します。
(省略可能) シンボリックリンクを解決して、リンク先も有効であることを確認したい場合は、「Follow Symbolic Links Found in Directories」を選択します。
(省略可能) この比較の前またはあとでスクリプトを実行したい場合は、次のアクションを実行します。
「Include Temporary Files Generated by Scripts During Comparison」をクリックします。
ページが更新され、generate スクリプト用と cleanup スクリプト用のフィールドが 1 つずつ表示されます。
適切なフィールドにスクリプトを入力します。
prepare と cleanup のスクリプトの詳細については、「インストールとインストールの比較でのスクリプトの使用」を参照してください。
比較ホストと参照ホストで同じスクリプトを実行しない場合は、該当するオプションを選択解除します。
「Generate」チェックボックスをオフにすると、比較ホスト用の generate スクリプトを入力するフィールドが表示されます。
「Cleanup」チェックボックスをオフにすると、比較ホスト用の cleanup スクリプトを入力するフィールドが表示されます。
この比較の実行時に無視するリソースを指定したい場合は、「比較時に無視するディレクトリやファイルの変更」を参照してください。
(省略可能) 比較時に無視するファイルまたはディレクトリの名前を入力します。
この機能のおかげで、ログファイルなどが不要に変更されることがなくなり、比較の失敗を防ぐことができます。
「Limits」領域に、比較の最大実行時間 (単位は時間または分) を指定します。
デフォルトでは、比較の最大実行時間は 4 時間です。
比較の実行時にタイムアウトになった場合、「Comparisons」ページにエラーメッセージが表示されます。
「Save」をクリックします。
通常、比較の実行には時間がかかります。比較を実行、修正、表示できるのは、比較を作成し終わってからです。
ここでは、ブラウザインタフェースを使用して比較を実行する方法について説明します。次のコマンドでも、比較を実行することができます。
cmp.dj.add – 比較を実行します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
比較で使用するコンポーネントがアップグレードされた場合や、アップグレード以外の何らかの理由でバージョン番号が変更された場合、保存済みの比較が自動的に更新され、新しいバージョンのコンポーネントに対して実行されるようになります。
ユーザーの属するユーザーグループが、特定のホストセット上での比較の実行許可を持っている必要があります。
「Comparisons」ページで、実行する比較を選択します。
(省略可能) 比較基準を変更します。
「Save & Run」をクリックします。
比較の「Progress」ページが表示されます。
比較が完了すると、比較の「Results」ページが表示されます。
比較を実行するために、ほかの作業をストップする必要はありません。まだ比較の実行中であっても、ほかの作業を実行することができます。
(省略可能) 比較の結果を別の書式で表示する場合は、「Print」または「Download」をクリックします。
「Done」をクリックします。
ここでは、ブラウザインタフェースを使用して比較を表示する方法について説明します。次のコマンドでも、比較を表示することができます。
cmp.ds.la – すべての比較を表示します。
cmp.ds.lo – 特定の比較の詳細情報を表示します。
これらのコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
ナビゲーションメニューの「Comparisons」をクリックします。
「Comparisons」ページが表示されます。
(省略可能) 特定の比較の詳細情報を表示したい場合は、調べたいプランが含まれている行の「Details」をクリックします。
比較の「Details」ページが表示されます。
ここでは、ブラウザインタフェースを使用して比較実行の進行状況を表示する方法について説明します。次のコマンドでも、比較の履歴を表示できます。
cmp.dj.la – 実行中の比較、完了した比較を一覧表示します。
cmp.dj.lo – 特定の比較のステータスを表示します。
これらのコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
ナビゲーションメニューの「Application Deployment」を展開し、「Run History」をクリックします。
実行中の比較、完了した比較がすべて一覧表示されます。実行中の比較の「Completed」列には、プランの実行開始時刻が表示されます。
特定のプランの詳細情報を表示したい場合は、「Results」をクリックします。
ここでは、ブラウザインタフェースを使用して比較を実行する方法について説明します。次のコマンドでも、比較を実行することができます。
cmp.dj.del – 比較を停止します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
比較の実行を停止するには、その比較処理を開始したユーザーか、admin ユーザーグループのメンバーである必要があります。
「Run History」ページで、処理を停止する比較を選択します。
「Action」列の「Progress」をクリックします。
「Cancel Comparison」をクリックします。
実行中の比較を途中で取り消すと、全比較の一覧ページに戻ります。場合によっては、一覧が更新され、比較処理が停止したことがわかるまで、多少時間がかかることがあります。
比較を行うときは、比較の詳細レベルや比較対象とするホストまたはコンポーネントを指定できるだけでなく、比較対象から除外するファイルやディレクトリも指定できます。たとえば、重要でない差分が大量に含まれるリソースがある場合に、比較対象から除外します。この指定内容を保存し、別の比較定義で再利用することも可能です。
次のコマンドでも、比較を変更することができます。
cmp.ds.mod – 比較を変更します。
このコマンドの詳細については、『N1 Grid Service Provisioning System 5.0 コマンド行インタフェース (CLI) リファレンスマニュアル』の第 5 章「cmp:比較を実行する CLI コマンド」を参照してください。
比較を編集するためには、比較の Create、Edit、Delete アクセス許可を持っているユーザーグループに所属する必要があります。
必要に応じて、変更するモデルとインストールの比較、またはインストールとインストールの比較を選択します。
比較の「Details」ページが表示されます。
「Directories and Files to Ignore During Comparisons」の表に変更を加えます。
除外リストにディレクトリやファイルを追加します。
比較の「Details」ページに、除外するディレクトリまたはファイルの名前を入力し、「Add」をクリックします。
ワイルドカード (*) を使って、除外するディレクトリまたはファイルを表す文字列を入力することもできます。たとえば、すべてのログファイルを無視する場合は、*.log と入力します。
ワイルドカードを使用しても、使用しなくても、ファイル名までの完全なパターンを指定してください。ディレクトリまでしか指定しないと、そのディレクトリの下位のファイルは除外されません。下位ファイルも除外対象に含める場合は、ディレクトリ名の末尾にアスタリスク (*) を指定する必要があります。たとえば、/usr/apache/logs ディレクトリ内のすべてのファイルを除外対象とする場合は、/usr/apache/logs* のように指定する必要があります。
「Add」をクリックします。
指定した内容が除外対象のディレクトリとファイルのリストに追加されます。
除外リストからディレクトリまたはファイルを削除します。
「Save」をクリックします。