修復Proxmox VE:連續要求登入 / Fix Proxmox VE: Endless Login
本篇是修復Proxmox VE的集叢(Cluster)中遇到不斷跳出「Proxmox VE Login」登入視窗的錯誤。這個錯誤是因為節點的時間不一致,使用ntpdate網路校時之後可以解決。以下說明造成錯誤的原因以及解決方法。
This article describes the problem of Proxmox VE Cluster: when you do anything on other nodes, Proxmox VE Login form prompted again and again. A proposed solution to the problem is correcting the time of every node by using ntpdate. Following are the problem description and solutions.
問題狀況 / Problem Description
有時候在進行Proxmox VE集叢中任何操作時,明明之前已經登入過了,但是現在卻又跳出了「Proxmox VE Login」登入表單。即使你再一次登入,這個登入表單依然會跳出來。就算網頁重新整理,這個它依然會跳出這個表單。
如果用Google Chrome來檢查錯誤主控臺,你會發現大量的「401 (No ticket)」,例如:
Failed to load resource: the server responded with a status of 401 (No ticket)
這大概是Proxmox VE使用者遇到最頭痛的問題了,一堆人都在網路上拼命地找尋這個問題的解決方法。但是這個問題本身不在於Proxmox VE集叢本身,而是在於伺服器上。
問題原因 / Causes of Problem
造成這個問題的原因是因為節點伺服器自己的時間不一致。
以下幾種情況可能會造成伺服器時間錯亂:
- 伺服器本身因為停電、長時間未通電使用等各種情況,導致伺服器本身記錄時間的電池沒電,時間被重置。
- 使用虛擬機器建置Proxmox VE節點,但是因為使用快照(Snapshot)與還原(restore),讓機器本身的時間與現實時間不一致。
- 因為任何原因設定了Linux系統的時間,例如用date工具。
你可以執行date指令來查詢伺服器現在的時間:
root@proxmox-02:~# date
Thu Aug 7 20:47:01 CST 2014
如果這個時間附和現實時間,那沒有問題。但通常有問題的節點的時間都會與現實時間不同。
當兩個節點的時間不一致時,維持正確時間的節點去查看延遲錯誤時間的節點時,大概兩者只要相差5分鐘,就會導致這個錯誤發生。
手動解決方案 / Manual Solution
要解決伺服器時間錯誤,最簡單的方法是使用網路校時ntpdate。Proxmox VE預設沒有安裝ntpdate,我們要先更新apt-get,然後再用apt-get安裝。接著就能夠跟NTP伺服器pool.ntp.org進行網路校時。
安裝ntpdate的做法如下:
apt-get update
apt-get install -y ntpdate
進行網路校時的指令如下:
ntpdate -u pool.ntp.org
自動解決方案 / Automatic Solution
要自動解決這個問題的方法是固定每天都進行網路校時,確保伺服器的時間一直保持正確。
我將以上指令寫成了腳本pve-ntpdate.sh,請下載到/root/dlll-cias/pve/scripts/pve-ntpdate.sh:
wget http://goo.gl/vKyjnQ -o /root/dlll-cias/pve/scripts/pve-ntpdate.sh
加入執行權限:
chmod +x /root/dlll-cias/pve/scripts/pve-ntpdate.sh
然後在crontab加入以下設定:
echo “0 2 * * * root /root/dlll-cias/pve/scripts/pve-ntpdate.sh”
這樣每天清晨2點的時候,伺服器會自動進行網路校時,以確保時間的正確性。
因為我常常使用這個指令,為了方便起見,我把它整理成以下一行:
回覆刪除apt-get update; apt-get install -y ntpdate; ntpdate -u pool.ntp.org
今天重灌Proxmox又遇到這個問題,這篇真是實用(自吹自擂?
回覆刪除我也一直出现这个问题,做了时间校准后还出现怎么办?
回覆刪除您好,
刪除這篇說明的做法適用於非常早期的Proxmox VE版本
可能不見得適用於現在的Proxmox VE
如果您有問題,建議到Facebook社群「Proxmox VE中文使用者社團」提問
https://www.facebook.com/groups/pve.tw