RHEL 9 から RHEL 10 へのアップグレード
Red Hat Enterprise Linux 9 から Red Hat Enterprise Linux 10 へのインプレースアップグレードの手順
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
主な移行の用語 リンクのコピーリンクがクリップボードにコピーされました!
以下の移行用語はソフトウェア業界で一般的に使用されますが、これらの定義は Red Hat Enterprise Linux (RHEL) に固有のものです。
更新
ソフトウェアパッチと呼ばれることもあります。更新は現行バージョン、オペレーティングシステム、または実行中のソフトウェアに追加されます。ソフトウェア更新は、問題またはバグに対応し、テクノロジーの操作が改善されます。RHEL では、更新は、RHEL 8.1 から 8.2 への更新といったマイナーリリースに関連します。
アップグレード
アップグレードは、現在実行しているアプリケーション、オペレーティングシステム、またはソフトウェアを置き換える場合です。通常、まず Red Hat の指示に従い、データをバックアップします。RHEL をアップグレードすると、以下の 2 つのオプションがあります。
- In-place upgrade: インプレースアップグレードの場合は、以前のバージョンを削除せずに、以前のバージョンを新しいバージョンに置き換えます。設定や設定と共にインストールされたアプリケーションとユーティリティーは、新規バージョンに組み込まれています。
- clean install: clean install は、以前にインストールされたオペレーティングシステム、システムデータ、設定、およびアプリケーションのすべてのトレースを削除し、最新バージョンのオペレーティングシステムをインストールします。システムに以前のデータまたはアプリケーションが必要ない場合や、以前のビルドに依存しない新規プロジェクトを開発する場合は、クリーンインストールに適しています。
オペレーティングシステムへの変換
変換は、オペレーティングシステムを別の Linux ディストリビューションから Red Hat Enterprise Linux に変換する際に使用されます。通常、まず Red Hat の指示に従い、データをバックアップします。
マイグレーション
通常、マイグレーションとは、ソフトウェアやハードウェアといったプラットフォームの変更を示しています。Windows から Linux への移行はマイグレーションです。ユーザーがあるラップトップから別のラップトップに移動したり、企業があるサーバーから別のサーバーに移動することもマイグレーションです。ただし、ほとんどのマイグレーションにはアップグレードも含まれており、この 2 つの用語が同様の意味で使用されることがあります。
- RHEL へのマイグレーション: 既存のオペレーティングシステムを RHEL に変換すること。
- RHEL 間でのマイグレーション: RHEL のあるバージョンから別のバージョンへのアップグレード。
第1章 サポート対象のアップグレードパス リンクのコピーリンクがクリップボードにコピーされました!
インプレースアップグレードでは、システム上の RHEL 9 オペレーティングシステムを RHEL 10 バージョンに置き換えます。
インプレースアップグレードは、RHEL 8 から RHEL 9、RHEL 9 から RHEL 10 など、RHEL のあるメジャーバージョンから次のバージョンへのみ実行できます。RHEL 8 から RHEL 10 など、複数のバージョンをまたいでシステムをアップグレードする場合は、対象のバージョンに達するまで、インプレースアップグレードを複数回実行する必要があります。詳細は、In-place upgrades over multiple RHEL major versions by using Leapp を参照してください。
現在、次のアップグレード元の RHEL 9 マイナーバージョンから、次のアップグレード先の RHEL 10 マイナーバージョンへのインプレースアップグレードを実行できます。
| システムの設定 | アップグレード元の OS バージョン | アップグレード先の OS バージョン |
|---|---|---|
| RHEL | RHEL 9.6 | RHEL 10.0 |
サポートされているアップグレードパスの詳細は、Red Hat Enterprise Linux のサポート対象のインプレースアップグレードパス および インプレースアップグレードのサポートポリシー を参照してください。
第2章 RHEL 10 へのアップグレードの計画 リンクのコピーリンクがクリップボードにコピーされました!
RHEL 9 から RHEL 10 へのアップグレードを開始する前に、システム要件、制限事項、その他の考慮事項を確認してください。
2.1. RHEL 9 から RHEL 10 へのアップグレードの計画 リンクのコピーリンクがクリップボードにコピーされました!
インプレースアップグレードは、システムを RHEL の次のメジャーバージョンにアップグレードする方法です。この方法は、推奨され、サポートされています。
RHEL 10 にアップグレードする前に、次の点を考慮してください。
アプリケーション -
Leappユーティリティーを使用して、システムにインストールされているアプリケーションを移行できます。ただし、場合によっては、アップグレード中にLeappによって実行されるアクションを指定するカスタムアクターを作成する必要があります。たとえば、アプリケーションの再設定や特定のハードウェアドライバーのインストールなどのアクションです。詳細は、Handling the migration of your custom and third-party applications を参照してください。Red Hat は、カスタムアクターに対応していません。重要SHA-1 アルゴリズムは RHEL 9 で非推奨となりました。システムに RSA/SHA-1 署名付きのパッケージが含まれている場合、アップグレードが拒否されます。アップグレードする前に、これらのパッケージを削除するか、RSA/SHA-256 署名を含むパッケージについてベンダーに問い合わせてください。詳細は、SHA-1 deprecation in Red Hat Enterprise Linux 9 を参照してください。
- ブートローダー - RHEL 9 または RHEL 10 では、ブートローダーを BIOS から UEFI に切り替えることはできません。RHEL 9 システムで BIOS を使用しており、RHEL 10 システムで UEFI を使用する場合は、インプレースアップグレードではなく、RHEL 9 の新規インストールを実行してください。詳細は、Is it possible to switch the BIOS boot to UEFI boot on preinstalled Red Hat Enterprise Linux machine? を参照してください。
- カスタマイズ - カスタムリポジトリーを使用するには、ナレッジベース記事 Configuring custom repositories を参照してください。
- ダウンタイム - アップグレードプロセスには数分から数時間かかる場合があります。
- 高可用性 - 高可用性アドオンを使用している場合は、ナレッジベース記事 Recommended Practices for Applying Software Updates to a RHEL High Availability or Resilient Storage Cluster に従ってください。
-
言語: すべての
Leappのレポート、ログ、その他の生成されたドキュメントは、言語設定に関わらず、英語で表示されます。 オペレーティングシステム - オペレーティングシステムは、次の条件に該当する場合、
Leappユーティリティーによってアップグレードできます。アップグレード元の OS バージョンが、次のいずれかのサポートされているアーキテクチャーを備えたシステムにインストールされている。
- 64 ビット Intel、AMD、および ARM
- IBM POWER (リトルエンディアン)
64 ビット IBM Z
詳細は、Red Hat certified hardware を参照してください。
- RHEL 10 の最小 ハードウェア要件 が満たされている。
- 選択したアップグレード元およびアップグレード先の OS バージョンの最新コンテンツにアクセスできる。詳細は、アップグレードに向けた RHEL 9 システムの準備 を参照してください。
- パブリッククラウド - Red Hat Update Infrastructure (RHUI) を使用するオンデマンドの Pay-As-You-Go (PAYG) インスタンスでは、インプレースアップグレードは現在サポートされていません。
- Red Hat OpenStack Platform の Real Time for Network Functions Virtualization (NFV) - リアルタイムシステムでのアップグレードがサポートされています。
- RHEL for Real Time - リアルタイムシステムでのアップグレードがサポートされています。
- SAP HANA - SAP HANA を含むアップグレードは現在サポートされていません。
Satellite
- クライアント - Satellite 経由でホストを管理する場合、Satellite Web UI を使用して複数のホストを同時に RHEL 9 から RHEL 10 にアップグレードできます。詳細は、次の Red Hat Enterprise Linux メジャーリリースへのホストのアップグレード を参照してください。
- Server および Capsule - Satellite 6.16 以降では、Satellite Server および Capsule をアップグレードできます。詳細は、Leapp を使用した Satellite または Capsule の RHEL 9 へのインプレースアップグレード を参照してください。
セキュリティー - アップグレード前にセキュリティーの側面を評価し、アップグレードプロセスが完了したら追加の手順を実行してください。特に以下の点を考慮してください。
- アップグレードの前に、システムが準拠する必要があるセキュリティー標準を定義し、RHEL 10 でのセキュリティーの変更点 を確認します。
-
アップグレードプロセス中、
Leappユーティリティーにより SELinux モードが permissive に設定されます。 -
Leappは、Federal Information Processing Standard (FIPS) 140 モードの RHEL 9.6 以降のシステムから RHEL 9 FIPS モード対応システムへのインプレースアップグレードをサポートしています。FIPS モード は、アップグレードプロセス全体を通じて有効な状態に維持されます。 - アップグレードが完了したら、セキュリティーポリシーを再評価し、再適用します。セキュリティーポリシーの適用と更新の詳細は、セキュリティーポリシーの適用 を参照してください。
ストレージとファイルシステム
バックアップ - アップグレードする前に必ずシステムをバックアップしてください。たとえば、Relax-and-Recover (ReaR) ユーティリティー、LVM スナップショット、RAID 分割、仮想マシンのスナップショットを使用できます。
注記ファイルシステム形式はそのままです。つまり、ファイルシステムには最初に作成されたときと同じ制限があります。
- 暗号化 - ストレージが Clevis TPM 2.0 トークンで設定された LUKS2 形式を使用している場合は、暗号化されたストレージを備えたシステムをアップグレードできます。詳細は、TPM 2.0 ポリシーを使用して LUKS 暗号化ボリュームの手動登録を設定する を参照してください。
Leapp ユーティリティーの主な既知の制限は次のとおりです。
既知の制限 - 現在、
Leappの主な既知の制限は次のとおりです。- イーサネットまたは Infiniband を使用するネットワークベースのマルチパスおよびネットワークストレージは、アップグレードではサポートされていません。これには、FCoE を使用した SAN と FC を使用した SAN からの起動が含まれます。FC を使用した SAN はサポートされていることに注意してください。
- 現在、インプレースアップグレードは、RHEL サブスクリプションに Red Hat Update Infrastructure を使用して Red Hat Subscription Manager (RHSM) を使用しない、残りのパブリッククラウドのオンデマンドインスタンスではサポートされません。
- Ansible Automation Platform がインストールされているシステムでは、インプレースアップグレードはサポートされていません。RHEL 10 で RHEL 9 の Ansible Automation Platform インストールを使用するには、Red Hat ナレッジベースソリューション How do I migrate my Ansible Automation Platform installation from one environment to another? を参照してください。
- Red Hat JBoss Enterprise Application Platform (EAP) は、RHEL 10 へのアップグレードではサポートされていません。アップグレード後に、システムに手動で JBoss EAP をインストールして設定する必要があります。
- Stratis ファイルシステムのアップグレードはサポートされていません。
Red Hat Insights を使用すると、Insights に登録したシステムのうち、どのシステムに RHEL 10 のサポート対象のアップグレードパスが適用されるかを確認できます。Advisor の推奨事項では、RHEL 9 のマイナーバージョンのみが考慮され、システムのアップグレード前の評価は実行されないことに注意してください。Advisor サービスの推奨事項の概要 も参照してください。
第3章 アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
アップグレード後に問題を回避し、システムを RHEL の次のメジャーバージョンにアップグレードできることを確認するには、アップグレード前に必要なすべての準備手順を完了してください。
すべてのシステムで、アップグレードに向けた RHEL 9 システムの準備 で説明されている準備手順を実行する必要があります。さらに、Satellite Server に登録されているシステムでは、アップグレードのための Satellite 登録システムの準備 で説明されている準備手順も実行する必要があります。
3.1. アップグレードに向けた RHEL 9 システムの準備 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Leapp ユーティリティーを使用して RHEL 10 へのインプレースアップグレードを実行する前に必要な手順を説明します。
アップグレードプロセス中に Red Hat Subscription Manager (RHSM) を使用しない場合は、Performing an in-place upgrade without Red Hat Subscription Manager の手順に従ってください。
前提条件
- システムが、アップグレードの計画 に記載されている条件を満たしている。
- システムを以前 RHEL 8 から RHEL 9 にアップグレードした場合は、アップグレード後に必要な手順をすべて完了した。詳細は、「RHEL 8 から RHEL 9 へのアップグレード」ガイドの アップグレード後のタスクの実行 を参照してください。
- オプション: ナレッジベース記事 The best practices and recommendations for performing RHEL Upgrade using Leapp のベストプラクティスを確認した。
- RHSM を使用して、システムが Red Hat コンテンツ配信ネットワーク (CDN) または Red Hat Satellite に正常に登録されている。
- Satellite に登録済みのシステムのみ: アップグレードに向けた Satellite システムの準備 の手順を完了して、システムがアップグレードの要件を満たしていることを確認した。
手順
-
オプション: アップグレードに必要のないシステム以外の OS ファイルシステムをアンマウントし、
/etc/fstabファイルからコメントアウトします。たとえば、システム自体とは関係のないデータファイルのみを含むファイルシステムは、アップグレードに不要です。これにより、アップグレードプロセスに必要な時間が短縮されます。また、アップグレード時にカスタムまたはサードパーティーのアクターによって適切に移行されないサードパーティーアプリケーションに関連する、潜在的な問題を防ぐことができます。 RHSM を使用してアップグレードする場合は、Simple Content Access (SCA) が有効なアカウントにシステムが登録されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切なリポジトリーが有効になっていることを確認します。次のコマンドは、64 ビット Intel アーキテクチャーの Base リポジトリーと AppStream リポジトリーを有効にします。他のアーキテクチャーは、RHEL 9 リポジトリー を参照してください。
subscription-manager repos --enable rhel-9-for-x86_64-baseos-rpms --enable rhel-9-for-x86_64-appstream-rpms
# subscription-manager repos --enable rhel-9-for-x86_64-baseos-rpms --enable rhel-9-for-x86_64-appstream-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記オプション: CodeReady Linux Builder (Optional とも呼ばれます) リポジトリーまたは Supplementary リポジトリーを有効にします。これらのリポジトリーの内容に関する詳細は、パッケージマニフェスト を参照してください。
システムのリリースバージョンを設定します。
subscription-manager release --set 9.6
# subscription-manager release --set 9.6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定したバージョンにパッケージをロックするために
dnf versionlockプラグインを使用している場合は、次のコマンドを実行してロックを解除します。dnf versionlock clear
# dnf versionlock clearCopy to Clipboard Copied! Toggle word wrap Toggle overflow leappおよびleapp-repositoryパッケージが最新であることを確認します。RHEL 9.6: バージョン
0.19.0のleappパッケージとバージョン0.22.0のleapp-repositoryパッケージ。leapp-repositoryパッケージには、leapp-upgrade-el9toel10RPM パッケージが含まれています。注記インターネット非接続のシステムのみ: Red Hat カスタマーポータル から次のパッケージをダウンロードします。
-
leapp -
leapp-deps -
python3-leapp -
leapp-upgrade-el9toel10 -
leapp-upgrade-el9toel10-deps
-
Leappユーティリティーをインストールします。dnf install leapp-upgrade
# dnf install leapp-upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのパッケージを最新の RHEL 9 バージョンに更新して再起動します。
dnf update reboot
# dnf update # rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オプション:
rpmnewファイルとrpmsaveファイルを確認し、修正してから削除します。 設定管理システムを使用する場合は、そのシステムがインプレースアップグレードプロセスに干渉しないことを確認します。
-
設定管理システムに Puppet、Salt、Chef などのクライアント/サーバーアーキテクチャーがある場合は、
leapp preupgradeコマンドを実行する前にシステムを無効にしてください。アップグレード時に問題が発生するのを防ぐために、アップグレードが完了するまで設定管理システムを有効にしないでください。 設定管理システムにエージェントレスアーキテクチャーがある場合は、設定およびデプロイメントファイルを実行しないでください。たとえば、システムに Ansible がある場合は、アップグレード中に Ansible Playbook を実行しないでください。
警告設定管理システムを使用したアップグレード前およびアップグレードプロセスの自動化は、Red Hat ではサポートされていません。詳細は、Using configuration management systems to automate parts of the Leapp pre-upgrade and upgrade process on Red Hat Enterprise Linux を参照してください。
-
設定管理システムに Puppet、Salt、Chef などのクライアント/サーバーアーキテクチャーがある場合は、
-
ISO イメージを使用してアップグレードする場合は、ISO イメージにアップグレード先の OS バージョン (RHEL 10.0 など) が含まれていることを確認します。また、アップグレードプロセス全体を通じて
Leappユーティリティーがイメージにアクセスできるように、イメージが永続的なローカルマウントポイントに保存されていることを確認します。
3.2. アップグレードのための Satellite 登録システムの準備 リンクのコピーリンクがクリップボードにコピーされました!
Satellite に登録されているシステムの RHEL 10 へのインプレースアップグレードを実行する前に、システムを準備する必要があります。この手順は Satellite Server で実行します。
Satellite システムのユーザーは、この手順と アップグレードに向けた RHEL 9 システムの準備 の両方で説明されている準備手順を完了する必要があります。
前提条件
- Satellite Server の管理者権限がある。
- Satellite は、フルサポートまたはメンテナンスサポートがあるバージョンです。詳細は、Red Hat Satellite 製品ライフサイクル および Which RHEL versions and architectures are supported as client systems managed by Red Hat Satellite server? を参照してください。
手順
- RHEL 9 リポジトリーが含まれるサブスクリプションマニフェストを Satellite Server にインポートします。詳細は、該当するバージョンの Red Hat Satellite の「コンテンツの管理」ガイドで「Red Hat サブスクリプションの管理」の章を参照してください。
Satellite Server で必要なすべての RHEL 9 および RHEL 10 リポジトリーを有効にし、アップグレード元およびアップグレード先 OS バージョンの最新の更新と同期します。必要なリポジトリーはコンテンツビューで利用可能であり、関連付けられたアクティベーションキーで有効になっている必要があります。
注記RHEL 10 リポジトリーの場合は、各リポジトリーのアップグレード先の OS バージョン (例: RHEL 10.0) を有効にしてください。RHEL 10 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。
たとえば、Extended Update Support (EUS) サブスクリプションのない Intel アーキテクチャーの場合は、少なくとも次のリポジトリーを有効にします。
Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-appstream-rpms
x86_64 <source_os_version>
Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
rhel-9-for-x86_64-baseos-rpms
x86_64 <source_os_version>
Red Hat Enterprise Linux 10 for x86_64 - AppStream (RPMs)
rhel-10-for-x86_64-appstream-rpms
x86_64 <target_os_version>
Red Hat Enterprise Linux 10 for x86_64 - BaseOS (RPMs)
rhel-10-for-x86_64-baseos-rpms
x86_64 <target_os_version>
<source_os_version> と <target_os_version> は、それぞれアップグレード元の OS バージョンとアップグレード先の OS バージョンに置き換えます (例: 9.6 と 10.0)。
他のアーキテクチャーは、RHEL 9 リポジトリー および RHEL 10 リポジトリー を参照してください。
詳細は、該当するバージョンの Red Hat Satellite の コンテンツの管理 ガイドで コンテンツのインポート の章を参照してください。
必要な RHEL 9 リポジトリーおよび RHEL 10 リポジトリーを含むコンテンツビューにコンテンツホストを割り当てます。
詳細は、該当するバージョンの Red Hat Satellite の コンテンツの管理 ガイドで コンテンツビューの管理 の章を参照してください。
検証
正しい RHEL 9 リポジトリーおよび RHEL 10 リポジトリーが Satellite Server の正しいコンテンツビューに追加されていることを確認します。
- Satellite Web UI で、Content > Lifecycle > Content Views に移動して、コンテンツビューの名前をクリックします。
Repositories タブをクリックし、リポジトリーが期待どおりに表示されることを確認します。
注記以下のコマンドを使用して、リポジトリーがコンテンツビューに追加されていることを確認することもできます。
hammer repository list --search 'content_label ~ rhel-9' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment> hammer repository list --search 'content_label ~ rhel-10' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment>
# hammer repository list --search 'content_label ~ rhel-9' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment> # hammer repository list --search 'content_label ~ rhel-10' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <content_view_name> をコンテンツビューの名前に、<organization> を組織に、<lifecycle_environement> をライフサイクル環境の名前に置き換えます。
コンテンツビューに関連付けられたアクティベーションキーで、正しい RHEL 10 リポジトリーが有効になっていることを確認します。
- Satellite Web UI で、Content > Lifecycle > Activation Keys に移動し、アクティベーションキーの名前をクリックします。
-
Repository Sets タブをクリックし、必要なリポジトリーのステータスが
Enabledであることを確認します。
予想されるすべての RHEL 9 リポジトリーがホストで有効になっていることを確認します。以下に例を示します。
subscription-manager repos --list-enabled | grep "^Repo ID"
# subscription-manager repos --list-enabled | grep "^Repo ID" Repo ID: rhel-9-for-x86_64-baseos-rpms Repo ID: rhel-9-for-x86_64-appstream-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 アップグレード前のレポートの確認 リンクのコピーリンクがクリップボードにコピーされました!
システムのアップグレード可能性を評価するには、leapp preupgrade コマンドでアップグレード前のプロセスを開始します。このフェーズでは、Leapp ユーティリティーがシステムに関するデータを収集し、アップグレードの可能性を評価し、アップグレード前のレポートを生成します。アップグレード前のレポートは、潜在的な問題についてまとめ、推奨される解決策を提案します。このレポートは、アップグレードを進めることが可能かどうかの判断にも役立ちます。
アップグレード前の評価ではシステム設定は変更されませんが、/var/lib/leapp ディレクトリーの無視できないサイズの領域が消費されます。ほとんどの場合、アップグレード前の評価には最大 4 GB の領域が必要ですが、実際のサイズはシステム設定によって異なります。ホストされたファイルシステムに十分な領域がない場合、アップグレード前のレポートに完全な分析結果が表示されない可能性があります。問題を防ぐには、システムの /var/lib/leapp ディレクトリーに十分な領域があることを確認するか、領域の消費がシステムの他の部分に影響を与えないようにディレクトリーを専用のパーティションに移動してください。
レポートでアップグレードの阻害要因が見つからない場合でも、必ずアップグレード前レポート全体を確認してください。アップグレード前のレポートには、アップグレードされたシステムが正しく機能することを確認するために、アップグレード前に完了する推奨アクションが含まれています。
インプレースアップグレードプロセスではなく、RHEL 9 システムの新規インストールを実行する場合も、アップグレード前のレポートを確認すると有用です。
次のいずれかの方法を使用して、アップグレード前の段階でアップグレード可能性を評価できます。
-
生成された
leapp-report.txtファイル内のアップグレード前レポートを確認し、コマンドラインを使用して報告された問題を手動で解決します。 - Web コンソールを使用してレポートを確認し、利用可能な場合は自動修復を適用し、推奨される修復ヒントを使用して残りの問題を修正します。
たとえば、独自のカスタムスクリプトを使用してアップグレード前のレポートを処理し、異なる環境間にある複数のレポートの結果を比較できます。詳細は Red Hat Enterprise Linux のアップグレード前のレポートワークフローの自動化 を参照してください。
アップグレード前のレポートでは、インプレースアップグレードプロセス全体をシミュレートできないため、システムの阻害要因となる問題をすべて特定することはできません。その結果、レポート内のすべての問題を確認して修正した後でも、インプレースアップグレードが終了する可能性があります。たとえば、アップグレード前のレポートでは、壊れたパッケージのダウンロードに関連する問題は検出できません。
4.1. コマンドラインでの RHEL 9 から RHEL 10 へのアップグレード可能性の評価 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、アップグレードする前に、アップグレード前のフェーズで潜在的なアップグレードの問題を特定します。
前提条件
- アップグレードの準備 に記載されている手順が完了している。
制限のない SELinux ロールを使用して root にログインしている。
注記sudoを使用している場合は、各 leapp コマンドを実行するときに-r unconfined_r -t unconfined_tオプションを使用する必要があります。次に例を示します。sudo -r unconfined_r -t unconfined_t leapp preupgrade
$ sudo -r unconfined_r -t unconfined_t leapp preupgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
RHEL 9 システムで、アップグレード前のフェーズを実行します。
leapp preupgrade --target <_target_os_version_>
# leapp preupgrade --target <_target_os_version_>Copy to Clipboard Copied! Toggle word wrap Toggle overflow target_os_version は、アップグレード先の OS バージョン (例:
10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappは サポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。アップグレードに
/etc/yum.repos.d/ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
# leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow repository_id はリポジトリー ID に置き換えます。
-
RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、
--no-rhsmオプションを追加します。 -
Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、
--channel <channel>オプションを追加します。<channel> はチャネル名 (例:eusまたはaus) に置き換えます。 Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、
--enablerepoオプションを使用してデプロイメントを有効にします。以下に例を示します。leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpms
# leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Real-Time Compute の設定 を参照してください。
/var/log/leapp/leapp-report.txtファイル内のレポートを調べて、報告されたすべての問題を手動で解決します。報告された問題の中には、修正の提案が含まれているものもあります。阻害 要因の問題があると、それを解決するまでアップグレードできません。レポートには次のリスク因子レベルが含まれます。
- 高 - システム状態が悪化する可能性が非常に高い
- 中 - システムとアプリケーションの両方に影響を与える可能性がある
- 低 - システムに影響はないが、アプリケーションに影響を与える可能性がある
- Info - システムまたはアプリケーションへの影響がないと考えられる情報です。
特定のシステム設定では、
Leappユーティリティーは手動で回答する必要がある True/False の質問表を生成します。アップグレード前のレポートに Missing required answers in the answer file のメッセージが含まれる場合は、次の手順を実行します。-
/var/log/leapp/answerfileファイルを開き、true または false の質問を確認します。 /var/log/leapp/answerfileファイルを手動で編集し、#記号を削除してファイルの確認行のコメントを解除し、TrueまたはFalseとして回答を確定します。詳細は、トラブルシューティングのヒント を参照してください。注記または、以下のコマンドを実行して、True/False の質問に回答できます。
leapp answer --section <question_section>.<field_name>=<answer>
# leapp answer --section <question_section>.<field_name>=<answer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
- 前の手順を繰り返してアップグレード前レポートを再実行し、すべての重要な問題が解決されたことを確認します。
4.2. Web コンソールを使用した RHEL 9 から RHEL 10 へのアップグレード可能性の評価および自動修復の適用 リンクのコピーリンクがクリップボードにコピーされました!
アップグレード前のアップグレード前フェーズで潜在的な問題と、Web コンソールを使用して自動修復を適用する方法を特定します。Web コンソールの詳細は、RHEL Web コンソールの使用 を参照してください。
前提条件
- アップグレードの準備 に記載されている手順を完了している。
制限のない SELinux ロールを使用して root にログインしている。
注記sudoを使用している場合は、各 leapp コマンドを実行するときに-r unconfined_r -t unconfined_tオプションを使用する必要があります。次に例を示します。sudo -r unconfined_r -t unconfined_t leapp preupgrade
$ sudo -r unconfined_r -t unconfined_t leapp preupgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
cockpit-leappプラグインをインストールします。dnf install cockpit-leapp
# dnf install cockpit-leappCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
rootとして、またはsudoで管理コマンドを入力するパーミッションがあるユーザーとして Web コンソールにログインします。 RHEL 9 システムで、コマンドラインまたは Web コンソールのターミナルからアップグレード前のフェーズを実行します。
leapp preupgrade --target <target_os_version>
# leapp preupgrade --target <target_os_version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow target_os_version は、アップグレード先の OS バージョン (例:
10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappは サポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。アップグレードに
/etc/yum.repos.d/ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
# leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、
--no-rhsmオプションを追加します。 -
Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、
--channel <channel>オプションを追加します。<channel> はチャネル名 (eusまたは `aus` など) に置き換えます。 Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、
--enablerepoオプションを使用してデプロイメントを有効にします。以下に例を示します。leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpms
# leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Real-Time Compute の設定 を参照してください。
Web コンソールで、ナビゲーションメニューから Upgrade Report を選択し、報告されたすべての問題を確認します。阻害 要因の問題があると、それを解決するまでアップグレードできません。問題を詳細に表示するには、行を選択して詳細ペインを開きます。
図4.1 Web コンソールのインプレースアップグレードレポート
レポートには次のリスク因子レベルが含まれます。
- 高 - システム状態が悪化する可能性が非常に高い
- 中 - システムとアプリケーションの両方に影響を与える可能性がある
- 低 - システムに影響はないが、アプリケーションに影響を与える可能性がある
- Info - システムまたはアプリケーションへの影響がないと考えられる情報です。
特定の設定では、
Leappユーティリティーは手動で回答する必要がある True/False の質問表を生成します。アップグレードレポートの 回答ファイルで必須の回答が抜けている 行が含まれている場合は、次の手順を実行します。- 回答ファイルで必須の回答が抜けている 行を選択し、Detail ペインを開きます。デフォルトの回答は修復コマンドの最後に記載されています。
- デフォルトの応答を確定するには、Add to Remediation Plan を選択して修復を後で実行するか、Run Remediation を選択して修復をすぐに実行します。
代わりにデフォルト以外の回答を選択するには、ターミナルで、回答する質問と確認した回答を指定した
leapp answerコマンドを実行します。leapp answer --section <question_section>.<field_name>=<answer>
# leapp answer --section <question_section>.<field_name>=<answer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記/var/log/leapp/answerfileファイルを手動で編集し、#記号を削除してファイルの confirm 行のコメントを解除し、TrueまたはFalseとして回答を確定します。詳細は、トラブルシューティングのヒント を参照してください。
一部の問題には、問題を自動的に解決するために実行できる修復コマンドがあります。修復コマンドは個別に実行することも、修復コマンドでまとめて実行することもできます。
- 単一の修復コマンドを実行するには、問題の Detail ペインを開き、Run Remediation をクリックします。
修復コマンドを修復計画に追加するには、問題の Detail ペインを開き、Add to Remediation Plan をクリックします。
図4.2 詳細ペイン
- 追加されたすべての修復コマンドを含む修復計画を実行するには、レポートの右上隅にある Remediation plan リンクをクリックします。Execute Remediation Plan をクリックして、一覧表示されたすべてのコマンドを実行します。
- レポートを確認し、報告されたすべての問題を解決したら、手順 3 ~ 7 を繰り返してレポートを再実行し、すべての重要な問題が解決されたことを確認します。
第5章 アップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
準備手順を完了し、アップグレード前のレポートで見つかった問題を確認および解決したら、システムでインプレースアップグレードを実行できます。
5.1. RHEL 9 から RHEL 10 へのアップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Leapp ユーティリティーを使用して RHEL 9 から RHEL 10 へのアップグレードを実行するために必要なステップを説明します。
前提条件
- システム全体のバックアップを含め、アップグレードの準備 に記載されている手順を完了した。
- アップグレード前のレポートの確認 に記載されている手順を完了し、報告された問題をすべて解決した。
- アップグレードが失敗しないように、ウイルス対策ソフトウェアを一時的に無効にした。
手順
システム全体のバックアップまたは仮想マシンのスナップショットが存在することを確認してください。これにより、ご利用の環境で、以下の標準の災害復旧手順に従って、システムをアップグレード前と同じ状態に戻せるようになります。次のバックアップオプションを使用できます。
- Relax-and-Recover (ReaR) ユーティリティーを使用して、システムの完全バックアップを作成します。詳細は、ReaR のドキュメント および What is Relax and Recover (ReaR) and how can I use it for disaster recovery? を参照してください。
LVM スナップショット または RAID 分割 を使用して、システムのスナップショットを作成します。仮想マシンをアップグレードする場合は、仮想マシン全体のスナップショットを作成できます。Boom ユーティリティーを使用して、スナップショットとロールバックのブートエントリーを管理することもできます。詳細は、What is BOOM and how to install it? および スナップショットを使用したシステムアップグレードの管理 を参照してください。
注記LVM スナップショットではシステムの完全バックアップが作成されないため、特定のアップグレードの失敗後にシステムを復元できない可能性があります。したがって、ReaR ユーティリティーを使用して完全バックアップを作成する方が安全です。
RHEL 9 システムで、アップグレードプロセスを開始します。
leapp upgrade --target <_target_os_version_>
# leapp upgrade --target <_target_os_version_>Copy to Clipboard Copied! Toggle word wrap Toggle overflow target_os_version は、アップグレード先の OS バージョン (例:
10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappは サポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。アップグレードに
/etc/yum.repos.d/ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。leapp upgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
# leapp upgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、
--no-rhsmオプションを追加します。 -
ISO イメージを使用してアップグレードする場合は、
--no-rhsmおよび--iso <file_path>オプションを追加します。<file_path> は、保存された ISO イメージへのファイルパス (/home/rhel9.isoなど) に置き換えます。 -
Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、
--channel channelオプションを追加します。channel はleapp preupgradeコマンドで使用した値 (例:eusまたはaus) に置き換えます。leapp preupgradeおよびleapp upgradeコマンドの両方で、--channelオプションで同じ値を使用する必要があります。 Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、
--enablerepoオプションを使用してデプロイメントを有効にします。以下に例を示します。leapp upgrade --enablerepo rhel-10-for-x86_64-rt-rpms
# leapp upgrade --enablerepo rhel-10-for-x86_64-rt-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Real-Time Compute の設定 を参照してください。
アップグレードプロセスの開始時に、
Leappは、アップグレード前のレポートの確認 で説明されているアップグレード前のフェーズを再度実行します。-
システムがアップグレード可能な場合、
Leappは必要なデータをダウンロードし、アップグレード用の RPM トランザクションを準備します。 -
システムが信頼性の高いアップグレードの条件を満たしていない場合、
Leappはアップグレードプロセスを終了し、問題の記録と推奨される解決策を/var/log/leapp/leapp-report.txtファイルに出力します。詳細は、トラブルシューティング を参照してください。
-
システムがアップグレード可能な場合、
システムを手動で再起動します。
reboot
# rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow この段階で、システムが RHEL 10 ベースの初期 RAM ディスクイメージ (initramfs) で起動します。
Leappはすべてのパッケージをアップグレードし、自動的に RHEL 10 システムを再起動します。または、
--rebootオプションを指定してleapp upgradeコマンドを実行し、この手動の手順を省略することもできます。障害が発生した場合は、トラブルシューティング の説明に従ってログと既知の問題を調査してください。
- RHEL 10 システムにログインし、アップグレード後の状態の確認 の説明に従ってその状態を確認します。
- アップグレードレポートおよび アップグレード後のタスクの実行 で説明されているすべてのアップグレード後のタスクを実行します。
第6章 アップグレード後の状態の確認 リンクのコピーリンクがクリップボードにコピーされました!
RHEL 10 へのインプレースアップグレードを実行した後、システムが正しい状態にあることを確認します。これにより、システムに影響を与える可能性のある重大なエラーを特定して修正できます。
6.1. RHEL 10 システムのアップグレード後の状態を確認する リンクのコピーリンクがクリップボードにコピーされました!
RHEL 10 へのアップグレードが完了したら、システムが必要な状態にあるかどうかを確認します。
前提条件
- アップグレードの実行 で説明されている手順に従ってシステムがアップグレードされ、RHEL 10 にログインできる。
手順
現在の OS バージョンが RHEL 10 であることを確認します。以下に例を示します。
cat /etc/redhat-release Red Hat Enterprise Linux release 10.0 (Coughlan)
# cat /etc/redhat-release Red Hat Enterprise Linux release 10.0 (Coughlan)Copy to Clipboard Copied! Toggle word wrap Toggle overflow オペレーティングシステムのカーネルバージョンを確認します。以下に例を示します。
uname -r
# uname -r 6.12.0-55.2.1.el10_0.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow .el10は重要です。このバージョンは 6.12.0 より前であってはならないことに注意してください。Red Hat Subscription Manager を使用している場合:
正しい製品がインストールされていることを確認します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレード直後に、リリースバージョンが予想されるアップグレード先の OS バージョンに設定されていることを確認します。以下に例を示します。
subscription-manager release
# subscription-manager release Release: 10.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- ネットワークサービスが機能していることを確認します。たとえば、SSH を使用してサーバーに接続します。
- アプリケーションのアップグレード後のステータスを確認します。場合によっては、移行や設定を手動で変更しないといけない場合があります。たとえば、データベースを移行するには、データベースサーバーの設定および使用 の手順に従います。
第7章 RHEL 10 システムにおけるアップグレード後のタスクの実行 リンクのコピーリンクがクリップボードにコピーされました!
インプレースアップグレード後、不要なパッケージを削除して RHEL 10 システムをクリーンアップし、互換性のないリポジトリーを無効にして、レスキューカーネルと初期 RAM ディスクを更新します。
7.1. アップグレード後のタスクの実行 リンクのコピーリンクがクリップボードにコピーされました!
RHEL 10 へのアップグレードを実行した後、次の推奨される主要なタスクを完了します。
前提条件
- アップグレードの実行 で説明されている手順に従ってシステムがアップグレードされ、RHEL 10 にログインできる。
- アップグレード後の状態の確認 で説明されている手順に従って、インプレースアップグレードのステータスを確認した。
手順
/etc/dnf/dnf.conf設定ファイルの除外リストから残りのLeappパッケージを削除します。これには、アップグレードエクステンション開発用のツールであるsnactorパッケージが含まれます。インプレースアップグレード中に、LeappユーティリティーでインストールされたLeappパッケージが exclude リストに自動的に追加され、重要なファイルが削除または更新されないようにします。インプレースアップグレード後、システムから削除する前に、これらのLeappパッケージを exclude リストから削除する必要があります。-
exclude リストからパッケージを手動で削除するには、
/etc/dnf/dnf.conf設定ファイルを編集し、除外リストから必要なLeappパッケージを削除します。 exclude リストからすべてのパッケージを削除するには、次のコマンドを実行します。
dnf config-manager --save --setopt exclude=''
# dnf config-manager --save --setopt exclude=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
exclude リストからパッケージを手動で削除するには、
Leappパッケージを含め、残っている RHEL 9 パッケージを削除します。残っている RHEL 9 パッケージを見つけます。
rpm -qa | grep -e '\.el[789]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
# rpm -qa | grep -e '\.el[789]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sortCopy to Clipboard Copied! Toggle word wrap Toggle overflow 残っている RHEL 9 パッケージを RHEL 10 システムから削除します。RPM の依存関係が維持されるようにするには、このアクションを実行するときに
DNFを使用します。受け入れる前にトランザクションを確認して、パッケージが誤って削除されないようにしてください。以下に例を示します。
dnf remove $(rpm -qa | grep \.el[789] | grep -vE 'gpg-pubkey|libmodulemd|katello-ca-consumer')
# dnf remove $(rpm -qa | grep \.el[789] | grep -vE 'gpg-pubkey|libmodulemd|katello-ca-consumer')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 残りの
Leapp依存関係パッケージを削除します。dnf remove leapp-deps-el10 leapp-repository-deps-el10
# dnf remove leapp-deps-el10 leapp-repository-deps-el10Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オプション: 残っているすべてのアップグレード関連データをシステムから削除します。
rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leapp
# rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leappCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このデータを削除すると、Red Hat サポートによるアップグレード後の問題の調査とトラブルシューティングが制限される可能性があります。
RHEL 10 と互換性のないパッケージを含む DNF リポジトリーを無効にします。RHSM によって管理されるリポジトリーは自動的に処理されます。これらのリポジトリーを無効にするには、以下を実行します。
dnf config-manager --set-disabled <repository_id>
# dnf config-manager --set-disabled <repository_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow repository_id はリポジトリー ID に置き換えます。
古いレスキューカーネルと初期 RAM ディスクを現在のカーネルとディスクに置き換えます。
既存のレスキューカーネルと初期 RAM ディスクを削除します。
rm /boot/vmlinuz-*rescue* /boot/initramfs-*rescue*
# rm /boot/vmlinuz-*rescue* /boot/initramfs-*rescue*Copy to Clipboard Copied! Toggle word wrap Toggle overflow レスキューカーネルと関連する初期 RAM ディスクを再インストールします。
/usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"
# /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムが IBM Z アーキテクチャーを使用している場合は、
ziplブートローダーを更新します。zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow
.オプション: 既存の設定ファイルを確認します。
-
rpmnew、rpmsave、leappsaveファイルを確認し、修正してから削除します。rpmsaveとleappsaveは同等であり、同様に処理できることに注意してください。詳細は、What are rpmnew & rpmsave files? を参照してください。 -
有効ではなくなった RHEL 9 DNF モジュールの設定ファイルを
/etc/dnf/modules.d/ディレクトリーから削除します。関連する DNF モジュールが存在しない場合、このファイルはシステムに影響を与えないことに注意してください。
-
- セキュリティーポリシーを再評価して再適用します。具体的には、SELinux モードを Enforcing に変更します。詳細は、セキュリティーポリシーの適用 を参照してください。
検証
以前に削除したレスキューカーネルとレスキュー初期 RAM ディスクファイルが現在のカーネル用に作成されていることを確認します。
ls /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* lsinitrd /boot/initramfs-*rescue*.img | grep -qm1 "$(uname -r)/kernel/" && echo "OK" || echo "FAIL"
# ls /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* # lsinitrd /boot/initramfs-*rescue*.img | grep -qm1 "$(uname -r)/kernel/" && echo "OK" || echo "FAIL"Copy to Clipboard Copied! Toggle word wrap Toggle overflow レスキューブートエントリーが既存のレスキューファイルを参照していることを確認します。grubby の出力を参照してください。
grubby --info /boot/vmlinuz-*rescue*
# grubby --info /boot/vmlinuz-*rescue*Copy to Clipboard Copied! Toggle word wrap Toggle overflow grubby の出力を確認し、RHEL 9 ブートエントリーが設定されていないことを確認します。
grubby --info ALL
# grubby --info ALLCopy to Clipboard Copied! Toggle word wrap Toggle overflow /boot/loader/entries ファイルに以前の RHEL に関連するファイルが存在しないことを確認します。
grep -r ".el9" "/boot/loader/entries/" || echo "Everything seems ok."
# grep -r ".el9" "/boot/loader/entries/" || echo "Everything seems ok."Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第8章 セキュリティーポリシーの適用 リンクのコピーリンクがクリップボードにコピーされました!
インプレースアップグレードプロセス中に、SELinux ポリシーを Permissive モードに切り替える必要があります。さらに、セキュリティープロファイルには、メジャーリリース間の変更が含まれる可能性があります。システムのセキュリティーを復元するには、SELinux を再度強制モードに切り替え、システム全体の暗号化ポリシーを確認します。特定のセキュリティープロファイルに準拠するようにシステムを修正することもできます。また、一部のセキュリティー関連コンポーネントでは、正しくアップグレードするために更新前の手順が必要です。
8.1. SELinux モードの Enforcing への変更 リンクのコピーリンクがクリップボードにコピーされました!
Leapp ユーティリティーは、インプレースアップグレードプロセス時に SELinux モードを Permissive に設定します。システムが正常にアップグレードされたら、手動で SELinux モードを Enforcing に変更する必要があります。
前提条件
- システムをアップグレードし、アップグレード後の状態の確認 で説明されている検証を実行した。
手順
ausearchユーティリティーなどを使用して、SELinux 拒否がないことを確認します。ausearch -m AVC,USER_AVC -ts boot
# ausearch -m AVC,USER_AVC -ts bootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前述のステップは、最も一般的な環境だけを対象としたものです。考えられるすべての SELinux 拒否を確認するには、「SELinux の使用」の SELinux 拒否の特定 セクションを参照してください。このセクションでは、すべての手順が説明されています。
任意のテキストエディターで
/etc/selinux/configファイルを開きます。以下に例を示します。vi /etc/selinux/config
# vi /etc/selinux/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow SELINUX=enforcingオプションを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を保存して、システムを再起動します。
reboot
# rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
システムの再起動後に、
getenforceコマンドがEnforcingを返すことを確認します。getenforce
$ getenforce EnforcingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. システム全体の暗号化ポリシー リンクのコピーリンクがクリップボードにコピーされました!
システム全体の暗号化ポリシーは、コア暗号化サブシステムを設定するシステムコンポーネントで、TLS、IPSec、SSH、DNSSec、および Kerberos の各プロトコルに対応します。
インプレースアップグレードプロセスでは、RHEL 9 で使用していた暗号化ポリシーが保持されます。たとえば、RHEL 9 で DEFAULT 暗号化ポリシーを使用していた場合、RHEL 10 にアップグレードしたシステムでも DEFAULT が使用されます。事前定義されたポリシーの特定の設定は異なることに注意してください。RHEL 10 の暗号化ポリシーには、より厳格でセキュアなデフォルト値が含まれています。詳細は、セキュリティーの強化 の システム全体の暗号化ポリシーの使用 セクションを参照してください。カスタム暗号化ポリシーは、インプレースアップグレード全体で保持されます。
現在のシステム全体の暗号化ポリシーを表示または変更するには、update-crypto-policies ツールを使用します。
update-crypto-policies --show
$ update-crypto-policies --show
DEFAULT
たとえば、以下のコマンドは、システム全体の暗号化ポリシーレベルを FUTURE に切り替えます。これで、近い将来の攻撃に耐えられるはずです。
update-crypto-policies --set FUTURE
# update-crypto-policies --set FUTURE
Setting system policy to FUTURE
システム全体の暗号化ポリシーをカスタマイズすることもできます。詳細は、サブポリシーを使用したシステム全体の暗号化ポリシーのカスタマイズ および システム全体のカスタム暗号化ポリシーの作成および設定 を参照してください。カスタム暗号化ポリシーを使用する場合は、暗号化とコンピューターハードウェアの進歩によってもたらされる脅威を軽減するために、ポリシーを確認および更新することを検討してください。
8.3. セキュリティーベースラインに従ってハードニングされたシステムのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
RHEL 10 へのアップグレードを正常に実行した後、システムを完全にハードニングするには、OpenSCAP スイートによって提供される自動修復を使用できます。OpenSCAP 修復は、PCI-DSS、OSPP、または ACSC Essential Eight などのセキュリティーベースラインに、お使いのシステムを合わせます。設定コンプライアンスに関する推奨事項は、セキュリティーオファリングが進化したため、RHEL のメジャーバージョン間で異なります。
ハードニング済みの RHEL 9 システムをアップグレードする場合、Leapp ツールには、完全なハードニングを維持するための直接的な手段が ありません。コンポーネント設定の変更によっては、アップグレード中にシステムが RHEL 10 の推奨設定から逸脱する可能性があります。
RHEL 9 と RHEL 10 のスキャンに同じ SCAP コンテンツを使用することはできません。システムのコンプライアンスが Red Hat Satellite や Red Hat Insights などのツールで管理されている場合は、管理プラットフォームを更新します。
自動修復の代わりに、OpenSCAP で生成されたレポートに従って、手動で変更を行うことができます。コンプライアンスレポートの生成は、設定コンプライアンスを確保するためのシステムのスキャン を参照してください。
自動修復は、デフォルト設定の RHEL システムで対応しています。アップグレード後にシステム設定が変更されたため、自動修復を実行しても、システムが必要なセキュリティープロファイルに完全に準拠しない場合があります。一部の要件を手動で修正する必要がある場合があります。
次の手順の例では、PCI-DSS プロファイルに従ってシステム設定をハードニングします。
前提条件
-
scap-security-guideパッケージが RHEL 10 システムにインストールされている。
手順
適切なセキュリティーコンプライアンスデータストリームの
.xmlファイルを見つけます。ls /usr/share/xml/scap/ssg/content/
$ ls /usr/share/xml/scap/ssg/content/ ... ssg-rhel10-ds.xml ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、設定コンプライアンスのプロファイルの表示 セクションを参照してください。
適切なデータストリームから選択したプロファイルに従って、システムを修正します。
oscap xccdf eval --profile <profile_ID> --remediate /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml
# oscap xccdf eval --profile <profile_ID> --remediate /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow <profile_ID>は、システムをハードニングする際に準拠する必要があるプロファイルの ID に置き換えます。RHEL 10 でサポートされているプロファイルの完全なリストは、RHEL 10 でサポートされている SCAP Security Guide プロファイル を参照してください。警告--remediateオプションを有効にしてシステム評価を実行した場合、慎重に行わないと、システムが機能不全に陥る場合があります。Red Hat は、セキュリティーハードニング関連の修復によって行われた変更を自動的に元に戻す方法は提供していません。修復は、デフォルト設定の RHEL システムで対応しています。インストール後にシステムが変更した場合は、修復を実行しても、必要なセキュリティープロファイルに準拠しない場合があります。システムを再起動します。
reboot
# rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
システムがプロファイルに準拠していることを確認し、結果を HTML ファイルに保存します。
oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml
$ oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4. USBGuard ポリシーの確認 リンクのコピーリンクがクリップボードにコピーされました!
USBGuard ソフトウェアフレームワークを使用すると、カーネルの USB デバイス認証機能に基づいて、許可されているデバイスおよび禁止されているデバイスのリストを使用して、侵入型 USB デバイスからシステムを保護できます。
前提条件
- アップグレードの前に、シナリオの要件を反映した USB デバイス用のルールセットを作成している。
-
usbguardサービスが RHEL 10 システムにインストールされ、実行されている。
手順
-
/etc/usbguardディレクトリーに保存されている *.conf ファイルをバックアップします。 -
usbguard generate-policyを使用して、新しいポリシーファイルを生成します。このコマンドは、現在存在する USB デバイスのルールのみを生成することに注意してください。 新たに生成されたルールを、以前のポリシーのルールと比較します。
- 新しいポリシーを生成したときに存在したデバイスのルールと、同じデバイスのアップグレード前のルールに違いがあることが確認された場合は、後で挿入される可能性のあるデバイスも、元のルールを相応に修正する必要があります。
- 新しく生成されたルールとアップグレード前のルールに違いがない場合は、RHEL 9 で作成されたポリシーファイルを変更せずに使用できます。
8.5. fapolicyd データベースの更新 リンクのコピーリンクがクリップボードにコピーされました!
fapolicyd ソフトウェアフレームワークは、ユーザー定義のポリシーに基づいてアプリケーションの実行を制御します。
まれに、fapolicyd 信頼データベース形式で問題が発生する場合があります。データベースを再構築するには、以下を実行します。
サービスを停止します。
systemctl stop fapolicyd
# systemctl stop fapolicydCopy to Clipboard Copied! Toggle word wrap Toggle overflow データベースを削除します。
fapolicyd-cli --delete-db
# fapolicyd-cli --delete-dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスを起動します。
systemctl start fapolicyd
# systemctl start fapolicydCopy to Clipboard Copied! Toggle word wrap Toggle overflow
カスタム信頼ファイルを信頼データベースに追加した場合は、fapolicyd-cli -f update <FILE> コマンドを使用して個別に更新するか、fapolicyd-cli -f update を使用してまとめて更新します。変更を適用するには、fapolicyd-cli –update コマンドを使用するか、fapolicyd サービスを再起動します。
また、カスタムバイナリーには、新しい RHEL バージョン用の再構築が必要になる場合があります。このような更新は、fapolicyd データベースを更新する前に行ってください。
第9章 トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
RHEL 9 から RHEL 10 へのアップグレードのトラブルシューティングを行う際には、次のヒントを参照してください。
9.1. トラブルシューティングのリソース リンクのコピーリンクがクリップボードにコピーされました!
以下のトラブルシューティングリソースを参照してください。
コンソールの出力
デフォルトでは、エラーおよび重大のログレベルのメッセージのみが Leapp ユーティリティーによってコンソール出力に出力されます。ログレベルを変更するには、leapp upgrade コマンドで --verbose または --debug オプションを使用します。
-
verbose モードでは、情報、警告、エラー、および重大なメッセージが
Leappにより出力されます。 -
debug モードでは、デバッグ、情報、警告、エラー、および重大なメッセージが
Leappにより出力されます。
ログ
-
/var/log/leapp/leapp-upgrade.logファイルには、initramfs フェーズで見つかった問題が記載されます。 -
/var/log/leapp/dnf-debugdata/ディレクトリーには、トランザクションのデバッグデータが含まれます。このディレクトリーは、leapp upgradeコマンドを--debugオプション付きで実行した場合にのみ存在します。 -
/var/log/leapp/answerfileには、Leappが回答を求めている質問が記載されます。 -
journalctlユーティリティーでは、すべてのログが出力されます。
レポート
-
/var/log/leapp/leapp-report.txtファイルには、アップグレード前のフェーズで見つかった問題が記載されます。レポートは Web コンソールでも利用できます。Web コンソールを使用したアップグレードの可能性の評価および自動修復の適用 を参照してください。 -
/var/log/leapp/leapp-report.jsonファイルには、マシンが判読可能な形式でアップグレード前のフェーズで見つかった問題が記載され、カスタムスクリプトを使用してレポートを処理することができます。詳細は Red Hat Enterprise Linux のアップグレード前のレポートワークフローの自動化 を参照してください。
9.2. トラブルシューティングのヒント リンクのコピーリンクがクリップボードにコピーされました!
以下のトラブルシューティングのヒントを参照してください。
アップグレード前のフェーズ
- システムが アップグレードの計画 に記載されている条件をすべて満たしていることを確認してください。
-
アップグレードの準備 で説明されているすべての手順を実行してください。たとえば、カーネルが使用する接頭辞 (
eth) に基づく名前を持つネットワークインターフェイスカード (NIC) を、システムで複数使用していないことを確認します。 /var/log/leapp/answerfileファイルで、Leappに必要なすべての質問に回答してください。回答がないと、Leappによってアップグレードが拒否されます。以下に例を示します。- Are there no VDO devices on the system? (システムに VDO デバイスはありませんか?)
-
アップグレード前のレポートで特定されたすべての問題は、
/var/log/leapp/leapp-report.txtにあることを確認してください。これを行うには、Web コンソールを使用したアップグレードの可能性の評価および自動修復の適用 で説明されているように、Web コンソールを使用することもできます。
例9.1 Leapp answerfile
以下は、編集されていない /var/log/leapp/answerfile ファイルの例です。
Label フィールドは、回答が必要な質問を指定します。この例では、質問は Are all VDO devices, if any, successfully converted to LVM management? です。
この質問に回答するには、最後の行をコメント解除し、回答として True または False を入力します。この例では、選択した回答は True です。
[check_vdo] ... # Available choices: True/False # Unanswered question. Uncomment the following line with your answer confirm = True
[check_vdo]
...
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
confirm = True
ダウンロードフェーズ
RPM パッケージのダウンロード中に問題が発生した場合は、
/var/log/leapp/dnf-debugdata/ディレクトリーにあるトランザクションデバッグデータを調べてください。注記/var/log/leapp/dnf-debugdata/ディレクトリーは空であるか、トランザクションデバッグデータが生成されていない場合は存在しません。これは、必要なリポジトリーが利用できない場合に発生する可能性があります。
Initramfs フェーズ
このフェーズでは、潜在的な失敗により Dracut シェルにリダイレクトされます。ジャーナルを確認してください。
journalctl
# journalctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、
rebootコマンドを使用して Dracut シェルからシステムを再起動し、/var/log/leapp/leapp-upgrade.logファイルを確認します。
アップグレード後のフェーズ
- システムが正常にアップグレードされたように見えても、古い RHEL 9 カーネルで起動した場合は、システムを再起動して、GRUB のデフォルトエントリーのカーネルバージョンを確認します。
- アップグレード後の状態の確認 で推奨されている手順を必ず行ってください。
SELinux を Enforcing モードに切り替えてから、アプリケーションやサービスが停止したり、適切に動作しなかったりした場合は、ausearch、journalctl、dmesg のいずれかのユーティリティーで、サービスの拒否を検索します。
ausearch -m AVC,USER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400
# ausearch -m AVC,USER_AVC -ts boot # journalctl -t setroubleshoot # dmesg | grep -i -e selinux -e type=1400Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最も一般的な問題は、ラベルが間違っていることにより発生します。詳細は、SELinux 関連の問題のトラブルシューティング を参照してください。
9.3. RHEL 9 から RHEL 10 へのアップグレードに関する既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
以下は、アップグレード時に発生する可能性がある既知の問題です。
-
RHEL 9 システムで、Red Hat によって提供されているが RHEL 10 では利用できないデバイスドライバーが使用されている場合、
Leappによってアップグレードが拒否されます。ただし、RHEL 9 システムが、Leappの/etc/leapp/files/device_driver_deprecation_data.jsonファイルにデータがないサードパーティー製のデバイスドライバーを使用している場合、Leappはそのようなドライバーを検出せず、アップグレードを続行します。その結果、アップグレード後にシステムが起動しなくなる可能性があります。 お使いのシステムに (Red Hat が署名していない) サードパーティーパッケージの名前が、Red Hat が提供するパッケージの名前と同じ場合は、インプレースアップグレードに失敗します。この問題を回避するには、アップグレードする前に、以下のいずれかのオプションを選択します。
- サードパーティーパッケージの削除
- サードパーティーパッケージを、Red Hat が提供するパッケージに置き換えます。
- インプレースアップグレードは、ソフトウェア Redundant Array of Independent Disks (RAID) を備えたシステムでは失敗する可能性があります。(BZ#1957192)
Leappユーティリティーは、通常、インプレースアップグレード時に、RHEL 9 と RHEL 10 の間でネットワークインターフェイスコントローラー (NIC) 名を保持します。ただし、ネットワークボンディングを使用するシステムなど、一部のシステムでは、RHEL 9 と RHEL 10 の間で NIC 名を更新する必要があります。これらのシステムで、以下の手順を実行します。-
Leapp ユーティリティーが元の RHEL 9 の NIC 名を誤って保持しないように、
LEAPP_NO_NETWORK_RENAMING=1環境変数を設定します。 - インプレースアップグレードを実行します。
ネットワークが正常に機能していることを確認します。必要に応じて、ネットワーク設定を手動で更新します。
(BZ#1919382)
-
Leapp ユーティリティーが元の RHEL 9 の NIC 名を誤って保持しないように、
/etc/fstabファイルで定義されているマウントされたファイルシステムのいずれかにshared伝播フラグが設定されていない場合、アップグレードが失敗する可能性があります。この問題を回避するには、これらのファイルシステムを再マウントして shared として設定します。mount -o remount --make-shared <mountpoint>
# mount -o remount --make-shared <mountpoint>Copy to Clipboard Copied! Toggle word wrap Toggle overflow mountpoint は、各ファイルシステムのマウントポイントに置き換えます。
詳細は、Red Hat ナレッジベースソリューション Leapp "Can not load RPM file" during the DNF transaction check を参照してください。(RHEL-23449)
-
HTTP プロキシーを使用する場合は、Red Hat Subscription Manager がこのようなプロキシーを使用するように設定するか、
--proxy <hostname>オプションでsubscription-managerコマンドを実行する必要があります。そうでない場合は、subscription-managerコマンドの実行に失敗します。設定変更の代わりに--proxyオプションを使用する場合は、Leappがプロキシーを検出できないため、アップグレードプロセスが失敗します。この問題の発生を防ぐには、rhsm.confファイルを手動で編集します。詳細は、Red Hat ナレッジベースソリューション How to configure HTTP Proxy for Red Hat Subscription Management を参照してください。(BZ#1689294) -
RHEL 9 コンテンツにアクセスするためにプロキシーを必要とするシステムの場合、通常、
/etc/dnf/dnf.conf設定ファイルで DNF によるプロキシーの使用を設定する必要があります。現在の DNF 設定がターゲットシステムの DNF バージョンと互換性がない場合は、/etc/leapp/files/dnf.conf設定ファイルで有効なターゲット設定を指定します。詳細は、Red Hat ナレッジベースソリューション How does Leapp work with a proxy? を参照してください。
-
非推奨の
/etc/ssl/certs/ca-certificates.crtファイルをルート証明書として使用するように設定されている場合、Kerberos クライアントがアップグレード後に動作しなくなる可能性があります。設定を修正するには、代わりに/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pemファイルを使用します。(RHEL-65265) - IBM Z マシンで、システムがマルチパス LVM SCSI LUN 上にある場合、アップグレードが失敗する可能性があります。(RHEL-76159)
9.4. サポートの利用 リンクのコピーリンクがクリップボードにコピーされました!
サポートケースを作成するには、製品で RHEL 9 を選択し、システムの sosreport を添付します。
-
システムで
sosreportを生成するには、次のコマンドを実行します。
sosreport
# sosreport
ケース ID は空のままにできます。
sosreport の生成に関する詳細は、Red Hat ナレッジベースソリューション What is an sosreport and how to create one in Red Hat Enterprise Linux? を参照してください。
カスタマーポータルでサポートケースを作成して管理する方法の詳細は、Red Hat ナレッジベースソリューション How do I open and manage a support case on the Customer Portal? を参照してください。
付録A RHEL 9 リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
システムが、Red Hat Subscription Manager (RHSM) を使用して Red Hat コンテンツ配信ネットワーク (CDN) に登録されている場合は、インプレースアップグレード時に RHEL 9 リポジトリーが自動的に有効になります。ただし、RHSM を使用して Red Hat Satellite に登録したシステムでは、アップグレード前のレポートを実行する前に、RHEL 9 と RHEL 10 の両方のリポジトリーを手動で有効にして同期する必要があります。
各リポジトリーのアップグレード元の OS バージョン (例: 9.6) を必ず有効にしてください。RHEL 9 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。
アップグレード時に Red Hat Satellite を使用する予定の場合は、Satellite Web UI または hammer repository-set enable コマンドおよび hammer product synchronize コマンドのいずれかを使用して、アップグレード前に少なくとも次の RHEL 9 リポジトリーを有効にして同期する必要があります。
| アーキテクチャー | リポジトリー | リポジトリー ID | リポジトリー名 | リリースバージョン |
|---|---|---|---|---|
| 64 ビット Intel および AMD | BaseOS |
| Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs) | x86_64 <source_os_version> |
| AppStream |
| Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs) | x86_64 <source_os_version> | |
| 64-bit ARM | BaseOS |
| Red Hat Enterprise Linux 9 for ARM 64 - BaseOS (RPMs) | aarch64 <source_os_version> |
| AppStream |
| Red Hat Enterprise Linux 9 for ARM 64 - AppStream (RPMs) | aarch64 <source_os_version> | |
| IBM Power (リトルエンディアン) | BaseOS |
| Red Hat Enterprise Linux 9 for Power, little endian - BaseOS (RPMs) | ppc64le <source_os_version> |
| AppStream |
| Red Hat Enterprise Linux 9 for Power, little endian - AppStream (RPMs) | ppc64le <source_os_version> | |
| IBM Z | BaseOS |
| Red Hat Enterprise Linux 9 for IBM z Systems - BaseOS (RPMs) | s390x <source_os_version> |
| AppStream |
| Red Hat Enterprise Linux 9 for IBM z Systems - AppStream (RPMs) | s390x <source_os_version> |
<source_os_version> は、アップグレード元の OS バージョン (例 : 9.6) に置き換えます。
付録B RHEL 10 リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
システムが Red Hat Subscription Manager (RHSM) を使用して Red Hat Content Delivery Network (CDN) に登録されている場合、インプレースアップグレード中に RHEL 10 リポジトリーが自動的に有効になります。ただし、RHSM を使用して Red Hat Satellite に登録したシステムでは、アップグレード前のレポートを実行する前に、RHEL 9 と RHEL 10 の両方のリポジトリーを手動で有効にして同期する必要があります。
各リポジトリーのアップグレード先の OS バージョン (例: 10.0) を必ず有効にしてください。RHEL 10 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。
アップグレード時に Red Hat Satellite を使用する予定の場合は、Satellite Web UI または hammer repository-set enable コマンドおよび hammer product synchronize コマンドのいずれかを使用して、アップグレード前に少なくとも次の RHEL 10 リポジトリーを有効にして同期する必要があります。
| アーキテクチャー | リポジトリー | リポジトリー ID | リポジトリー名 | リリースバージョン |
|---|---|---|---|---|
| 64 ビット Intel および AMD | BaseOS |
| Red Hat Enterprise Linux 10 for x86_64 - BaseOS (RPMs) | x86_64 <target_os_version> |
| AppStream |
| Red Hat Enterprise Linux 10 for x86_64 - AppStream (RPMs) | x86_64 <target_os_version> | |
| 64-bit ARM | BaseOS |
| Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs) | aarch64 <target_os_version> |
| AppStream |
| Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs) | aarch64 <target_os_version> | |
| IBM Power (リトルエンディアン) | BaseOS |
| Red Hat Enterprise Linux 10 for Power, little endian - BaseOS (RPMs) | ppc64le <target_os_version> |
| AppStream |
| Red Hat Enterprise Linux 10 for Power, little endian - AppStream (RPMs) | ppc64le <target_os_version> | |
| IBM Z | BaseOS |
| Red Hat Enterprise Linux 10 for IBM z Systems - BaseOS (RPMs) | s390x <target_os_version> |
| AppStream |
| Red Hat Enterprise Linux 10 for IBM z Systems - AppStream (RPMs) | s390x <target_os_version> |
<target_os_version> は、アップグレード先の OS バージョン (例 : 10.0) に置き換えます。