Elastic Compute Service (ECS) インスタンスの移行後に発生する起動の失敗 (カーネルパニック、ブルー スクリーン、ドライバーの非互換性など) を解決します。
背景情報
ECS のインスタンスファミリーとパブリックイメージでは、異なる仮想化技術が使用されています。ドライバーは仮想化アーキテクチャと一致している必要があります。
-
レガシーファミリー (ecs.t1、ecs.s1):Xen 仮想化を使用します。イメージには Xen ドライバーが含まれている必要があります。
-
KVM ファミリー (ecs.g5 など):KVM 仮想化を使用します。イメージには virtio ドライバーが含まれている必要があります。
-
Shenlong アーキテクチャ (ecs.g7 など):独自の Shenlong アーキテクチャを使用します。イメージには最適化された virtio ドライバーが含まれている必要があります。
これらのドライバーは OS カーネルに組み込まれています。古いカーネルには必要なドライバーが含まれていない場合や、古いバージョンのドライバーが含まれている場合があります。このような場合は、ドライバーを手動でインストールまたは更新する必要があります。
事前準備
ソースインスタンスに既存の問題があると、移行後にレジストリの破損、ファイルシステムエラー、または起動の失敗が発生する可能性があります。移行前に以下を完了してください。
-
移行前にインスタンスを再起動し、OS とアプリケーションが正常に起動することを確認します。
-
移行前にスナップショットを作成して、重要なデータをバックアップします。
-
ソースインスタンスからカスタムイメージを作成し、ターゲットの KVM ベースのファミリーでテストインスタンスを起動します。
Shenlong アーキテクチャとレガシーオペレーティングシステムの非互換性
Shenlong アーキテクチャは、カーネルの制限により、以下のレガシーオペレーティングシステムをサポートしていません。
-
Windows:Windows Server 2003 以前。Windows Server 2008 Standard では、Xen レジストリキーをクリアする必要があります。
-
CentOS / Red Hat: 5.8 以前 (カーネル 2.6.18-348 以前)。
-
Debian: 6.0.9 より前。KVM 互換性の問題を解決するには、6.0.9 以降にアップグレードしてください。
-
FreeBSD: 11 より前。FreeBSD 11/12 では Alibaba Cloud のパッチが必要です。
-
Ubuntu: 10 以前。Ubuntu 12 はカーネル 3.2 で起動します。
-
SUSE Linux Enterprise Server: 10 以前。
-
OpenSUSE: 13 より前。
-
Gentoo: Alibaba Cloud イメージは Xen のみをサポートしています。KVM 用には最新バージョンにアップグレードしてください。
このリストは第 6 世代インスタンスに適用されます。第 7 世代以降のインスタンスには、より厳格な要件があります。
システムディスク交換によるOSのアップグレード
レガシーオペレーティングシステムはメンテナンス終了 (EOM) に達しており、重大なセキュリティリスクをもたらします。サポートされている OS にアップグレードしてください。詳細については、「オペレーティングシステムのライフサイクル」をご参照ください。
Alibaba Cloud は、主流の Linux および Windows ディストリビューション用のパブリックイメージを提供しています。パブリックイメージでシステムディスクを交換してアップグレードします。
データとアプリケーションを移行するには、オペレーティングシステムを交換します。
-
データを復元します。
古いシステムディスクをデタッチし、新しいインスタンスにデータディスクとしてアタッチして、ファイルをコピーします。
-
サービスとアプリケーションを移行します。
-
新しいシステムディスクにアプリケーションとサービスを再インストールします。
-
データディスクからデータベースファイルと設定を新しい環境に移動します。
-
メリットとデメリット:
-
メリット: 最新の機能、セキュリティパッチ、公式サポートを利用できます。コンソールからワンクリックで交換できます。
-
デメリット: 手動でのデータバックアップとアプリケーションの再デプロイが必要です。
OSの最新マイナーバージョンへのアップグレード
OS を交換できない場合は、最終マイナーリリース (CentOS 5 から 5.11 など) に更新してください。
メリットとデメリット:
-
メリット: 既存のデータと設定が保持されます。
-
デメリット: OS は EOL (提供終了) のままです。セキュリティの脆弱性が残り、最新の機能 (CentOS 7/8) は利用できません。
以前の世代のインスタンスの使用
レガシーアプリケーションが古い環境を必要とする場合は、Shenlong アーキテクチャを使用しない第 5 世代のインスタンスファミリー (ecs.n、ecs.xn、ecs.c5 など) にダウングレードしてください。
virtio ドライバー設定の失敗
KVM のvirtio ドライバーが欠落している、または誤って設定されている場合、移行後にインスタンスの起動に失敗する可能性があります。一般的な原因は以下のとおりです。
-
Linux:
virtioドライバーがインストールまたは設定されていません。 -
Windows: ISO フェーズ中にドライバーのインストールに失敗しました。
-
Windows: Windows レジストリが破損しています。
-
セキュリティソフトウェア: サードパーティ製セキュリティソフトウェア (360 Total Security など) がドライバーのインストールをブロックしました。
ソリューション
-
virtio ドライバーをインストールしてください。
-
Linux: カーネルが破損している場合は、公式ディストリビューションカーネルを再インストールしてください。
-
Windows: テクニカルサポートに連絡して WinPE 3.0 ISO をアタッチしてください。WinPE で起動し、[デバイス マネージャー] で virtio ドライバーを確認してください。欠落している場合は、ドライバーを手動でインストールしてください。
-
Windows: [システムファイルチェッカー (SFC)] を実行して、システムの整合性を確認してください。ドライバーのインストールをブロックする可能性のあるサードパーティ製セキュリティソフトウェア (360 Total Security など) をアンインストールしてください。