為什麼將類型變更為 Nitrox 型執行個體類型後,我的 Linux 執行個體無法開機?

2 分的閱讀內容
0

我將 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體變更為 Nitro 型執行個體類型,現在它無法開機。

簡短描述

以下是 Linux 執行個體在將您其變更為 Nitro 型類型後可能無法開機的一些常見原因:

  • 執行個體的彈性網路介面卡 (ENA) enaSupport 屬性已停用。
  • 執行個體上未安裝 ENA 模組。
  • 執行個體上未安裝 NVMe 模組,或者,如果已安裝 NVMe 模組,則它並未載入在執行個體的 initramfs 映像檔中。
  • 您正在嘗試在開機時使用裝置名稱將檔案系統裝載於 "/etc/fstab" 檔案中。Amazon Elastic Block Store (Amazon EBS) 磁碟區會以 NVMe 裝置的形式公開給這些執行個體類型,並且會變更裝置名稱。為了避免這種情況,請使用 UUID/Label 裝載檔案系統。如需詳細資訊,請參閱 Linux 執行個體上的 Amazon EBS 和 NVMe

若要解決這些問題,請確認 ENA 已開啟,並且 Linux 執行個體符合 Nitro 型執行個體模組和檔案系統裝載需求。

或者,您還可以執行 AWSSupport-MigrateXenToNitroLinux Systems Manager Automation 執行手冊。本執行手冊無需手動組態即可遷移至 Amazon EC2 Linux Xen。如需詳細資訊,請參閱 AWSSupport-MigrateXenToNitroLinux

解決方法

確保 ENA 已開啟

1.    若要確認 ENA 已開啟,請參閱測試是否已開啟增強型網路功能,然後遵循「執行個體屬性 (enaSupport)」中的指示。

2.    如果 ENA 未開啟,請執行 modify-instance-attribute 動作。如需詳細資訊,請參閱在 Amazon Linux AMI 上開啟增強型網路功能

執行 NitroInstanceChecks 指令碼

NitroInstanceChecks 指令碼會檢查您的執行個體,並提供下列需求的通過/失敗狀態:

  • 確認您的執行個體上已安裝 NVMe 模組。如果已安裝,則指令碼會確認模組已載入 initramfs 映像檔中。
  • 確認您的執行個體上已安裝 ENA 模組。
  • 分析 /etc/fstab 並尋找使用裝置名稱裝載的區塊型儲存裝置。

下列作業系統版本支援此指令碼:

  • Red Hat 導數: Red Hat Linux、Red Hat Enterprise Linux、CentOS
  • Amazon Linux、Amazon Linux 2 和 Amazon Linux 2023
  • Debian 導數: Debian、Ubuntu

注意: 如需 Red Hat 上 ENA 驅動程式的詳細資訊,請參閱如何在執行 Red Hat 6/7 的 Amazon EC2 執行個體上安裝和啟用最新的 ENA 驅動程式以取得增強型網路功能支援?

若要執行 NitroInstanceChecks 指令碼:

1.    在進行任何變更之前,拍攝磁碟區的快照建立執行個體的 Amazon Machine Image (AMI),以便予以備份。

2.    將執行個體類型變更為其原始類型。

3.    從 GitHub 將腳本下載到您的執行個體,並使其可以執行:

# chmod +x nitro_check_script.sh

4.    以根使用者或 sudo身分執行指令碼:

# sudo ./nitro_check_script.sh

5.    在提示時,輸入 yn (或者 No): 輸入 y 以重新產生指令碼並修改 /etc/fstab 檔案,然後將每個分割區的裝置名稱取代為其 UUID。原始 fstab 檔案會儲存為 /etc/fstab.backup.$(date +%F-%H:%M:%S)。例如,/etc/fstab.backup.2019-09-01-22:06:05。輸入 nNo 以在輸出中列印正確的 /etc/fstab 檔案,但不取代它。

成功的輸出如下所示:

------------------------------------------------
OK  NVMe Module is installed and available on your instance
OK  ENA Module is installed and available on your instance
OK  fstab file looks fine and does not contain any device names.
------------------------------------------------

6.    符合所有需求之後,將執行個體變更為 Nitro 型執行個體類型。

AWS 官方
AWS 官方已更新 2 年前