5 Oracle Linuxのアップグレードのトラブルシューティング
この章では、トラブルシューティング情報を提供し、アップグレード・プロセスに影響する可能性のある既知の問題について説明します。
トラブルシューティングのためのツール
次のオプションを使用して、アップグレード前のレポートの生成時または実際のアップグレードの実行時に、さらに出力を生成します。
-
--verbose
は、警告、エラー・メッセージおよびその他の重要な情報を表示します。 -
--debug
は、--verbose
オプションと同じ出力に加えてデバッグ情報を追加します。
トラブルシューティング情報を取得するために、次のリソースとツールを使用できます。
-
/var/log/leapp/leapp-report.txt
-
/var/log/leapp/leapp-upgrade.log
-
/var/log/leapp/dnf-debugdata/
: デバッグ情報のディレクトリ。なお、このディレクトリは、preupgradeまたはupgradeコマンドの発行時に--debug
オプションを使用した場合にのみ作成されます。 -
journalctlコマンド
既知の問題
Oracle Linux 7システムをOracle Linux 8にアップグレードする際に発生する可能性がある既知の問題を次に示します。
アップグレードの問題
-
オプションのResilient StorageグループがLeappでサポートされていない
Leappでは、オプションのResilient Storageグループはサポートされていません。そのグループの特定のパッケージがシステムに存在すると、leappのアップグレードが完了しなくなる可能性があります。
たとえば、Resilient Storageグループには
lvm2-cluster
パッケージが含まれています。Oracle Linux 7インストールでは、オプションで、このパッケージをインフラストラクチャ・サーバーおよびファイル・プロファイル、またはプリント・サーバー・プロファイルの一部として追加できます。ただし、このパッケージは阻害要因であり、Leappのアップグレードが失敗する原因となります。バグID 33573562
-
インストール対象としてマークされている不足パッケージがLeappによってレポートされることがある
/var/log/leapp-preupgrade.log
または/var/log/leapp-upgrade.log
ファイルで、次のような警告がレポートされることがあります。Warning: Packages marked by Leapp for install not found in repositories metadata: rpcgen python3-pyxattr libnsl2-devel rpcsvc-proto-devel
これらのパッケージは、開発者リポジトリである
Oracle Linux8 Codeready Builder
リポジトリ内にあり、デフォルトでは無効になっています。システムでこれらのパッケージが必要な場合は、アップグレード前またはアップグレード・フェーズの間に、
--enablerepo ol8_codeready_builder
オプションを適切なLeappコマンドに追加します。次に例を示します。sudo leapp upgrade --oraclelinux --enablerepo ol8_codeready_builder
Leappによるアップグレードの間に有効になったリポジトリが、アップグレード完了後もOracle Linux 8システム上で有効なままになります。
または、アップグレードの完了後、dnfコマンドを使用して、インストールに必要なパッケージを手動でインストールできます。
バグID 32827043
-
MySQL関連の
*.el7
パッケージがアップグレード後も残ることがあるOracle Cloud Infrastructureインスタンスでは、既存のMySQLパッケージが、アップグレード完了後も残ることがあります。これらの存在を確認するには、次のコマンドを使用します。
rpm -qa | grep el7 | grep -v leapp | grep -v kernel
mysql-community-client-plugins-8.0.25-1.el7.x86_64
これらのパッケージが正しく更新されるようにするには、アップグレードの実行時に
ol8_MySQL80
リポジトリも有効にします。sudo leapp upgrade --oci --enablerepo ol8_mysql80
-
一部の
el7
パッケージがアップグレードされないことがある前の項目で示したのと同じ、MySQL関連の
*.el7
パッケージを検出するrpm -qaコマンド構文で、システム上のアップグレードされなかったその他の*el7
パッケージも一覧表示されることがあります。開発者リポジトリなど、Leappでサポートされていないリポジトリからインストールされたパッケージは、アップグレードされない可能性があります。そのようなパッケージの場合、次を実行します。-
https://yum.oracle.comにアクセスして、必要なパッケージが含まれているOracle Linux 8リポジトリを確認します。
-
アップグレードが完了したら、それらのOracle Linux 8リポジトリからそのパッケージを手動でインストールします。
-
必要なすべてのパッケージがインストールされたら、残っている
el7
パッケージをシステムから削除します。
バグID 32878386
-
-
(aarch64)アップグレード・ログでvmdモジュール関連のエラーがレポートされることがある
aarch64システムでのアップグレードの完了後に、Leappのアップグレード・ログで次のメッセージがレポートされることがあります。
dracut-install: Failed to find module 'vmd'
VMDモジュールはArmアーキテクチャには適用されないため、このエラー・メッセージは無視してかまいません。
バグID 34172552
セキュリティと認証の問題
-
Oracle Linux 8でTCPラッパーが使用されない
TCPラッパーは、Oracle Linux 8では使用できません。TCPラッパーを使用して、
/etc/hosts.deny
ファイルと/etc/hosts.allow
ファイルを介してOracle Linux 7システムでのネットワーク・トラフィックを制御している場合は、アップグレード後に、Oracle Linux 8で同じ制御を実装するための適切なファイアウォール・ルールを作成する必要があります。ファイアウォール・ルールの実装の詳細は、Oracle Linux 8 ファイアウォールの構成を参照してください。
-
Oracle Linux 7の認証構成がアップグレード後に変換されていない
Leappでは、非推奨のauthconfigユーティリティを使用するOracle Linux 7認証構成は、対応するOracle Linux 8認証(authselectコマンドを使用する)に変換されません。アップグレード後に、Oracle Linux 8で認証を適切に再構成する必要があります。
authselectユーティリティの使用方法の詳細は、Oracle Linux 8 システム・ユーザーおよび認証の設定を参照してください。
-
システムで
pam_krb5
およびpam_pkcs11
PAMモジュールが構成されている場合にアップグレードがブロックされるOracle Linux 7にある非推奨の
pam_krb5
およびpam_pkcs11
PAMモジュールは、アップグレード・プロセスの間に削除されます。アップグレードを実行する前に、まずシステムのPAM構成を再構成してこれらのモジュールを無効にする必要があります。そうしないと、システムはロックされます。これらのモジュールを無効にする手順については、Oracle Linux 7 システム・アカウントおよび認証の設定を参照してください。これらのモジュールの詳細は、Leapp Answerfileへの情報の提供も参照してください。
システム管理の問題
-
Ksplice Uptrackソフトウェアでエラー・メッセージが表示される
アップグレード中に、Oracle Ksplice Uptrackソフトウェアで次のようなエラーがレポートされることがあります。
[ 256.033527] upgrade[390]: Upgrading : uptrack-1.2.74-0.el8.noarch 577/1453 [ 256.037151] upgrade[390]: Running scriptlet: uptrack-1.2.74-0.el8.noarch 577/1453 ... [ 256.045914] upgrade[390]: Traceback (most recent call last): [ 256.049230] upgrade[390]: File "/usr/lib/uptrack/access-key-from-uln", line 9, in <module> [ 256.051376] upgrade[390]: from up2date_client import up2dateAuth, rpcServer [ 256.056490] upgrade[390]: File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 74 [ 256.059251] upgrade[390]: os.chmod(path, 0600) [ 256.060997] upgrade[390]: [ 256.062842] upgrade[390]: SyntaxError: invalid token
このレポートは、既知の無害な問題であるため無視してかまいません。アップグレードが完了すると、Kspliceは正常に動作し続けます。
ファイル・システムとストレージの問題
-
RAID構成にBtrfsがあるシステムはアップグレードできない
RAID構成でBtrfsファイル・システムが使用されているシステムは、アップグレードできません。preupgradeコマンドによって生成された
/var/log/leapp/leapp-report.txt
では、この構成は阻害要因としてフラグ付けされ、処置は提供されません。システムをアップグレードし、その構成が検出されると、アップグレード・プロセスは停止します。 -
winbind
およびwins
Sambaモジュールが使用されている場合はアップグレードがブロックされる/etc/nsswitch.conf
でwinbind
およびwins
Sambaモジュールが使用されている場合、アップグレードはブロックされます。回避策として、まずファイルからこれらのモジュールを削除して、アップグレードを実行します。アップグレードが完了したら、これらのモジュール・エントリをファイルに復元します。これらのモジュールの構成の詳細は、Oracle Linux 8 共有ファイル・システムの管理を参照してください。
-
ネットワークにマウントされたファイル・システムがあるホストはアップグレードできない
Leappでは、ネットワーク・ストレージ、NFSまたはiSCSIにマウントされたファイル・システムがあるシステムのアップグレードはサポートされていません。回避策として、ファイル・システムをアンマウントし、
/etc/fstab
のそれらのエントリをコメント・アウトします。アップグレードが完了したら、エントリを復元し、ファイル・システムを再マウントできます。
ネットワークの問題
-
カーネルで使用されるNICと同じ接頭辞が付いた複数のNICがシステムにある場合はアップグレード・エラーが発生する可能性がある
アップグレードするシステムに、カーネルで使用されているNICと同じ接頭辞(
eth
など)を共有する複数のNICがある場合は、インプレース・アップグレード・プロセスでエラーが発生することがあります。アップグレード後に、システムのネットワーク接続性が失われます。詳細は、『Oracle Linux 8 ネットワークの設定』の「ネットワーク・インタフェース名について」を参照してください。
-
NetworkManagerがアップグレード完了後に起動されないことがある
アップグレード後、システムの
NetworkManager
が、その名前解決サービスが失敗したことが原因で起動されない場合があります。この障害は、サービスのステータスを確認することによって確認できます。systemctl status systemd-resolved.service
● systemd-resolved.service - Network Name Resolution Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; disabled; > Active: inactive (dead) Docs: man:systemd-resolved.service(8) https://www.freedesktop.org/wiki/Software/systemd/resolved
/var/log/messages
ファイルには、次のエラーも報告されます。dbus-daemon[742]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.resolve1.service': Unit dbus-org.freedesktop.resolve1.service not found.
この問題を解決するには、次のいずれかの回避策を選択します。
-
NetworkManager
を、systemd-resolved.service
を使用しないように構成します。次のエントリを
/etc/NetworkManager/conf.d/no-systemd-resolved.conf
ファイルに追加します。[main] systemd-resolved=false
-
次のように
systemd-resolved.service
を有効にします。systemctl enable systemd-resolved.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /usr/lib/systemd/system/systemd-resolved.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /usr/lib/systemd/system/systemd-resolved.service.
systemctl start systemd-resolved.service
特定の設定に使用しているネットワーク名解決モデルとより一貫性のある他の方法を採用することもできます。役立つ情報については、『Oracle Linux 8 ネットワークの設定』の「ネットワーク・インタフェース名について」を参照してください。
-
仮想化とコンテナの問題
-
アップグレード・プロセスの間にDockerが削除される
Dockerは、アップグレード・プロセスの一環として削除されます。アップグレードしたシステムでコンテナを実行する予定の場合は、コンテナ・インフラストラクチャをPodmanに移行する準備をします。
詳細は、Oracle Linux Podmanユーザー・ガイドを参照してください。
-
アップグレード後にKVM仮想マシンのスナップショットが一覧表示されないことがある
アップグレード後に、
libvirtd
サービスにより、次のようなスナップショット関連のエラー・メッセージがレポートされることがあります。libvirtd[53328]: internal error: Failed to parse snapshot XML from file '/var/lib/libvirt/qemu/snapshot/path-to-previous-snapshot-file'
さらに、アップグレード前からの使用可能なスナップショットを一覧表示すると、空のリストが生成されます。
sudo virsh snapshot-list previous-snapshot-file
Name Creation Time State -------------------------------
回避策として、システムを再起動します。ブート・プロセスの最後に、スナップショットがリストされ、再度使用できるようになります。
-
ネストされた仮想化構成ではlibvirtdサービスを再起動できないことがある
ネストされた仮想化設定では、アップグレード後に、ネストされたKVMホストで
libvrtd
サービスが再起動されないことがあります。回避策として、ネストされたKVMホストを再起動します。
-
アップグレード後に一部のKVM仮想マシンが起動されないことがある
KVMホストでRHCKカーネルが実行されている場合は、アップグレード前に存在した仮想マシンまたはゲストが、Leappによるアップグレードの完了後に起動されないことがあります。これらのゲストを起動するときに、次のようなエラー・メッセージが表示される場合があります。
sudo virsh start domain-name
error: Failed to start domain domain-name error: the CPU is incompatible with host CPU: Host CPU does not provide required features: hle, rtm
このエラーが報告されるのは、RHCKカーネルによってデフォルトでIntel Transactional Synchronization Extensions (TSX)が無効になり、ゲストに必要な、Hardware Lock Elision (HLE)機能とRestricted Transactional Memory (RTM)機能が提供されないためです。
回避方法として、次のステップを実行します。
-
/etc/default/grub
を編集して、次の例で太字で示しているように、tsx=on
をGRUB_CMDLINE_LINUXディレクティブに追加します。... GRUB_CMDLINE_LINUX="crashkernel=auto LANG=en_US.UTF-8 … tsx=on"
-
grub.cfg
ファイルを再生成します。sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
KVMホストを再起動します。
-
開発ツールの問題
-
Python 2がPython 3に置き換えられる
Oracle Linux 8では、pythonコマンドはデフォルトでは使用できません。Python 3はPythonのプライマリ・バージョンであり、Python 2との下位互換性がありません。また、Python 2はOracle Linux 8で使用できますが、サポートが制限されています。アップグレードするシステムにPythonパッケージまたはスクリプトがある場合は、それらをできるだけ早くPython 3に移行してください。
詳細は、Oracle Linux 8 Pythonのインストールと管理を参照してください。
ハードウェア関連の問題
-
認識されないハードウェアがあるシステムはアップグレードできない
e1000
ドライバなどの特定のハードウェアに対するサポートがRHCK 8から削除されました。そのようなハードウェアがインストールされているプラットフォームでは、アップグレードを続行できません。UEKが引き続きハードウェアをサポートしていても、システムでハードウェアが検出された場合、アップグレード手順は抑制されます。
Leappオーバーレイ・サイズの問題
-
アップグレードでオーバーレイ・サイズの拡張が必要なことがある
多数のパッケージを含むOracle Linux 7システムをOracle Linux 8にアップグレードすると、アップグレード中に使用されるLeappオーバーレイ・ファイル・システム内の領域が不足しているために、失敗することがあります。次のエラーメッセージが表示されることがあります。
Error: Transaction test error: installing package package-name needs 4MB on the / filesystem
回避策として、
LEAPP_OVL_SIZE
変数を増やします。デフォルト・サイズは4096です。実際に必要なサイズは、設定に応じて大きくなることがあります。次のコマンドを使用します。sudo export LEAPP_OVL_SIZE=new-size