本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解 Amazon EC2 執行個體休眠
使用此資訊來協助您診斷並修正讓執行個體進入休眠時可能遇到的問題。
休眠問題
無法在啟動後立即進入休眠
如果您在啟動執行個體後太快嘗試讓執行個體進入休眠,則會出現錯誤。
Linux 執行個體必須等待大約兩分鐘,啟動後 Windows 執行個體必須等待約五分鐘,然後才能休眠。
從 stopping
轉換為 stopped
花費太長時間,且記憶體狀態未在啟動後復原
如果休眠的執行個體花費長時間才能從 stopping
狀態轉換為 stopped
,且如果記憶體狀態未在啟動後復原,則可能表示休眠未正確設定。
如果您沒有在程序中看到任何日誌,則您的 AMI 可能不支援休眠。如需支援的 AMI 資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件。
Linux 執行個體
請檢查執行個體系統日誌,尋找與休眠相關的訊息。若要存取系統記錄檔,請連線至執行個體或使用get-console-output指令。從 hibinit-agent
尋找日誌行。如果日誌行指出失敗或日誌行不存在,則很可能在啟動時有錯誤的休眠設定。
例如,下列訊息表示執行個體根磁碟區不夠大:hibinit-agent: Insufficient disk space.
Cannot create setup for hibernation. Please allocate a larger root
device.
如果 hibinit-agent
最後的日誌行是 hibinit-agent: Running: swapoff /swap
,則表示休眠已成功設定。
Windows Server 2016 及更新版本
請檢查 EC2 啟動日誌,尋找與休眠相關的訊息。若要存取 EC2 啟動日誌,連線至執行個體並在文字編輯器中開啟 C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log
檔案。如果使用 EC2Launch v2,請開啟 C:\ProgramData\Amazon\EC2Launch\log\agent.log
。
注意
根據預設,Windows 會將檔案和資料夾隱藏在 C:\ProgramData
下。若要檢視 EC2 啟動目錄和檔案,您必須在 Windows 檔案總管中輸入路徑或變更資料夾屬性,才可顯示隱藏的檔案和資料夾。
尋找休眠的日誌行。如果日誌行指出失敗或日誌行不存在,則很可能在啟動時有錯誤的休眠設定。
例如,下列訊息表示無法設定休眠:Message: Failed to enable hibernation.
。如果錯誤訊息包含十進位 ASCII 值,您可以將 ASCII 值轉換為純文字,以便讀取完整的錯誤訊息。
如果日誌行包含 HibernationEnabled: true
,則表示休眠已成功設定。
Windows Server 2012 R2 和舊版
請檢查 EC2 設定日誌,尋找與休眠相關的訊息。若要存取 EC2 設定日誌,請連線至執行個體,接著在文字編輯器中開啟 C:\Program
Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt
檔案。尋找 SetHibernateOnSleep
的日誌行。如果日誌行指出失敗或日誌行不存在,則很可能在啟動時有錯誤的休眠設定。
例如,下列訊息表示執行個體根磁碟區不夠大:SetHibernateOnSleep: Failed to
enable hibernation: Hibernation failed with the following error: There is
not enough space on the disk.
如果日誌行是 SetHibernateOnSleep: HibernationEnabled:
true
,則表示休眠已成功設定。
視窗實體大小
如果您使用的記憶體少於 1 GB 的 T3 或 T3A Windows 執行個體,請嘗試將執行個體的大小增加為至少具有 1 GB 記憶體的執行個體。
執行個體「卡」在停止狀態
如果您讓執行個體進入休眠,但該執行個體「卡」在stopping
狀態,您可以強制將其停止。如需詳細資訊,請參閱 停用執行個體時的疑難排解。
休眠後無法立即啟動 Spot 執行個體
如果您嘗試在休眠後兩分鐘內啟動 Spot 執行個體,可能會出現下列錯誤:
You failed to start the Spot Instance because the associated Spot Instance request is not in an appropriate state to support start.
請等待 Linux 執行個體大約兩分鐘,Windows 執行個體約 5 分鐘,然後重試啟動執行個體。
繼續執行 Spot 執行個體失敗
如果您的 Spot 執行個體已成功休眠,但是無法繼續執行,而是會重新啟動 (未保留休眠狀態而直接重新啟動),可能是因為使用者資料包含下列指令碼:
/usr/bin/enable-ec2-spot-hibernation
從啟動範本的使用者資料欄位中移除此指令碼,然後請求新的 Spot 執行個體。
請注意,即使執行個體無法繼續執行,在不保留休眠狀態的狀態下,仍可使用與從 stopped
狀態啟動的相同方式啟動執行個體。