一个月前,我的 VPS 上的大量服务停止工作。经过大约一个小时的折腾,我发现时间冻结了。我猜想这是某种虚拟化错误,重新启动很快就解决了问题。
但是,今天我尝试运行我的 S3 备份,由于时间错误导致 SSL 失败。检查时间时我得到:
Current default timezone: 'Europe/London'
Local time is now: Sat Jul 11 22:03:02 BST 2009.
Universal Time is now: Sat Jul 11 21:03:02 UTC 2009.
tim@vps:~$ sudo ntpdate ntp.ubuntu.com
11 Jul 22:03:30 ntpdate[3901]: step time server 91.189.94.4 offset -14404.833448 sec
现在我在英国,时间显然刚刚过了 18:03。
我尝试手动设置日期:
sudo date +%T -s "18:03:30"
当我再读它时,它并没有改变
我把什么事情搞砸了?
编辑:
我已经跑过:
tim@vps:/var/log$ sudo hwclock --utc
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --localtime
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --show
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
再次编辑:
我已经重新启动它了,但情况仍然一样。
还:
tim@vps:~$ sudo hwclock --debug --show
hwclock from util-linux-ng 2.13.1
hwclock: Open of /dev/rtc failed, errno=2: No such file or directory.
No usable clock interface found.
Cannot access the Hardware Clock via any known method.
答案1
更新:我对 xen 一无所知。但是有很多页面在那里讨论你的情况。
以下是我发现的东西:
默认情况下,XenVM 的时钟与托管它们的 XenEnterprise Server 同步,并将忽略 ntp 守护程序(如果正在运行)发出的调整时间的请求。如果您希望 XenVM 拥有独立的时钟,请登录其文本控制台并发出命令
echo 1 > /proc/sys/xen/independent_wallclock
然后运行 NTP 守护程序。
要恢复默认设置,请发出命令
echo 0 > /proc/sys/xen/independent_wallclock
更新前:这可能是虚拟化问题。你用的是什么虚拟化软件?主机上的时间设置是什么?
答案2
答案3
如果您指的是 Xen VPS,那么时钟通常由 dom0 特权域管理,我认为托管服务提供商会负责管理。只要 dom0 有正确的时间和/或正在运行 NTP 守护程序以保持系统时间同步,任何 domU 都不需要运行 ntpd 本身。
我有几个 Xen 服务器,我只在 dom0 上运行 ntpd,所有 domU 虚拟机都有正确的时间。如果您实际上使用的是 Xen VPS,我猜想托管提供商在机器本身的时间方面存在问题。我知道在大多数 Xen 文档中,实际上建议将 /sbin/hwclock 清零为空文件,因为如果它实际上由于虚拟化而尝试直接与硬件时钟交互,它将在启动时导致问题。
答案4
尝试 dpkg-reconfigure tzdata 以确保它设置为 utc。另外,检查您是否安装了 ntpd,并将其指向 pool.ntp.org 的一组 ntp 服务器。