体育平台

經常會有朋友在使用 VPS 的過程當中發現,VPS 的時間不正常,比方說無法設置時區,或者設置時區之后 VPS 的時間與時區所屬的當地時間有8小時的差距。更極端的情況是,通過一些方法來設置之后,也沒辦法實現時間的同步。特別是目前我們很多朋友都在使用國外服務商提供的 VPS,國外服務器的時區和中國地區的不一樣,因此在一些情況下,我們無法正常同步時間。對于這個問題,我們提出了解決方法。
?
需要注意的是,本文針對的是基于 Xen 虛擬化技術,特別是 Xen-PV,而且內核版本小于 3.0 的 Linux 系統。基于 Xen-HVM 或者內核版本為 3.X 的不支持,也不需要使用此方法。

解決VPS時間無法同步的一般方法:
?
一般來說,可以通過在VPS中執行以下命令,來設置時區并且同步將時間與北京時間進行同步:

rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install -y ntp
ntpdate us.pool.ntp.org
date

終極解決方法:
?
在使用我們前面介紹的方法之后,如果 VPS 的時間仍然無法同步,甚至出現一些很詭異的情況(如時差8小時等),同時你的 VPS 基于 Xen-PV,那么可以通過在 /etc/sysctl.conf 中加入以下內容來解決:

xen.independent_wallclock=1

加入上述內容之后,執行:

sysctl -p

執行完畢之后再重復一下本文所提到的 “一般方法” ,問題即能迎刃而解。由于 VPS 重啟后可能會被強制同步時間,因此最好在 /etc/rc.local 中加入:

ntpdate us.pool.ntp.org