我的 Amazon Lightsail 執行個體沒有回應。造成這種情況的常見原因有哪些?我該如何進行疑難排解?
簡短描述
如果您的執行個體沒有回應,請查看狀態檢查執行個體指標以確定疑難排解步驟。Amazon Lightsail 透過兩個狀態檢查來監控每個執行個體的運作狀態:
**系統狀態檢查:**系統狀態檢查會偵測您的執行個體在其上執行之底層主機的問題。如果底層主機由於網路、硬體或軟體問題而沒有回應或無法存取,則此狀態檢查會失敗。
**執行個體狀態檢查:**執行個體狀態檢查失敗表示存在由於作業系統層級錯誤而導致的執行個體問題。作業系統層級錯誤包括:
- 無法啟動作業系統。
- 無法正確掛載磁碟區。
- 檔案系統問題。
- 不相容的驅動程式。
- 核心錯誤。
執行個體狀態檢查也可能因為資源過度使用而失敗。以下是運作狀態檢查可能因資源過度使用而失敗的三個常見原因:
- 當負載較重時,您的執行個體可能會在高載區域中執行,這可能會導致執行個體沒有回應或當機。
- 根裝置已佔用 100%,從而導致執行個體在啟動時卡住。
- 在執行個體上執行的處理序使用了所有記憶體,從而導致核心無法執行。
解決方案
檢視執行個體的狀態檢查指標,以判斷執行個體未能通過系統狀態檢查還是執行個體狀態檢查。
系統狀態檢查失敗
如果系統狀態檢查失敗,則必須透過停止並啟動執行個體將執行個體遷移到運作狀態良好的新主機。您可以手動停止後再啟動執行個體以將其遷移到運作狀態良好的新主機。
**注意:**停止後再啟動不等同於重新啟動。需要啟動才能將執行個體遷移到運作狀態良好的硬體。
警告:在停止後再啟動您的執行個體之前,請注意執行個體的公有 IP 地址在每次執行個體停止後再啟動時都會發生變更。如果您想要讓公有 IP 在執行個體每次停止後再啟動時保持不變,您可以連接一個靜態 IP 地址。
執行個體狀態檢查失敗
如果執行個體狀態檢查失敗,則原因可能是作業系統層級問題導致啟動錯誤或執行個體資源過度使用。以下是執行個體狀態檢查失敗的常見原因:
高 CPU 使用率
檢視執行個體的 CPUUtilization 指標。請注意 CPU 使用率是否高於可持續區域,這意味著執行個體在高載區域中執行並且負載很高。如果是這種情況,請使用以下選項進行疑難排解:
- 重啟執行個體以使其恢復到運作良好狀態。
**注意:**如果您當前的執行個體計劃無法滿足執行個體的 CPU 需求,那麼重啟後問題將再次出現。
- 考慮切換到能夠滿足您 CPU 需求的更大的執行個體計劃。
記憶體耗盡
當記憶體耗盡時,核心沒有足夠的記憶體來執行。發生這種情況時,其他處理序將停止以釋放記憶體,從而使執行個體沒有回應。您可以嘗試重新啟動或停止後再啟動執行個體。這些程序可減少記憶體的用量。
磁碟已滿錯誤
如果裝置上沒有剩餘空間並且檔案系統已達到其容量上限,則執行個體可能因根裝置耗盡已進入緊急模式。若要解決此問題,您可以選擇具有更大磁碟區大小的 Lightsail 計劃或搭售。
若要將 Lightsail 計劃升級到更大的執行個體,請執行以下操作:
1. 建立執行個體的快照。
2. 從快照建立一個更大的執行個體。
3. 升級 Lightsail 計劃後,連線到執行個體。
4. 執行 lsblk 命令檢查磁碟配置。即使磁碟空間增加,也可能缺少可用空間,從而阻止增加分割區和檔案系統大小的自動處理序執行。如果發生這種情況,則需釋放一些空間,並手動增加分割區和檔案系統大小。為此,請執行以下命令:
執行 growpart 命令來增加根分割區或分割區 1 的大小:
$ sudo growpart /dev/xvda 1
執行 lsblk 命令以驗證分割區 1 已擴展:
$ lsblk
展開檔案系統。使用以下命令驗證根分割區 "/" 的檔案系統:
$ lsblk -f
在以下範例中,擴展了分割區 1 上的 EXT2/EXT3/EXT4 檔案系統:
$ sudo resize2fs /dev/xvda1
在以下範例中,擴展了 XFS 類型的檔案系統。在此範例中,"/" 是磁碟區掛載點。
$ sudo xfs_growfs -d /
擴展檔案系統後,執行 df -h 命令驗證作業系統是否可以看到額外的空間:
$ df -h
其他作業系統層級問題
其他問題包括開機問題、核心錯誤和網路故障。此外,可能存在區塊型儲存設備錯誤、軟體錯誤、任務停滯或異常系統問題。所有這些都可能導致執行個體沒有回應。嘗試重新啟動或停止後再啟動執行個體。如果重新啟動或停止後再啟動不能解決問題,您可能需要將 Lightsail 伺服器遷移到 EC2 以進行進一步的疑難排解。這是因為 Lightsail 適用於更簡單的工作負載,其疑難排解選項有限。
相關資訊
從 Lightsail 匯出的快照建立 Amazon EC2 執行個體