パッチおよびアップグレードガイド

Red Hat JBoss Enterprise Application Platform 7.2

Red Hat JBoss Enterprise Application Platform 7.2 向け

Red Hat Customer Content Services

概要

本書は、Red Hat JBoss Enterprise Application Platform 7.2 インストールのパッチ適用およびアップグレードに関するガイドです。

第1章 はじめに

1.1. 移行およびアップグレード

メジャーアップグレード

JBoss EAP 6.4 から JBoss EAP 7.0 など、アプリケーションを他のメジャーリリースに移動する場合にメジャーアップグレードまたは移行が必要になります。アプリケーションが Java EE 仕様に準拠し、非推奨の API にアクセスせず、プロプライエタリーコードを含まない場合、アプリケーションコードを変更せずにアプリケーションを JBoss EAP 7 で実行できる可能性があります。しかし、JBoss EAP 7 ではサーバー設定が変更になったため移行が必要になります。このような移行は、JBoss EAP の『移行ガイド』に取り上げられています。

マイナーアップデート

JBoss EAP では、定期的にポイントリリースが提供されます。これは、バグ修正、セキュリティーの修正、および新機能が含まれるマイナーアップデートです。ポイントリリースで追加された変更に関する情報は、JBoss EAP の『移行ガイド』および『7.2.0 リリースノート』に記載されています。

JBoss Server Migration Tool を使用すると、ポイントリリースを自動的に別のポイントリリースにアップグレードできます (JBoss EAP 7.0 から JBoss EAP 7.1 など)。このツールの設定および実行方法に関する詳細は、『Using the JBoss Server Migration Tool』を参照してください。

サーバー設定を手作業でアップグレードすることもできます。手作業でアップグレードする方法と手順は本書に記載されています。詳細は、「JBoss EAP のアップグレード」を参照してください。

累積パッチ

JBoss EAP では、バグおよびセキュリティーの修正が含まれる累積パッチも定期的に提供されます。累積パッチのリリースごとに、リリース番号の最後の数字が 1 ずつ増えます (例: 7.1.0 から 7.1.1)。パッチインストールについては、本書の「JBoss EAP のパッチ適用」に記載されています。

1.2. セキュリティーアナウンスメントのサブスクライブ

Red Hat は セキュリティー情報のメーリングリスト を提供しています。このメーリングリストにサブスクライブすると、JBoss EAP に影響するセキュリティー関連のアナウンスが通知されます。

第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
重要

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

2.2. RPM インストールへのパッチ適用

要件

  • ベースのオペレーティングシステムが最新の状態で、標準の Red Hat Enterprise Linux リポジトリーにサブスクライブし、更新を取得できるようにしてください。
  • 更新に関連する JBoss EAP リポジトリーにサブスクライブしていることを確認してください。

    警告

    RPM インストールを更新する場合、JBoss EAP はサブスクライブしているリポジトリーの RPM リリースの修正で累積的に更新されます。

  • 設定ファイル、デプロイメント、およびユーザーデータをすべてバックアップします。
重要

管理対象ドメインでは、JBoss EAP ドメインコントローラーを最初に更新する必要があります。

サブスクライブしているリポジトリーから RPM で JBoss EAP パッチをインストールするには、以下のコマンドを実行して Red Hat Enterprise Linux システムを更新します。

# yum update

2.3. 任意設定: ローカル JBoss EAP Maven リポジトリーへのパッチ適用

インストールした JBoss EAP Maven リポジトリーにもパッチを適用する必要がある場合があります。

JBoss EAP Maven リポジトリーはオンラインで利用でき、ダウンロードした ZIP ファイルとして使用することもできます。公開ホストのオンライン Maven リポジトリーを使用する場合、更新は自動的に適用されるため、更新のためにすることはありません。しかし、ZIP ファイルを使用して Maven リポジトリーをローカルにインストールした場合、ご自分で更新をリポジトリーに適用する必要があります。

JBoss EAP の累積パッチがリリースされると、JBoss EAP Maven リポジトリー用の対応パッチが提供されます。このパッチは、既存のローカルリポジトリーで展開される増分 ZIP ファイルで提供されます。既存のファイルは上書きまたは削除しないため、ロールバックの要件はありません。

以下の手順にしたがって、ローカルインストールされた JBoss EAP Maven リポジトリーに更新を適用します。

要件

  • Red Hat カスタマーポータルへの有効なアクセスおよびサブスクリプション。
  • 以前ローカルにダウンロードおよびインストールされた JBoss EAP 7.2 Maven リポジトリー。

ローカルインストールされた JBoss EAP Maven リポジトリーの更新

  1. ブラウザーを開き、Red Hat カスタマーポータル にログインします。
  2. ページの上部にあるメニューから Downloads を選択します。
  3. リストで Red Hat JBoss Enterprise Application Platform を見つけ、クリックします。
  4. Version ドロップダウンメニューから JBoss EAP の正しいバージョンを選択し、Patches タブをクリックします。
  5. Red Hat JBoss Enterprise Application Platform 7.2 Update CP_NUMBER Incremental Maven Repository (CP_NUMBER は更新する累計パッチ番号) を見つけ、Download をクリックします。
  6. JBoss EAP Maven リポジトリーへのパスを見つけます。これは以下のコマンドで EAP_MAVEN_REPOSITORY_PATH と記載されています。
  7. ダウンロードした Maven パッチファイルを直接 JBoss EAP 7.2 Maven リポジトリーのディレクトリーに展開します。

    1. Red Hat Enterprise Linux の場合は、ターミナルを開き、以下のコマンドを実行します。累計パッチ番号と Maven リポジトリーへのパスは実際の値に置き換えます。

      $ unzip -o jboss-eap-7.2.CP_NUMBER-incremental-maven-repository.zip -d EAP_MAVEN_REPOSITORY_PATH
    2. Microsoft Windows の場合は、Windows 展開ユーティリティーを使用して ZIP ファイルを EAP_MAVEN_REPOSITORY_PATH ディレクトリーのルートに展開します。

第3章 JBoss EAP のアップグレード

重要

本章では、JBoss EAP 7 のマイナーリリースを別のマイナーリリースにアップグレードする方法を説明します。たとえば、JBoss EAP 7.0 から JBoss EAP 7.1 へのアップグレードが考えられます。

JBoss EAP 6 から JBoss EAP 7 のように、JBoss EAP の以前のメジャーリリースから移行する場合は、『移行ガイド』を参照してください。

3.1. アップグレードの準備

JBoss EAP をアップグレードする前に、以下の潜在的な問題について認識しておく必要があります。

  • 新しいポイントリリースにアップグレードするときに設定ファイルをバックアップおよびリストアする場合、新しいリリースに含まれる新しい設定を上書きし、新機能が自動的に有効にならないようにすることができます。この場合、旧設定と新設定を比較し、維持する必要のある特定の設定のみを再適用することが推奨されます。これは、手作業で行うことができ、複数のサーバー設定ファイルに変更を一貫して適用できるスクリプトを作成して行うこともできます。
  • アップグレードのために既存の設定をバックアップおよびリストアする場合、サーバーが再起動し、設定ファイルが更新されると、更新された設定は旧バージョンとの互換性を失う可能性があります。
  • アップグレードによって一時フォルダーが削除されることがあります。アップデートを行う前に data/content/ ディレクトリーに保存されたデプロイメントをバックアップし、アップデートの完了後にリストアする必要があります。この作業を怠ると、削除された内容が原因でサーバーが起動しないことがあります。
  • アップグレードを適用する前に、オープントランザクションを処理し、data/tx-object-store/ トランザクションディレクトリーを削除します。
  • data/timer-service-data にある永続タイマーデータをチェックし、アップグレード後も適用可能であるかを判断します。移行前に、このディレクトリーにある deployment-* ファイルをチェックし、使用されているタイマーを確認します。

3.2. ZIP/インストーラーインストールのアップグレード

要件

  • ベースのオペレーティングシステムが最新の状態であるようにしてください。
  • 設定ファイル、デプロイメント、およびユーザーデータをすべてバックアップします。
  • アップグレードする JBoss EAP バージョンの ZIP ファイルをダウンロードします。
重要

管理対象ドメインでは、JBoss EAP ドメインコントローラーを最初にアップグレードする必要があります。

アップグレードした JBoss EAP 7 ドメインコントローラーは、他のドメインと同じまたはそれ以降のバージョンを実行していれば、管理対象ドメインの他の JBoss EAP 7 ホストを管理できます。

  1. ダウンロードした ZIP ファイルを希望の場所に移動します。既存の JBoss EAP インストールとは別の場所を選択することが推奨されます。

    注記

    アップグレードしたバージョンの JBoss EAP を既存のインストールと同じディレクトリーにインストールする場合は、既存のインストールを別の場所に移してから作業を続行する必要があります。これは、変更した設定ファイル、デプロイメント、およびアップグレードの損失を防ぎます。

  2. ZIP アーカイブを展開します。これにより、新しい JBoss EAP リリースのインスタンスがクリーンインストールされます。
  3. 以前のインストールの EAP_HOME/domain/ およびEAP_HOME/standalone/ ディレクトリーを新しいインストールディレクトリーにコピーします。

    重要

    設定ファイルが以前の JBoss EAP インストールからコピーされると、新しいサブシステムなどの新リリースの新機能はアクティベートされないことがあります。これらの新機能を使用するには、以前の設定ファイルを新バージョンの設定ファイルと比較し、アップデートする必要があります。

  4. 以前のインストールの bin ディレクトリーに加えられた変更を確認し、同等の変更を新しいディレクトリーに追加します。

    警告

    bin ディレクトリーのファイルは、以前のバージョンのファイルに上書きされていないはずです。変更は手作業で行う必要があります。

  5. 以前のインストールで変更された残りのファイルを確認し、変更内容を新しいインストールに移動します。このようなファイルには以下のファイルが含まれることがあります。

    • welcome-content ディレクトリー。
    • modules ディレクトリーのカスタムモジュール。
  6. 任意設定: JBoss EAP がサービスとして実行されるよう設定されていた場合は、既存のサービスを削除し、アップグレードしたインストールに新しいサービスを設定します。

3.3. RPM インストールのアップグレード

要件

  • ベースのオペレーティングシステムが最新の状態で、標準の Red Hat Enterprise Linux リポジトリーにサブスクライブし、更新を取得できるようにしてください。
  • アップグレードに関連する JBoss EAP リポジトリーにサブスクライブしていることを確認してください。

    JBoss EAP のこれまでの minor リポジトリーにサブスクライブしている場合は、最新の minor リポジトリーに変更し、アップグレードを取得する必要があります。

    JBoss EAP リポジトリーに関する詳細は、『インストールガイド』の「リポジトリーの選択」および「リポジトリーの変更」を参照してください。

  • 設定ファイル、デプロイメント、およびユーザーデータをすべてバックアップします。
重要

管理対象ドメインでは、JBoss EAP ドメインコントローラーを最初にアップグレードする必要があります。

アップグレードした JBoss EAP 7 ドメインコントローラーは、他のドメインと同じまたはそれ以降のバージョンを実行していれば、管理対象ドメインの他の JBoss EAP 7 ホストを管理できます。

  1. 関連する JBoss EAP リポジトリーにサブスクライブし、アップグレードが利用できるようになった後、以下のコマンドを実行して JBoss EAP インストールをアップグレードします。

    # yum update
  2. RPM のアップグレードプロセスでは、変更された設定ファイルは置き換えられず、新バージョンの JBoss EAP のデフォルト設定用に .rpmnew ファイルが作成されます。

    新しいサブシステムなど、新リリースの新機能をアクティベートするには、各 .rpmnew ファイルを手作業で既存の設定ファイルにマージする必要があります。

3.4. クラスターのアップグレード

JBoss EAP は、異なるバージョンの JBoss EAP サーバーでノードが構成されたクラスターの作成をサポートしません。クラスター内のすべてのノードは同じ JBoss EAP バージョンである必要があります。

クラスターのアップグレードプロセスでは、新しいバージョンの JBoss EAP を実行するノードで構成される新規の JBoss EAP クラスターを作成し、すべてのクラスタートラフィックを以前のクラスターから新しいクラスターに移行します。この作業の完了後、以前の JBoss EAP クラスターをシャットダウンし、削除することができます。

新規クラスターの作成については『設定ガイド』の「高可用性の設定」、旧クラスターから新クラスターへのトラフィックの移行については「クラスター間のトラフィックの移行」を参照してください。





Revised on 2019-11-27 13:00:29 CET

法律上の通知

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.