為什麼我使用 Application Migration Service 或 Disaster Recovery Service 來遷移的 EC2 Linux 執行個體,無法通過執行個體狀態檢查?

2 分的閱讀內容
0

我的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體的狀態檢查失敗。我使用了 AWS Application Migration Service 或 AWS Disaster Recovery Service 來遷移執行個體。

解決方法

**注意:**下列解決方法包含執行個體狀態檢查失敗的最常見原因。Application Migration Service 轉換伺服器會變更引導程式、插入 Hypervisor 驅動程式並安裝雲端工具。使用執行個體類型適型化,耗盡記憶體的執行個體狀態檢查失敗並不常見。損毀的檔案系統通常發生在來源機器上。

疑難排解執行個體狀態檢查失敗時,請在檢查下列事項同時謹記 Linux 啟動程序:

典型的啟動順序為: 電腦開機 – 啟動自我檢測 (POST) – BIOS/UEFI – 主啟動紀錄/EFI – 引導程式 – 核心 (和 initramfs)

某些作業系統的啟動順序可能會有所不同。

啟動組態不正確

執行個體無法連線至引導程式 (GRUB)

如果執行個體無法連線至引導程式 (GRUB),下列錯誤就會發生:

No bootable device. Retrying in 60 seconds.

Booting from hard disk 0...

若要疑難排解前述錯誤,請確認下列事項:

如果 GRUB 組態檔案 (grub.cfg) 發生問題,您可能會看與下列內容相似的 GRUB 提示字元:

grub>

顯示啟動狀態仍在 GRUB 引導程式中的執行個體主控台螢幕擷取畫面證明 grub.cfg 檔案發生問題。grub.cfg 通常位於 /boot/grub2/grub.cfg/boot/grub/grub.cfg/boot/grub/grub.conf

核心不相容

核心或驅動程式問題

如果找不到前述的 GRUB 錯誤,請針對核心和驅動程式進行疑難排解。

Xen 平台:

上一代執行個體類型 (m4、c4、r4) 會在 Xen 平台上執行。在此平台上執行的作業系統需要 xen-blkfrontxen-netfront 驅動程式。無法安裝這兩個驅動程式會導致執行個體狀態檢查失敗。此失敗可能會在主控台輸出中顯示為缺少磁碟機,如下列範例所示:

[ ***] dracut-initqueue[679]: Warning: dracut-initqueue timeout - starting timeout scripts

當 initramfs 缺少必要驅動程式時,上述失敗就會發生。

如果發生與 initramfs 或核心相關的錯誤,請重建 initramfs。如需詳細資訊,請參閱在升級核心或嘗試重新啟動 EC2 Linux 執行個體後,我收到「核心錯誤」訊息

Nitro 型執行個體:

Nitro 型執行個體需要 NVME 驅動程式 (適用於 EBS 磁碟區) 和 ENA 驅動程式 (適用於網路介面)。如果沒有這兩個驅動程式會導致執行個體狀態檢查失敗。此失敗可能會在主控台輸出中顯示為缺少磁碟機,如下列範例所示:

[***   ] A start job is running for dev-disk...e2.device (12min 17s / no limit)

如需解決上述錯誤的相關資訊,請參閱為什麼在將 Linux 執行個體類型變更為 Nitro 型執行個體類型後卻無法啟動?

網路組態不正確

來源伺服器有許多網路組態。用於管理這些組態之應用程式的上游維護者擁有關於其組態的詳細文件。如果您懷疑網路組態有問題,請存取執行個體並檢閱組態。若要執行此操作,請使用以下在為什麼我的 EC2 Linux 執行個體無法啟動並進入緊急模式中概述的方法之一:

以下是常見的網路組態管理工具:

相關資訊

由於作業系統出現問題,我的 EC2 Linux 執行個體未能通過執行個體狀態檢查。如何對此問題進行疑難排解?

系統狀態檢查