在编译/构建C++包时,我遇到了时钟偏差问题。
我们使用从远程驱动器到本地驱动器的软链接来获取公共包,同时构建一个包作为夜间构建。我们还安装了NTP服务器来匹配这两个时间。我们并不总是面对它,但有时会。
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[2]: Warning: File 'Makefile' has modification time 0.00096 s in the future如果我在本地机器上构建它,那么构建行为是正确的,但是由于某些原因,我们不能在CICD过程中这样做,因为它需要3个小时来构建。由于此问题,编译器无法检测到某些文件。
这个应用是基于QT构建的。
对此有什么建议吗?以前有没有人遇到过同样的问题?
发布于 2021-02-20 13:51:46
对于serverfault和tag NTP来说,这确实是一个问题。
我们有一个大型企业配置,具有多个虚拟机服务器和NFS/SAN存储。虽然我们的所有服务器都有NTP,但事实证明存储阵列头端无法访问NTP服务器(独立、隔离的VLAN)。故障来自阵列分配的时间戳,而不是已装载的服务器。它将漂移到未来。有趣的是,托管虚拟机的是同一个阵列。
我们观察到iasue甚至运行tar,以及检测源码控制和构建的变化。
确保您的所有服务器都指向有效的上游服务器,一直指向权威时钟。这包括SAN机头设备和任何备份/恢复主机。您可以使用google搜索最佳实践,但一个好的建议是服务器重新注册到上游网络交换机,并将这些服务器注册到内部NTP服务器(备用(或2个更好)),然后将这些服务器注册到公共权威来源。使用LDAP或AD作为上行源是完全可以的。这样,即使网络中断,至少网段中的所有内容都是同步的。
使用ntpq进行验证。
发布于 2021-02-23 01:05:27
我只需要知道我们的服务器是用Chronyc配置的。
这是chronyc tracking状态
Stratum : 6
Ref time (UTC) : Mon Feb 22 17:01:00 2021
System time : 0.000108047 seconds slow of NTP time
Last offset : +0.000085771 seconds
RMS offset : 0.001162956 seconds
Frequency : 89.448 ppm slow
Residual freq : +0.001 ppm
Skew : 0.245 ppm
Root delay : 0.158043087 seconds
Root dispersion : 0.115303792 seconds
Update interval : 1043.7 seconds
Leap status : Normalhttps://stackoverflow.com/questions/66282769
复制相似问题