在许多关于 ntpd 的入门读物中,像这本一样,总有一个警告说 ntpd 将停止重置时钟“[如果] 你的时钟太远了。”
“离得太远”有多远?
此外,如果服务器突然跳到重负载,例如从完全空闲到 100% CPU,温度升高是否会导致时钟偏差“太远”?
即使时间“太远”或至少使“太远”更远,ntpd 是否可以配置为重置时钟?
是否有一种现有的机制可以在在线时将 linux 系统与 NTP 同步,并在离线时与可预测的漂移 RTC 同步?
我们操作远程“收集器”:收集和时间戳传感器数据的嵌入式 Linux 系统。我们需要他们的时钟误差保持在相当小的范围内,比如低于 5 秒。通常我们使用 NTP 来同步他们的时钟,只要系统在线,就可以正常工作。
问题是一些收集器的上行链路非常糟糕,可能会中断数小时、数天甚至数周。这不会停止本地数据收集,但如果没有 NTP,Linux 系统时钟漂移严重且不可预测。
OTOH,硬件的 RTC 漂移也很大,但速率恒定。RTC 漂移率因板而异,但每块板都是恒定的,并且可以测量。
我想我们需要的是一种执行以下操作的机制:
对于“机制”,我指的是一些维护良好、记录在案的软件和/或配置,可以处理“在线”与“离线”两种状态,确保系统时钟与正确的时间源(ntp 与 ntp 与 ntp 同步)。 rtc),检测状态变化,并校正 RTC 漂移。无论是作为特殊的 ntpd 配置/插件、作为单独的守护程序、作为 cron 作业还是其他方式实现,都没有多大关系。
我看过Chrony,但根据它的文档,它试图预测系统时钟的漂移,在我们的例子中,它的漂移比 RTC 更难以预测。Chrony 似乎只使用 RTC 来保持重新启动的时间。
(1) 注意 ntpd 激活内核的“11 分钟模式”(每 11 分钟从系统时钟更新 rtc)。当前的内核和 ntpd 似乎没有办法阻止 11 分钟模式。因此,任何 rtc 漂移信息在 ntpd …
您能想到哪些问题可能由错误的系统时钟设置引起?
主要对影响服务器和 Linux 或类 UNIX 系统的潜在问题特别感兴趣。
这些后果有多严重,取决于系统时间关闭了多少?例如,5 分钟、30 分钟、1 小时、1 天。
为了在 red hat Linux 机器(版本 5 和 6)上配置时区需要配置文件:
/etc/sysconfig/clock
Run Code Online (Sandbox Code Playgroud)
并在它们之间创建符号链接
/etc/localtime to /usr/share/zoneinfo/America/New_York
Run Code Online (Sandbox Code Playgroud)
但/etc/sysconfig/clock还需要将ZONE变量设置为以下示例:
ZONE="America/New_York"
Run Code Online (Sandbox Code Playgroud)
那么,什么是需要设置的变量ZONE=America/New_York时,它是从链路很清楚/etc/localtime的是指向/usr/share/zoneinfo/**America/New_York**?
那么有什么需要ZONE用“ America/New_York”值来设置参数呢?
我有一个本地网络,微控制器 ARM 作为 NTP 服务器,我有一台运行 ubuntu 16.04 LTS 作为 NTP 客户端的台式计算机。
一旦我从ntpd -g -c /etc/ntp.conf以下 ntp 配置文件开始
server 192.168.0.11 minpoll 4 maxpoll 4
Run Code Online (Sandbox Code Playgroud)
ntpd 设置时间后的第一个偏移显示了非常好的结果,即低于 1ms。我通过ntpq -p.
然而,偏移量在大约 55ms 后缓慢上升。1000 秒。对于我的应用程序来说,这种高偏移是不可接受的。但是在偏移量达到 55 ms 后,ntpd似乎再次设置时间并且偏移量变得足够小且稳定(< 1ms)。似乎ntpd让时钟漂移了一段时间,在(太)长的时间之后,守护进程对 NTP 客户端和 NTP 服务器之间的时钟漂移采取对策。
使用ntpd -g -c /etc/ntp.conf -f /etc/ntp.driftwherentp.drift由 生成ntpd,偏移量将始终保持在 1ms 以下,即没有时钟漂移引起的偏移量线性上升;期望的行为。
现在我的问题:在我的应用程序中,我们不能让ntpd运行一段时间来计算很长一段时间后的时钟漂移,同步必须在启动 NTP 客户端后几秒钟后进行,并且偏移量必须保持不变稳定的。
如何ntpd在不确切知道时钟漂移的情况下获得稳定且小的偏移量?
我的服务器上的时钟出现了一些奇怪的问题——它比正常情况快了大约 10%。
问题开始于 2 天前,我没有对服务器做任何特别的事情。
我试图通过停止 ntpd 守护进程来关闭 ntp 更新。
看起来硬件时钟被禁用了。
? sudo hwclock --show
select() to /dev/rtc to wait for clock tick timed out
Run Code Online (Sandbox Code Playgroud)
sudo date -s "Sun Feb 5 00:30:15 CET 2012"或sudo ntpdate -b prrr.se,暂时解决问题我尝试使用ntpdate -b prrr.se. 这是结果
后5秒
? sudo ntpdate -b prrr.se
5 Feb 00:19:54 ntpdate[24137]: step time server 178.78.255.254 offset -1.179405 sec
Run Code Online (Sandbox Code Playgroud)
后10秒
? sudo …Run Code Online (Sandbox Code Playgroud) 无论如何,Hyper-V 虚拟机一直在寻找与主机同步时间的方法。
我有:
这里有趣的是,Windows 以某种方式重置了最后一点(安全策略)并将 LOCAL SERVICE 添加回允许设置日期和时间的用户列表。这对我来说是完全出乎意料的行为。
我缺少什么吗?
Centos 7.0
chronyc (chrony) 3.1 版 (+READLINE +IPV6 +DEBUG)
我想找到一种方法来强制 chronyd 立即更改硬件时钟而无需等待。
该程序chronyd目前正在我的机器上运行:
[root@localhost ~]# ps -ef | grep chronyd
chrony 599 1 0 21:59 ? 00:00:00 /usr/sbin/chronyd
root 6710 4779 0 22:31 pts/0 00:00:00 grep --color=auto chron
Run Code Online (Sandbox Code Playgroud)
chronyd实际上在文件中是这样配置的/etc/chrony.conf:
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger …Run Code Online (Sandbox Code Playgroud) 我无法在多个 kvm 来宾上保持系统时钟同步。我在谷歌上搜索了很多,发现了很多不同的选择,其中许多我都尝试过,但都无济于事。所以我来了。
ntpd 是不可能的(主机系统运行它并且时钟总是正确的,但是如果你在来宾上运行它,时钟就会失控)。
主机为 Ubuntu 9.04,内核为 2.6.28-11-server 来宾为 Ubuntu 8.04,内核为 2.6.24-24-virtual
这是主机上的时钟源情况:
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm jiffies
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Run Code Online (Sandbox Code Playgroud)
在客人身上:
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc pit jiffies
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
pit
Run Code Online (Sandbox Code Playgroud)
我在来宾的内核启动参数中有“clock=pit Divisionr=10”。它仍然在漂移。我们不是在谈论大规模的漂移,但有一些。
有什么建议?有没有人遇到过这个问题并处理过它?
linux virtual-machines clock-synchronization kvm-virtualization
我当前的系统明显偏离 hwclock 和 ntpd。我在网上和SF上查看了许多论坛和帖子,但没有找到合适的解决方案。
这是我的 ntpq -pn 输出:
轮询到达延迟偏移抖动时的远程重新定义 ================================================== ============================ 122.226.192.4 66.220.9.122 2 u 30 64 3 53.734 146507. 127822. 120-88-46-10.sn 158.43.128.33 2 u 33 64 3 150.373 12823.5 127821。 suisho.attritio 133.100.9.2 2 u 29 64 3 34.351 148556. 133910。 123.146.124.27 61.153.197.226 3 u 27 64 3 21.123 152572. 133909. 114.80.81.1 204.152.184.72 2 u 29 64 3 55.605 148520. 129851.
到目前为止,我的 'hwclock' 说:
Fri 25 Mar 2011 03:27:06 PM CST -0.048504 seconds
我的“约会”说:
Fri Mar 25 15:21:17 CST 2011 …