第2章 JBoss EAP のパッチ適用
JBoss EAP へのパッチ適用に選択すべき方法は、インストール方法によって異なります。アーカイブ方式またはインストーラー方式で JBoss EAP をインストールした場合は、.zip ファイルでのパッチ管理 を使用する必要があります。RPM を使用して Red Hat Enterprise Linux 上に JBoss EAP をインストールした場合は、RPM パッチ を使用する必要があります。
パッチを適用またはロールバックする前に、すべてのデプロイメントと設定ファイルを含む JBoss EAP サーバーをバックアップしてください。
JBoss EAP Maven リポジトリーをローカルでインストールした場合、JBoss EAP サーバーの累計パッチと同じバージョンを Maven リポジトリーにパッチ する必要もあります。
2.1. アーカイブやインストーラーでのパッチ適用
JBoss EAP のアーカイブまたはインストーラーインストールの累積パッチは、Red Hat カスタマーポータル からダウンロードできます。管理対象ドメイン環境に複数の JBoss EAP ホストがある場合、JBoss EAP ドメインコントローラーから個々のホストにパッチを当てることができます。
アーカイブまたはインストーラーによるインストールのパッチ適用に関する重要な注意事項
アーカイブやインストーラーにパッチを当てる前に、以下の点に注意する必要があります。
-
モジュールを更新するパッチを適用する場合、新たにパッチが適用され、起動時に使用される JAR は
EAP_HOME/modules/system/layers/base/.overlays/PATCH_ID/MODULE
に格納されます。パッチが適用されていない元のファイルは、EAP_HOME/modules/system/layers/base/MODULE
に残っており、ランタイムには使用されません。 JBoss EAP 7 の累積パッチリリースのサイズを大幅に縮小するには、まず累積パッチ更新に問題がないことを確認してから、この CLI コマンド
/core-service=patching:ageout-history ()
を実行します。これにより、最新のパッチとオリジナルのベースリリースを除くすべての累積パッチオーバーレイが削除されます。たとえば、JBoss EAP 7.0.0 を使用して CP01 を適用し、その後 CP02 を適用した場合。
/core-service=patching:ageout-history ()
を実行すると、CP01 にロールバックできなくなります。CP02 をロールバックすると、JBoss EAP 7.0.0 にロールバックすることになり、CP01 をダウンロードして再度適用する必要があります。注記- このパッチは RPM ではなく、アーカイブのインストールにのみ有効です。
- 中間累積パッチを適用する必要はありません。たとえば、JBoss EAP 7.0.0 を使用している場合、CP01~CP04 を適用せずに CP05 を適用できます。
- 以前の累積パッチをインストールしていた場合のみ、そのパッチにロールバックできます。
2.1.1. 管理 CLI を使用した JBoss EAP のパッチ適用
管理 CLI を使用して JBoss EAP にパッチを適用できます。
この手順は、RPM 方式でインストールした JBoss EAP サーバーの更新には使用できません。代わりに、パッチを適用する RPM の手順 を参照してください。
手順
- Red Hat カスタマーポータルにログインし、JBoss EAP の Software Downloads からパッチファイルをダウンロードします。
パッチファイルへの適切なパスを指定して以下のコマンドを使用し、管理 CLI からパッチを適用します。
patch apply /path/to/downloaded-patch.zip
patch apply /path/to/downloaded-patch.zip
Copy to Clipboard Copied! 注記管理対象ドメインで JBoss EAP にパッチを適用するには、
--host=
引数を使用して JBoss EAP ホスト名を指定します。以下に例を示します。patch apply /path/to/downloaded-patch.zip --host=my-host
patch apply /path/to/downloaded-patch.zip --host=my-host
Copy to Clipboard Copied! パッチツールは、パッチ適用時にコンフリクトが発生している場合には警告メッセージを表示します。コンフリクトが発生した場合は、patch --help と入力すると、パッチのコンフリクト解決に利用可能な引数が表示されます。
JBoss EAP サーバーを再起動して、パッチを反映します。
shutdown --restart=true
shutdown --restart=true
Copy to Clipboard Copied!
検証
パッチが正常に適用されたかどうかは、管理 CLI を開いて
patch info
を実行することで確認できます。想定される出力:
Version: <PATCH_VERSION_NUMBER>.GA Cumulative patch ID: jboss-eap-<PATCH VERSION NUMBER>.CP One-off patches: none
Version: <PATCH_VERSION_NUMBER>.GA Cumulative patch ID: jboss-eap-<PATCH VERSION NUMBER>.CP One-off patches: none
Copy to Clipboard Copied! 新たに適用されたパッチのバージョンと累積パッチ ID が表示されます。
2.1.2. 管理コンソールを使用した JBoss EAP のパッチ適用
管理コンソールを使用して JBoss EAP にパッチを適用できます。
この手順は、RPM 方式でインストールした JBoss EAP サーバーの更新には使用できません。代わりに、パッチを適用する RPM の手順 を参照してください。
手順
- Red Hat カスタマーポータルにログインし、JBoss EAP の Software Downloads からパッチファイルをダウンロードします。
- 管理コンソール を開き、Patching タブに移動します。
Add Patch ウィザードを使用してパッチを追加します。
スタンドアロンサーバーの場合:
- 追加 (+) ボタンをクリックします。
- Choose a file or drag it here をクリックし、適用するダウンロードしたパッチを選択した後、次へ をクリックします。
- 追加オプションを設定し、完了 をクリックします。
管理対象ドメインの場合:
- パッチを適用するホストを選択し、追加 (+) ボタンをクリックします。
- ホストのサーバーをシャットダウンするかどうかを選択し、次へ をクリックします。
- Choose a file or drag it here をクリックし、適用するダウンロードしたパッチを選択した後、次へ をクリックします。
- 追加オプションを設定し、完了 をクリックします。
- パッチが正しく適用されていたら、サーバーを再起動して変更を反映します。
- パッチの適用に失敗した場合はエラーメッセージを確認します。競合が存在する場合は、Add Patch ウィザードの Override All、Override Modules、および Override フィールドを使用して、パッチが変更する項目内容の検証を迂回することができます。コンフリクトを上書きすると、パッチの内容が修正内容を上書きします。
検証
- パッチが正常に適用されたことを確認するには、コンソールを開いて累積パッチを適用します。正常にインストールされていれば、管理コンソールの Patching タブに表示されているはずです。これは、スタンドアロンでもマネージドドメインサーバーでも同じです。
2.1.3. 前回適用したパッチへのローリングバック
管理 CLI または 管理コンソール を使用して、以前に適用した JBoss EAP パッチをロールバックできます。
パッチ管理システムを使用したパッチのロールバックは、一般的なアンインストール機能として使用するものではありません。これは、望ましくない影響を及ぼしたパッチの適用直後にのみ使用することを目的としています。
パッチをロールバックする際には、Reset Configuration
オプションに正しい値を指定してください。パッチをロールバックする前に、次の 2 つの値のいずれかを設定する必要があります。
-
TRUE
に設定した場合、パッチロールバックプロセスによって JBoss EAP サーバー設定ファイルもパッチ適用前の状態にロールバックされます。パッチの適用後に JBoss EAP サーバー設定ファイルに追加された変更は元に戻せません。 -
FALSE
に設定すると、サーバー設定ファイルはロールバックできません。この場合、ロールバック後にサーバーが起動しないことがあります。これは、パッチが原因で名前空間などの設定が変更される可能性があるためで、手動で修正できます。
2.1.4. 管理 CLI を使用したパッチのロールバック
管理 CLI を使用して JBoss EAP のパッチをロールバックできます。
手順
管理 CLI から
patch history
コマンドを使用して、ロールバックするパッチの ID を見つけます。注記管理対象ドメインを使用している場合は、JBoss EAP ホストを指定するため、このコマンドに
--host=HOSTNAME
引数を追加する必要があります。直前の手順の適切なパッチ ID でパッチをロールバックします。
patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE
patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE
Copy to Clipboard Copied! パッチツールは、パッチのロールバック時にコンフリクトが発生した場合に警告を表示します。競合が存在する場合は、利用可能な引数に
patch --help
を入力し、競合の解決方法を指定する引数を使用してコマンドを再実行します。JBoss EAP サーバーを再起動して、パッチのロールバックを反映します。
shutdown --restart=true
shutdown --restart=true
Copy to Clipboard Copied!
検証
-
パッチが正常にロールバックされたことを確認するには管理用 CLI を開き、
patch info
.を実行すると、以前に適用したパッチのバージョンと累積パッチ ID が表示されます。
2.1.5. 管理コンソールを使用したパッチのロールバック
管理コンソールを使用して JBoss EAP のパッチをロールバックできます。
手順
- 管理コンソールを開き、Patching タブに移動します。
Rollback ウィザードを使用してパッチをロールバックします。
スタンドアロンサーバーの場合:
- ロールバックするパッチを選択し、Rollback をクリックします。
- 追加オプションを設定し、完了 をクリックします。
管理対象ドメインの場合:
- ホストを選択し、Rollback をクリックします。
- ホストのサーバーをシャットダウンするかどうかを選択し、次へ をクリックします。
- 追加オプションを設定し、完了 をクリックします。
- パッチが正しくロールバックされたら、サーバーを再起動して変更を反映します。
- ロールバックに失敗した場合はエラーメッセージを確認します。競合が存在する場合は、ウィザードの Override All、Override Modules、および Override フィールドを使用して、パッチの影響を受ける項目の検証を迂回することができます。
検証
- パッチのロールバックが正常に行われたことを確認するには、管理コンソールを開き、パッチタブに移動します。左側には、過去に適用されたパッチのバージョンが表示されます。これは、スタンドアロンでもマネージドドメインサーバーでも同じです。