deadprogrammer Asked: 2009-05-09 11:09:51 +0800 CST2009-05-09 11:09:51 +0800 CST 2009-05-09 11:09:51 +0800 CST 时间漂移 772 你如何处理服务器时间漂移? time ntp time-synchronization 9 个回答 Voted Justin Scott 2009-05-09T11:14:19+08:002009-05-09T11:14:19+08:00 网络时间协议或 NTP 可用于将服务器上的时间与权威来源同步。例如,Windows 服务器将使用网络域控制器之一(DC 持有域的 PDC 模拟器 FSMO 角色 [感谢 Graeme])来获取时间信息。您可以将域控制器配置为从某个已知来源(例如 time.windows.com)获取信息。 Brent 2009-05-09T11:46:36+08:002009-05-09T11:46:36+08:00 并代表虚拟机人群...... 如果您正在运行虚拟服务器,时间漂移似乎是一个常见问题 - 因此通常有一种方法(NTP 除外)可以使 VM 与其主机保持同步。 就我而言,我使用的是 VMWare。我可以使用以下命令从 linux 虚拟机打开它: vmware-guestd --cmd "vmx.set_option synctime 0 1" 在 Windows 虚拟机中,您可以从系统托盘中打开vmware-tools图标,然后选择虚拟机和主机操作系统之间的时间同步 wzzrd 2009-05-28T03:55:12+08:002009-05-28T03:55:12+08:00 VMwareTools SyncTime 不是 ESX 上虚拟机的好选择!如果您遇到问题,VMware 本身已将其对 VM 计时的建议更改为使用 NTP 而不是 vmware-tools。 我曾经在 VMworld 与一位来自 VMware 的工程师谈过这个问题,并被告知 vmware-tools 从来没有被设计用来完成它现在正在做的工作。在过去,丢失中断是一个大问题。今天少了很多。这就是为什么 vmware-tools 能够在机器落后时更正您的机器时间,但在机器领先时不能纠正的原因。事实上,一旦机器超前于“实时”时间,如果你使用 vmware-tools 进行计时,你就会大吃一惊。 更好的是:使用 ntp 时,与使用 vmware-tools 相比,更正时间的进程实际上唤醒的频率更低。因此对于虚拟机,ntp 将提供更少而不是更多的开销。 因此,对于 Linux,您应该始终在 VMware 虚拟机中使用 ntp。完全禁用 vmware-tools 同步时间。 对于 Vmware 上的 Windows VM,我不太确定,但我认为它几乎相同。使用 AD 中内置的时间同步的东西,它比 VMware SyncTime 效果更好。(尽管 AD 时间同步本身很糟糕;存在的唯一原因是让 Windows boxen 与其域控制器保持同步,只要时钟差小于 5 分钟,Kerberos 仍然可以工作,所以有很多对准确性的需求较少。) 您可以在此处详细了解 Linux 上的 VMware 时间同步 iny 2009-05-09T11:11:07+08:002009-05-09T11:11:07+08:00 使用 NTP 守护进程。 Avery Payne 2009-05-11T13:37:18+08:002009-05-11T13:37:18+08:00 NTP是您的朋友。 RHEL/CentOS: yum install ntpd Debian/Ubuntu: apt-get install ntpd 视窗: 对于 Windows 2000:Tardis 2000。效果很好,带有控制面板。如果您使用它,请务必关闭 Windows 时间服务。 对于 Windows 2003/2008:已在此问题的其他答案中提到。或者,您可以在 2k3 机器上运行 Tardis 2000,我不知道它是否适用于 2k8。 对于任何 Windows 工作站:登录时运行以下命令: net time /domain:your-domain-here 对于所有 NTP 服务: 将您的服务指向 pool.ntp.org,尽管您至少希望将其缩小到同一个大陆。例如,美国服务器将使用 0.us.pool.ntp.org、1.us.pool.ntp.org、2.us.pool.ntp.org 等。 Jauder Ho 2009-05-10T01:12:42+08:002009-05-10T01:12:42+08:00 正如许多人所回答的那样,NTP 是要走的路。根据您的需要和要求,您可以使用几种可能的设计来同步时间。 将单个机器同步到公共主机,即 pool.ntp.org 指定一个本地主机(使用上游 NTP)并将其他所有内容同步到它 附有您自己的 GPS 硬件的本地大师(可能是 $$$) 如果你有很多机器,选项 2 和 3 对网络更友好。有关更多详细信息,请阅读 NTP 和时钟层。 此外,我发现 Windows 默认的同步间隔太长(每周一次),导致偏差太大。如果您想将时间设置为更短的时间(我每天使用一次),您应该查看以下内容。 http://www.softpedia.com/get/System/System-Miscellaneous/Internet-Time-Update.shtml http://www.tweakxp.com/article36948.aspx Adam Davis 2009-05-09T11:14:59+08:002009-05-09T11:14:59+08:00 主要是一个好的NTP服务器。设置它,使时钟自上次 NTP 同步后漂移不超过几秒钟,您应该不会有任何问题。 如果您的服务器每天漂移超过 30 秒,您可能想要寻找更好的替代方案,但大多数计算机内部的时钟通常比每天 30 秒好得多,因此每天同步一次通常就可以了。 请注意,如果您将其设置为定期同步 (ntpdate),并且不使用 NTP 守护程序 (ntpd),您可能会跳过几分钟 - 如果您落后 3 秒,并且 NTP 同步尝试在 10 分 58 秒进行更新,它会跳到 11 分钟 1 秒,并且根据您使用的调度程序,它可能不会触发 11 分钟的任务。 NTP 守护进程在后台运行并缓慢地修复时间,因此程序和进程会注意到时间可能会比平时稍微快一点或慢一点,但它不会跳过秒。 -亚当 user1797 2009-05-09T12:36:07+08:002009-05-09T12:36:07+08:00 一个 NTP 服务器,它是在您的 DC 上保持时间同步所需要的,是的。阅读这篇文章以获取有关如何将您的 DC 与外部源同步的说明,以及有关如何使用 Windows 2003配置权威时间服务器的知识库文章。您将需要两者来保持您的域时间同步。加入域的工作站,将自动与权威时间服务器同步。 Jeroen Landheer 2009-05-09T11:16:12+08:002009-05-09T11:16:12+08:00 为所有服务器使用一个公共时钟源,并确保您的时区设置正确。一个好的 Internet 来源是“time.windows.com”。如果您使用的是 Windows,则可以使用“net time”和“w32tm”来执行与时间相关的命令。
网络时间协议或 NTP 可用于将服务器上的时间与权威来源同步。例如,Windows 服务器将使用网络域控制器之一(DC 持有域的 PDC 模拟器 FSMO 角色 [感谢 Graeme])来获取时间信息。您可以将域控制器配置为从某个已知来源(例如 time.windows.com)获取信息。
并代表虚拟机人群......
如果您正在运行虚拟服务器,时间漂移似乎是一个常见问题 - 因此通常有一种方法(NTP 除外)可以使 VM 与其主机保持同步。
就我而言,我使用的是 VMWare。我可以使用以下命令从 linux 虚拟机打开它:
在 Windows 虚拟机中,您可以从系统托盘中打开vmware-tools图标,然后选择虚拟机和主机操作系统之间的时间同步
VMwareTools SyncTime 不是 ESX 上虚拟机的好选择!如果您遇到问题,VMware 本身已将其对 VM 计时的建议更改为使用 NTP 而不是 vmware-tools。
我曾经在 VMworld 与一位来自 VMware 的工程师谈过这个问题,并被告知 vmware-tools 从来没有被设计用来完成它现在正在做的工作。在过去,丢失中断是一个大问题。今天少了很多。这就是为什么 vmware-tools 能够在机器落后时更正您的机器时间,但在机器领先时不能纠正的原因。事实上,一旦机器超前于“实时”时间,如果你使用 vmware-tools 进行计时,你就会大吃一惊。
更好的是:使用 ntp 时,与使用 vmware-tools 相比,更正时间的进程实际上唤醒的频率更低。因此对于虚拟机,ntp 将提供更少而不是更多的开销。
因此,对于 Linux,您应该始终在 VMware 虚拟机中使用 ntp。完全禁用 vmware-tools 同步时间。
对于 Vmware 上的 Windows VM,我不太确定,但我认为它几乎相同。使用 AD 中内置的时间同步的东西,它比 VMware SyncTime 效果更好。(尽管 AD 时间同步本身很糟糕;存在的唯一原因是让 Windows boxen 与其域控制器保持同步,只要时钟差小于 5 分钟,Kerberos 仍然可以工作,所以有很多对准确性的需求较少。)
您可以在此处详细了解 Linux 上的 VMware 时间同步
使用 NTP 守护进程。
NTP是您的朋友。
RHEL/CentOS:
Debian/Ubuntu:
视窗:
net time /domain:your-domain-here
对于所有 NTP 服务:
将您的服务指向 pool.ntp.org,尽管您至少希望将其缩小到同一个大陆。例如,美国服务器将使用 0.us.pool.ntp.org、1.us.pool.ntp.org、2.us.pool.ntp.org 等。
正如许多人所回答的那样,NTP 是要走的路。根据您的需要和要求,您可以使用几种可能的设计来同步时间。
如果你有很多机器,选项 2 和 3 对网络更友好。有关更多详细信息,请阅读 NTP 和时钟层。
此外,我发现 Windows 默认的同步间隔太长(每周一次),导致偏差太大。如果您想将时间设置为更短的时间(我每天使用一次),您应该查看以下内容。
http://www.softpedia.com/get/System/System-Miscellaneous/Internet-Time-Update.shtml http://www.tweakxp.com/article36948.aspx
主要是一个好的NTP服务器。设置它,使时钟自上次 NTP 同步后漂移不超过几秒钟,您应该不会有任何问题。
如果您的服务器每天漂移超过 30 秒,您可能想要寻找更好的替代方案,但大多数计算机内部的时钟通常比每天 30 秒好得多,因此每天同步一次通常就可以了。
请注意,如果您将其设置为定期同步 (ntpdate),并且不使用 NTP 守护程序 (ntpd),您可能会跳过几分钟 - 如果您落后 3 秒,并且 NTP 同步尝试在 10 分 58 秒进行更新,它会跳到 11 分钟 1 秒,并且根据您使用的调度程序,它可能不会触发 11 分钟的任务。
NTP 守护进程在后台运行并缓慢地修复时间,因此程序和进程会注意到时间可能会比平时稍微快一点或慢一点,但它不会跳过秒。
-亚当
一个 NTP 服务器,它是在您的 DC 上保持时间同步所需要的,是的。阅读这篇文章以获取有关如何将您的 DC 与外部源同步的说明,以及有关如何使用 Windows 2003配置权威时间服务器的知识库文章。您将需要两者来保持您的域时间同步。加入域的工作站,将自动与权威时间服务器同步。
为所有服务器使用一个公共时钟源,并确保您的时区设置正确。一个好的 Internet 来源是“time.windows.com”。如果您使用的是 Windows,则可以使用“net time”和“w32tm”来执行与时间相关的命令。