第2章 JBoss EAP のパッチ適用

JBoss EAP にパッチを適用する方法は、インストールの方法によって異なります。ZIP またはインストーラーで JBoss EAP をインストールした場合は、ZIP ベースのパッチ管理システム を使用する必要があります。RPM を使用して Red Hat Enterprise Linux 上に JBoss EAP をインストールした場合は、RPM パッチ を使用する必要があります。

重要

パッチを適用またはロールバックする前に、すべてのデプロイメントと設定ファイルを含む JBoss EAP サーバーをバックアップしてください。

JBoss EAP Maven リポジトリーをローカルでインストールした場合、JBoss EAP サーバーの累計パッチと同じバージョンを Maven リポジトリーにパッチする必要もあります。

2.1. ZIP/インストーラーインストールのパッチ適用

JBoss EAP の ZIP またはインストーラーインストールの累計パッチは、Red Hat カスタマーポータルからダウンロードできます。

管理対象ドメイン環境の複数の JBoss EAP ホストの場合、各ホストは JBoss EAP ドメインコントローラーからパッチできます。

パッチ適用の他に、パッチの適用をロールバックすることもできます。

2.1.1. ZIP/インストーラーインストールのパッチに関する重要事項

  • モジュールを更新するパッチを適用する場合、新たにパッチが適用され、起動時に使用される JAR は EAP_HOME/modules/system/layers/base/.overlays/PATCH_ID/MODULE に格納されます。パッチが適用されていない元のファイルはこれまでどおり EAP_HOME/modules/system/layers/base/MODULE に格納されますが、これらの JAR はランタイムに使用されません
  • JBoss EAP 7 の累計パッチリリースのサイズを大幅に小さくするため、累計パッチを部分的にロールバックすることはできません。適用済みのパッチはパッチ全体のみをロールバックできます。

    たとえば、CP03 を JBoss EAP 7.0.0 に適用する場合、CP01 や CP02 にロールバックできません。各累計パッチリリースにロールバックできるようにするには、各累計パッチをリリース順に個別に適用する必要があります。

2.1.2. パッチの適用

注記

RPM メソッドを使用してインストールされた JBoss EAP サーバーは前述の手順で更新することはできません。RPM 用のパッチ適用手順を参照してください。

管理 CLI または 管理コンソール のいずれかを使用してダウンロードしたパッチを JBoss EAP に適用できます。

管理 CLI を使用した JBoss EAP へのパッチ適用

  1. Red Hat カスタマーポータルにログインし、JBoss EAP の Software Downloads からパッチファイルをダウンロードします。
  2. パッチファイルへの適切なパスを指定して以下のコマンドを使用し、管理 CLI からパッチを適用します。

    patch apply /path/to/downloaded-patch.zip
    注記

    管理対象ドメインで別の JBoss EAP にパッチを適用するには、--host= 引数を使用して JBoss EAP ホスト名を指定します。例を以下に示します。

    patch apply /path/to/downloaded-patch.zip --host=my-host

    パッチの適用時に競合が存在する場合は、パッチツールによって警告が表示されます。競合が存在する場合は、使用できる引数に patch --help を入力し、競合の解決方法を指定する引数を用いてコマンドを再実行します。

  3. JBoss EAP サーバーを再起動して、パッチを反映します。

    shutdown --restart=true

管理コンソールを使用した JBoss EAP へのパッチ適用

  1. Red Hat カスタマーポータルにログインし、JBoss EAP の Software Downloads からパッチファイルをダウンロードします。
  2. 管理コンソールを開き、Patching タブに移動します。
  3. Add Patch ウィザードを使用してパッチを追加します。

    • スタンドアロンサーバーの場合:

      1. 追加 (+) ボタンをクリックします。
      2. Choose a file or drag it here をクリックし、適用するダウンロードしたパッチを選択した後、次へ をクリックします。
      3. 追加オプションを設定し、完了 をクリックします。
    • 管理対象ドメインの場合:

      1. パッチを適用するホストを選択し、追加 (+) ボタンをクリックします。
      2. ホストのサーバーをシャットダウンするかどうかを選択し、次へ をクリックします。
      3. Choose a file or drag it here をクリックし、適用するダウンロードしたパッチを選択した後、次へ をクリックします。
      4. 追加オプションを設定し、完了 をクリックします。
  4. パッチが正しく適用されたことを確認します。

    • パッチが正しく適用されていたら、サーバーを再起動して変更を反映します。
    • パッチの適用に失敗した場合はエラーメッセージを確認します。競合が存在する場合は、Add Patch ウィザードの Override AllOverride Modules、および Override フィールドを使用して、パッチが変更する項目内容の検証を迂回することができます。競合をオーバーライドすると、ユーザーの変更がバッチの内容によってオーバーライドされます。

2.1.3. パッチのロールバック

管理 CLI または 管理コンソール を使用して、以前に適用した JBoss EAP パッチをロールバックできます。

重要

パッチ管理システムを使用したパッチのロールバックは、一般的なアンインストール機能として使用するものではありません。不適切な結果をもたらしたパッチ適用の直後に使用することを目的としています。

要件

  • 以前に適用されたパッチ。
警告

パッチをロールバックする場合は、Reset Configuration オプションの値を指定するときに注意してください。

TRUE に設定した場合、パッチロールバックプロセスによって JBoss EAP サーバー設定ファイルもパッチ適用前の状態にロールバックされます。パッチの適用後に JBoss EAP サーバー設定ファイルに追加された変更はすべて失われます。

FALSE に設定した場合、サーバー設定ファイルはロールバックされません。この状況では、ネームスペースなどの設定がパッチにより変更され、設定が有効でなくなる可能性があるため、手動で設定を修正する必要があり、ロールバック後にサーバーを起動できないことがあります。

管理 CLI を使用したパッチのロールバック

  1. 管理 CLI から patch history コマンドを使用して、ロールバックするパッチの ID を見つけます。

    注記

    管理対象ドメインを使用している場合は、JBoss EAP ホストを指定するため、この手順のコマンドに --host=HOSTNAME 引数を追加する必要があります。

  2. 見つけたパッチ ID を使用して、パッチをロールバックします。

    patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE

    パッチのロールバック時に競合が存在する場合は、パッチツールによって警告が表示されます。競合が存在する場合は、使用できる引数に patch --help を入力し、競合の解決方法を指定する引数を用いてコマンドを再実行します。

  3. JBoss EAP サーバーを再起動して、パッチのロールバックを反映します。

    shutdown --restart=true

管理コンソールを使用したパッチのロールバック

  1. 管理コンソールを開き、Patching タブに移動します。
  2. Rollback ウィザードを使用してパッチをロールバックします。

    • スタンドアロンサーバーの場合:

      1. ロールバックするパッチを選択し、Rollback をクリックします。
      2. 追加オプションを設定し、完了 をクリックします。
    • 管理対象ドメインの場合:

      1. ホストを選択し、Rollback をクリックします。
      2. ホストのサーバーをシャットダウンするかどうかを選択し、次へ をクリックします。
      3. 追加オプションを設定し、完了 をクリックします。
  3. ロールバックが正常に行われたことを確認します。

    • パッチが正しくロールバックされたら、サーバーを再起動して変更を反映します。
    • ロールバックに失敗した場合はエラーメッセージを確認します。競合が存在する場合は、ウィザードの Override AllOverride Modules、および Override フィールドを使用して、パッチの影響を受ける項目の検証を迂回することができます。

2.1.4. パッチ履歴の消去

パッチが JBoss EAP サーバーに適用されると、ロールバック操作で使用するためのパッチの内容および履歴が保存されます。複数の累計パッチが適用された場合、パッチ履歴の保存に大量のディスク領域が使用されることがあります。

以下の管理 CLI コマンドを使用すると、現在使用されていない古いパッチをすべて削除することができます。このコマンドを使用する場合、最新の累積パッチのみが GA リリースとともに保持されます。これは、以前に複数の累積パッチが適用され、ディスク領域を解放する場合のみ便利です。

/core-service=patching:ageout-history
重要

パッチ履歴を消去すると、以前に適用されたパッチにロールバックできなくなります。