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

Red Hat JBoss Enterprise Application Platform 7.4

パッチを適用して、次の Red Hat JBoss Enterprise Application Platform のマイナーリリースのアップグレードを実装する手順

Red Hat Customer Content Services

概要

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

JBoss EAP ドキュメントへのフィードバック (英語のみ)

エラーを報告したり、ドキュメントを改善したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. このリンクをクリック してチケットを作成します。
  2. ドキュメント URLセクション番号課題の説明 を記入してください。
  3. Summary に課題の簡単な説明を入力します。
  4. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL を含めてください。
  5. Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 パッチおよびアップグレードの概要

1.1. JBoss EAP のパッチ適用およびアップグレード

メジャーアップグレード

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

このような移行は、JBoss EAP の 移行ガイド で説明しています。

マイナー更新

JBoss EAP では、定期的にポイントリリースが提供されます。

これは、バグ修正、セキュリティーの修正、および新機能が含まれるマイナー更新です。ポイントリリースで追加された変更に関する情報は、JBoss EAP の 移行ガイド および 7.4.0 Release Notes に記載されています。

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

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

累積パッチ

JBoss EAP では、バグおよびセキュリティーの修正が含まれる累積パッチも定期的に提供されます。累積パッチのリリースごとに、リリース番号の最後の数字が 1 ずつ増えます (例: 7.4.0 から 7.4.1)。

パッチインストールについては、本書の JBoss EAP のパッチ適用 に記載されています。

第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 の手順 を参照してください。

手順

  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

検証

  • パッチが正常に適用されたかどうかは、管理 CLI を開いて patch info を実行することで確認できます。

    想定される出力:

    Version:             <PATCH_VERSION_NUMBER>.GA
    Cumulative patch ID: jboss-eap-<PATCH VERSION NUMBER>.CP
    One-off patches:     none

    新たに適用されたパッチのバージョンと累積パッチ ID が表示されます。

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

管理コンソールを使用して JBoss EAP にパッチを適用できます。

注記

この手順は、RPM 方式でインストールした JBoss EAP サーバーの更新には使用できません。代わりに、パッチを適用する RPM の手順 を参照してください。

手順

  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. 追加オプションを設定し、完了 をクリックします。
    • パッチが正しく適用されていたら、サーバーを再起動して変更を反映します。
    • パッチの適用に失敗した場合はエラーメッセージを確認します。競合が存在する場合は、Add Patch ウィザードの Override AllOverride 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 のパッチをロールバックできます。

手順

  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. パッチが正常にロールバックされたことを確認するには管理用 CLI を開き、patch info.を実行すると、以前に適用したパッチのバージョンと累積パッチ ID が表示されます。

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

管理コンソールを使用して JBoss EAP のパッチをロールバックできます。

手順

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

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

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

      1. ホストを選択し、Rollback をクリックします。
      2. ホストのサーバーをシャットダウンするかどうかを選択し、次へ をクリックします。
      3. 追加オプションを設定し、完了 をクリックします。
    • パッチが正しくロールバックされたら、サーバーを再起動して変更を反映します。
    • ロールバックに失敗した場合はエラーメッセージを確認します。競合が存在する場合は、ウィザードの Override AllOverride Modules、および Override フィールドを使用して、パッチの影響を受ける項目の検証を迂回することができます。

検証

  • パッチのロールバックが正常に行われたことを確認するには、管理コンソールを開き、パッチタブに移動します。左側には、過去に適用されたパッチのバージョンが表示されます。これは、スタンドアロンでもマネージドドメインサーバーでも同じです。

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

JBoss EAP は RPM インストールのパッチングをサポートします。RPM インストールにパッチを当てる前に、システムが以下のセットアップの前提条件をすべて満たしていることを確認する必要があります。

前提条件

  • ベースとなる OS は最新で、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 に適用する必要があります。

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

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

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

前提条件

  • Red Hat カスタマーポータルに登録されている。
  • JBoss EAP 7.4、Maven リポジトリーをダウンロードしてローカルにインストールしている。

手順

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

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

      $ unzip -o jboss-eap-7.4.CP_NUMBER-incremental-maven-repository.zip -d EAP_MAVEN_REPOSITORY_PATH
    2. Microsoft Windows の場合は、Windows 展開ユーティリティーを使用して圧縮ファイルを 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 をアップグレードする前に、以下の潜在的な問題について認識しておく必要があります。

  • JBoss EAP の新しいリリースにアップグレードする際に設定ファイルをバックアップおよびリストアすると、新しいリリースの設定を上書きしてしまう可能性があります。これにより、アップグレードされた JBoss EAP インスタンスの新機能が無効になることがあります。古い設定と新しい設定を比較し、維持する必要のある特定の設定のみを再適用します。これは、手作業で行うことができ、複数のサーバー設定ファイルに変更を一貫して適用できるスクリプトを作成して行うこともできます。
  • さらに新しい JBoss EAP リリースに移行するために既存の設定をバックアップおよびリストアする場合は、サーバーを再起動すると、設定ファイルが更新されます。これらの設定ファイルは、以前の JBoss EAP リリースとの互換性がなくなります。
  • アップグレードすると、一時フォルダーが削除される場合があります。アップグレードを開始する前に、data/content/ ディレクトリーに保存されているすべてのデプロイメントをバックアップします。アップグレード後にディレクトリーの内容を復元できます。そうしないと、コンテンツが不足しているため、旧バージョンの JBoss EAP サーバーが起動しません。
  • アップグレードを適用する前に、開かれたトランザクションをすべて処理し、data/tx-object-store/ トランザクションディレクトリーを削除します。
  • data/timer-service-data ディレクトリーにある永続的なタイマーデータを確認し、そのデータがアップグレードに適用されるかどうかを判断します。
  • アップグレードの前に、データディレクトリー内の deployment-* ファイルを確認して、アクティブなタイマーを判断します。

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

JBoss EAP をアップグレードするには、JBoss EAP リリースの新しいバージョンをダウンロード、展開、インストールします。

前提条件

  • ベースのオペレーティングシステムを最新の状態にする。
  • 設定ファイル、デプロイメント、およびユーザーデータをすべてバックアップする。
  • 対象の JBoss EAP バージョンの 圧縮ファイルをダウンロードする
重要

管理対象ドメインの場合、JBoss EAP の新しいリリースにアップグレードする前に、JBoss EAP ドメインコントローラーをアップグレードします。

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

手順

  1. ダウンロードした圧縮ファイルは、既存の JBoss EAP インストールの場所以外に移動します。

    注記

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

  2. 圧縮ファイルを展開して、新しい JBoss EAP リリースの新規インスタンスをインストールします。
  3. 以前のインストールの EAP_HOME/domain/ および EAP_HOME/standalone/ ディレクトリーを新しいインストールディレクトリーにコピーします。

    重要

    以前のリリースからコピーされたファイルでは、新しいリリースの機能がデフォルトで有効になっていない可能性があるため、以前の JBoss EAP バージョンの設定ファイルと JBoss EAP の新しいバージョンのファイルを比較して更新する必要があります。

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

    警告

    JBoss EAP バージョンの bin ディレクトリー内のファイルを上書きしないでください。手動で変更する必要があります。

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

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

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

RPM インストール方法を使用して現在の JBoss EAP インスタンスを新しい JBoss EAP インスタンスにアップグレードする前に、システムが特定のセットアップ前提条件を満たしていることを確認してください。

前提条件

  • ベースとなる OS は最新で、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. 新しいサブシステムなど、アップグレードされたリリースの新機能を有効にするには、各 .rpmnew ファイルを既存の設定ファイルに手動でマージします。RPM アップグレードプロセスでは、変更された JBoss EAP 設定ファイルは置換されませんが、アップグレードされた JBoss EAP インスタンスのデフォルト設定に基づいて .rpmnew ファイルが作成されます。

関連情報

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

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

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

手順

  1. 最新の JBoss EAP バージョンを実行するノードで設定される新しい JBoss EAP クラスターを作成します。
  2. 以前の JBoss EAP リリースからすべてのクラスター化されたトラフィックを、アップグレードされた JBoss EAP リリース上の新しいクラスターに移行します。
  3. 以前の JBoss EAP バージョンに関連するクラスターをシャットダウンし、そのコンテンツを削除します。

関連情報

法律上の通知

Copyright © 2024 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.