すべてのプロダクト
Search
ドキュメントセンター

Server Migration Center:"failed to leapp preupgrade" エラーメッセージが表示された場合はどうすればよいですか?

最終更新日:Oct 21, 2024

このトピックでは、Server Migration Center (SMC) を使用してLinuxオペレーティングシステムを移行するときに報告される「leapp前アップグレードに失敗しました」というエラーメッセージの原因について説明します。 このトピックでは、エラーを解決する方法についても説明します。

問題の説明

LinuxオペレーティングシステムがSMCを使用して移行されているときに、「leapp前アップグレードに失敗しました」というエラーメッセージが報告されます。

原因

このエラーは、次の原因で発生する可能性があります。

  • パッケージの依存関係が無効です。

  • Yellowdog Updater Modified (YUM) リポジトリへのアクセスに失敗しました。

  • /etc/fstabファイルのマウント設定が無効です。

  • /etc/vsftpd/vsftpd.confファイルのFTP設定が無効です。

  • /rootディレクトリのファイル名またはパス名が無効です。

  • 指定されたユーザースペースの作成に失敗しました。

解決策

無効なパッケージの依存関係

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

    次のコマンドを実行します。 次の図のエラーメッセージが報告されます。

    cat /var/log/leapp/leapp-preupgrade.log

    image

    上記のエラー情報は、ソフトウェアパッケージの更新中にdnf_transaction_checkアクターによって無効な依存関係が見つかったことを示しています。 これは、必要なソフトウェアパッケージが指定されたリポジトリに存在しない場合、または現在のソフトウェアパッケージが依存するソフトウェアパッケージが互いに競合する場合に発生する可能性があります。 たとえば、上記のエラー情報は、lynxパッケージの更新中に、lynxパッケージが依存するanolis-indexhtmlパッケージが指定されたリポジトリに見つからないことを示します。

  3. エラー情報に記載されている依存関係を分析し、エラーの原因となったソフトウェアパッケージをアンインストールします。 たとえば、上記のエラーを解決するには、次のコマンドを実行してlynxをアンインストールします。

    yum remove lynx-2.8.8-0.3.dev15.1.al7.x86_64
  4. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。

YUMリポジトリへのアクセスに失敗しました

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

    以下のコマンドを実行します。

    cat /var/log/leapp/leapp-preupgrade.log

    次のエラーメッセージが報告されます。

    リポジトリ 'docker-ce-stable-migrate' のメタデータのダウンロード中の

    Errors during downloading metadata for repository 'docker-ce-stable-migrate':
     - Curl error (28): Timeout was reached for https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
    Error: Failed to download metadata for repo 'docker-ce-stable-migrate': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
    
    Errors during downloading metadata for repository 'zabbix-migrate':
     - Curl error (28): Timeout was reached for http://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
    Error: Failed to download metadata for repo 'zabbix-migrate': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

    ました

    上記のエラー情報は、YUMリポジトリ構成ファイルが /etc/leapp/files/leapp_upgrade_repositories.repoであることを示しています。 構成ファイルでは、次のリポジトリが指定されています。https://rpm.nodesource.com/pub_18.x/el/8/$basearch, http://repo.zabbix.com/zabbix/5.0/rhel/8/$basearch/, と https://mirrors.aliyun.com/docker-ce/linux/centos/8/$basearch/stable.

    この場合、nodejs、zabbix、およびdocker-ceのリポジトリのパブリックエンドポイントが指定されます。 ただし、一部のECS (Elastic Compute Service) インスタンスはインターネットにアクセスできません。

  3. ECSインスタンスのネットワーク状態に基づいてエラーを解決します。

    • ECSインスタンスがインターネットにアクセスできない

      設定ファイル /etc/leapp/files/leapp_upgrade_repositories.repoで、パブリックエンドポイント http://mirrors.aliyun.com/ をVirtual Private Cloud (VPC) エンドポイント http://mirrors.cloud.aliyuncs.com/ に変更するか、インターネット経由でアクセスする必要があるリポジトリのenabled=1enabled=0に変更します。

    • ECSインスタンスがVPCにアクセスできない

      移行中、移行元サーバーはYUMリポジトリのVPCエンドポイント http://mirrors.cloud.aliyuncs.com/ にアクセスできる必要があります。 ソースサーバーがクラシックネットワークのみにアクセスできるかどうか、およびDNS設定ファイル /etc/resolv.confで設定が有効かどうかを確認します。

  4. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。

/etc/fstabファイルの無効なマウント設定

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

  3. エラー情報に基づいて、/etc/fstabファイルのマウント設定を確認します。

    • 各ファイルシステムのエントリが1行で書き込まれていることを確認してください。 パラメータが多すぎるため、エントリを複数行に書き込まないでください。

    • すべてのファイルシステムがマウントできることを確認してください。 mount -aコマンドを実行して、ファイルシステムをマウントできるかどうかを確認できます。

    • 設定ファイルに漢字が含まれていないことを確認してください。

  4. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。

/etc/vsftpd/vsftpd.confファイルの無効なFTP設定

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

    上記のエラー情報は、vsftpd_config_readアクターがエラーにより終了したことを示しています。 この場合は, FTP設定ファイル /etc/vsftpd/vsftpd.confの内容を確認してください。 次の図は、FTP設定ファイルのサンプルコンテンツを示しています。

    image

  3. /etc/vsftpd/vsftpd.confファイルから漢字を削除します。 FTP設定ファイルに漢字は使用できません。

  4. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。

/rootディレクトリの無効なファイル名またはパス名

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

    上記のエラー情報は、root_scannerアクタがエラーにより終了したことを示しています。 この場合は、/rootディレクトリの内容を確認してください。 次の図は、/rootディレクトリのサンプルコンテンツを示しています。

    image

  3. /rootディレクトリのファイル名またはパス名に、解析できない特殊文字UTF-8が含まれていないことを確認してください。

  4. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。

指定されたユーザースペースの作成に失敗しました

  1. ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. SMCクライアントのログディレクトリにあるエラーログを表示します。

    SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:

    cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log

    上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

    image

    次のコマンドを実行します。 次の図のエラーメッセージが報告されます。

    cat /var/log/leapp/leapp-preupgrade.log

    image

    上記のエラー情報は、システムカーネルとソフトウェアパッケージのバージョンが古いためにマウントエラーが発生し、対応するオーバーレイドライバがロードされていないことを示しています。

  3. 次のコマンドを実行して、システムのマイナーバージョンをCentOS 7.9に更新し、カーネルおよび関連ソフトウェアパッケージを更新します。

    yum update
  4. ソースサーブを再起動し、次のコマンドを実行して、オーバーレイドライバーがロードされているかどうかを確認します。

    lsmod |grep overlay
  5. エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。