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でサポートされていないリポジトリからインストールされたパッケージは、アップグレードされない可能性があります。そのようなパッケージの場合、次を実行します。

    1. https://yum.oracle.comにアクセスして、必要なパッケージが含まれているOracle Linux 8リポジトリを確認します。

    2. アップグレードが完了したら、それらのOracle Linux 8リポジトリからそのパッケージを手動でインストールします。

    3. 必要なすべてのパッケージがインストールされたら、残っている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.confwinbindおよび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)機能が提供されないためです。

    回避方法として、次のステップを実行します。

    1. /etc/default/grubを編集して、次の例で太字で示しているように、tsx=onをGRUB_CMDLINE_LINUXディレクティブに追加します。

      ...
      GRUB_CMDLINE_LINUX="crashkernel=auto LANG=en_US.UTF-8 … tsx=on"
    2. grub.cfgファイルを再生成します。

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    3. 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