本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對 Amazon EC2執行個體休眠進行故障診斷
使用此資訊來協助您診斷並修正讓執行個體進入休眠時可能遇到的問題。
休眠問題
無法在啟動後立即進入休眠
如果您在啟動執行個體後太快嘗試讓執行個體進入休眠,則會出現錯誤。
啟動後,Linux 執行個體必須等待約兩分鐘,Windows 執行個體必須等待約五分鐘,才能進入休眠狀態。
轉換所需時間過長 stopping 至 stopped,且記憶體狀態未在啟動後還原
如果休眠的執行個體花費長時間才能從 stopping
狀態轉換為 stopped
,且如果記憶體狀態未在啟動後復原,則可能表示休眠未正確設定。
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
,則表示休眠已成功設定。
如果您看不到這些程序的任何日誌,您的 AMI可能不支援休眠。如需有關支援的 AMIs 的資訊,請參閱Amazon EC2執行個體休眠的先決條件。如果您使用自己的 Linux AMI,請務必遵循 的指示設定 Linux AMI以支援休眠。
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 Explorer 中輸入路徑,或變更資料夾屬性以顯示隱藏的檔案和資料夾。
尋找休眠的日誌行。如果日誌行指出失敗或日誌行不存在,則很可能在啟動時有錯誤的休眠設定。
例如,下列訊息表示休眠無法設定: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
,則表示休眠已成功設定。
Windows 執行個體大小
如果您使用的 T3 或 T3a Windows 執行個體少於 1 GBRAM,請嘗試將執行個體的大小增加到至少 1 GB 的執行個體RAM。
中的執行個體「卡住」 stopping state
如果您讓執行個體進入休眠,但該執行個體「卡」在stopping
狀態,您可以強制將其停止。如需詳細資訊,請參閱解決 Amazon EC2 執行個體停止問題。
休眠後無法立即啟動 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 執行個體約五分鐘,然後重試啟動執行個體。
繼續執行 Spot 執行個體失敗
如果您的 Spot 執行個體已成功休眠,但是無法繼續執行,而是會重新啟動 (未保留休眠狀態而直接重新啟動),可能是因為使用者資料包含下列指令碼:
/usr/bin/enable-ec2-spot-hibernation
從啟動範本的使用者資料欄位中移除此指令碼,然後請求新的 Spot 執行個體。
請注意,即使執行個體無法繼續執行,在不保留休眠狀態的狀態下,仍可使用與從 stopped
狀態啟動的相同方式啟動執行個體。