このトピックでは、Server Migration Center (SMC) を使用してLinuxオペレーティングシステムを移行するときに報告される「leapp前アップグレードに失敗しました」というエラーメッセージの原因について説明します。 このトピックでは、エラーを解決する方法についても説明します。
問題の説明
LinuxオペレーティングシステムがSMCを使用して移行されているときに、「leapp前アップグレードに失敗しました」というエラーメッセージが報告されます。
原因
このエラーは、次の原因で発生する可能性があります。
パッケージの依存関係が無効です。
Yellowdog Updater Modified (YUM) リポジトリへのアクセスに失敗しました。
/etc/fstabファイルのマウント設定が無効です。
/etc/vsftpd/vsftpd.confファイルのFTP設定が無効です。
/rootディレクトリのファイル名またはパス名が無効です。
指定されたユーザースペースの作成に失敗しました。
解決策
無効なパッケージの依存関係
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

次のコマンドを実行します。 次の図のエラーメッセージが報告されます。
cat /var/log/leapp/leapp-preupgrade.log
上記のエラー情報は、ソフトウェアパッケージの更新中にdnf_transaction_checkアクターによって無効な依存関係が見つかったことを示しています。 これは、必要なソフトウェアパッケージが指定されたリポジトリに存在しない場合、または現在のソフトウェアパッケージが依存するソフトウェアパッケージが互いに競合する場合に発生する可能性があります。 たとえば、上記のエラー情報は、lynxパッケージの更新中に、lynxパッケージが依存する
anolis-indexhtmlパッケージが指定されたリポジトリに見つからないことを示します。エラー情報に記載されている依存関係を分析し、エラーの原因となったソフトウェアパッケージをアンインストールします。 たとえば、上記のエラーを解決するには、次のコマンドを実行してlynxをアンインストールします。
yum remove lynx-2.8.8-0.3.dev15.1.al7.x86_64エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。
YUMリポジトリへのアクセスに失敗しました
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

以下のコマンドを実行します。
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) インスタンスはインターネットにアクセスできません。
ECSインスタンスのネットワーク状態に基づいてエラーを解決します。
ECSインスタンスがインターネットにアクセスできない
設定ファイル /etc/leapp/files/leapp_upgrade_repositories.repoで、パブリックエンドポイント
http://mirrors.aliyun.com/をVirtual Private Cloud (VPC) エンドポイントhttp://mirrors.cloud.aliyuncs.com/に変更するか、インターネット経由でアクセスする必要があるリポジトリのenabled=1をenabled=0に変更します。ECSインスタンスがVPCにアクセスできない
移行中、移行元サーバーはYUMリポジトリのVPCエンドポイント
http://mirrors.cloud.aliyuncs.com/にアクセスできる必要があります。 ソースサーバーがクラシックネットワークのみにアクセスできるかどうか、およびDNS設定ファイル/etc/resolv.confで設定が有効かどうかを確認します。
エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。
/etc/fstabファイルの無効なマウント設定
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

エラー情報に基づいて、
/etc/fstabファイルのマウント設定を確認します。各ファイルシステムのエントリが1行で書き込まれていることを確認してください。 パラメータが多すぎるため、エントリを複数行に書き込まないでください。
すべてのファイルシステムがマウントできることを確認してください。
mount -aコマンドを実行して、ファイルシステムをマウントできるかどうかを確認できます。設定ファイルに漢字が含まれていないことを確認してください。
エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。
/etc/vsftpd/vsftpd.confファイルの無効なFTP設定
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

上記のエラー情報は、vsftpd_config_readアクターがエラーにより終了したことを示しています。 この場合は, FTP設定ファイル
/etc/vsftpd/vsftpd.confの内容を確認してください。 次の図は、FTP設定ファイルのサンプルコンテンツを示しています。
/etc/vsftpd/vsftpd.confファイルから漢字を削除します。 FTP設定ファイルに漢字は使用できません。エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。
/rootディレクトリの無効なファイル名またはパス名
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

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

/rootディレクトリのファイル名またはパス名に、解析できない特殊文字UTF-8が含まれていないことを確認してください。
エラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。
指定されたユーザースペースの作成に失敗しました
ソースサーバーに接続します。 詳細については、「インスタンスへの接続」をご参照ください。
SMCクライアントのログディレクトリにあるエラーログを表示します。
SMCクライアントのディレクトリの詳細については、「SMCクライアントの表示」をご参照ください。 サンプルコマンド:
cat /smc/go2aliyun_client2.7.6_linux_x86_64/Logs/osm_prepare.log上記のコマンドでは、2.7.6はSMCクライアントのバージョン番号です。 バージョン番号を実際の値に置き換えます。

次のコマンドを実行します。 次の図のエラーメッセージが報告されます。
cat /var/log/leapp/leapp-preupgrade.log
上記のエラー情報は、システムカーネルとソフトウェアパッケージのバージョンが古いためにマウントエラーが発生し、対応するオーバーレイドライバがロードされていないことを示しています。
次のコマンドを実行して、システムのマイナーバージョンをCentOS 7.9に更新し、カーネルおよび関連ソフトウェアパッケージを更新します。
yum updateソースサーブを再起動し、次のコマンドを実行して、オーバーレイドライバーがロードされているかどうかを確認します。
lsmod |grep overlayエラーが解決したら、SMCクライアントを実行し、移行ジョブを再試行します。 詳細については、「SMCクライアントの実行」をご参照ください。