伺服器沒有回應? 請使用緊急終端機

您可能已經知道,我們的平台可以保護您伺服器上可能發生的硬體故障。

當在機器上發生問題,或是我們發覺有可能會發生問題時(溫度異常,記憶體錯誤,等),您的 “伺服器” 會被自動簽移到另外一台主機上。當然,如果您的問題是發生在您的 “伺服器” 內,並不是物理主機的問題,這時若伺服器沒有回應下,您需要自行處理問題。

首先處理問題的第一個步驟是從 Gandi 的網頁介面上看一下伺服器的狀態是否是 “運作中”。在某些情況下有可能會是 “已停止” 或是 “已暫停” ,舉例來說,伺服器沒有續用。如果顯示的是 “運作中” 並且伺服器沒有回應,請依照下列方法進行檢查。

有三不同的情況:

您還可以使用 SSH 連線您的主機

在這個情況下,下列這些指令可以幫助您分析問題:

  • uptime 可以看到您目前伺服器的負載值,
  • free 可以在 “used” 欄位看到您應用程式使用記憶體的情況,
  • top (我們建議您安裝使用 htop 可以即時顯示應用程式使用系統資源(記憶體, CPU) 的等級,
  • dmesg 顯示來自您內核的訊息,
  • 用 tail 查看日誌檔(logs),像是 /var/log/messages 與 /var/log/daemons,舉例來說(執行 tail /var/log/daemons),就可以看到有用的訊息,
  • df –h 顯示您硬碟可使用的總空間。

最常見的錯誤狀況:

  • 系統硬碟沒有足夠的空間: 這種情況最常發生因為系統的日誌檔消耗了所有硬碟空間,或是您的資料庫成長的太快。解決方法是清除不必要的空間或是 加大您的硬碟.
  • 伺服器的記憶體大小不足,或是使用了太多的記憶體: 簡易的解決方法就是增加額外的記憶體大小。如果您對系統熟悉,您可以嘗試修改 Linux 可用記憶體的設定,指令是 sysctl -w vm.overcommit_memory = 2。注意: 修改後可能需要重新啟動系統,您也必須增加 “vm.overcommit_memory = 2” 到 ”/etc/sysctl.conf” 與 ”/etc/gandi/sysctl.conf” 內。
  • 在您的伺服器上同時有太多程序在執行: 調整您應用程式的設定來降低同時執行過多程序的問題(譬如同時連接到 Apache 的數量)或是增加伺服器的等級來符合需求。

您沒有辦法使用 SSH 登入伺服器,並且用 ping 時會很慢甚至沒有回應

您可以在您的帳戶內使用 緊急終端機 來直接連接您的伺服器,就像您使用螢幕與鍵盤直接連接伺服器一樣。

在這種情況下,您可以停止所有有問題的應用程式,然後再次嘗試連接您的伺服器。

您可以使用緊急終端機中的 'sysreq' 模式。使用 Ctrl + o 來進入 sysreq 模式,然後輸入您的指令。您可以使用 Ctrl + o + i 來刪除所有程序。Ctrl + o + h 來查詢其他有用的指令。

您的伺服器顯示 “unreachable”,但是一切動作正常,並且沒有其他錯誤訊息

有可能您的伺服器正在遭受 DDoS 攻擊。因此,您的伺服器與整個網路會被獨立起來,藉此保護我們的基礎設施與其他客戶。

您需要確認自己的伺服器的情況是否遭受攻擊,請用 traceroute 這個指令來測試您自己伺服器的 IP 位址。如果在 Gandi 的其中一個路由中停了下來,表示您的伺服器已經被獨立了起來,您可以透過終端機連線到您的電腦,請透過 聯絡我的們客服團隊 來確認問題(他們通常先聯絡您)。伺服器被獨立的情況只有在很緊急的情況下才會發生。

在那之後,如果您還是被封鎖,這表示您是屬於第四種情況: 請聯絡我們的客服 跟我們說伺服器依舊被封鎖,他們將會盡快處理並回覆給您。

上一次變更: 2016/05/31 10:22 (外部編輯)