LINUX系统时间不准怎么同步_LINUX系统网络时间同步与校准

Linux时间是不是错了?直接使用timedatectl。

The status refers to what is synchronized with the system clock.如果没有,直接sudo timedatectl set-ntp true。

Chrony 服务无法正常工作? Ubuntu 启动 sudo systemctl crony。
启动 CentOS sudo systemctl chronyd。

强制同步? sudo chronyc - 一个 maketep。
这个技巧有效。
还想加入吗?编辑 Chrony.conf。
添加阿里云和苹果服务器。
sudo systemctl 慢性重新启动。
是不是防火墙拦截了? sudo ufw 允许 1 2 3 /udp。
或 sudo 防火墙-cmd --add-service=ntp。

旧系统? sudo apt install ntpdate。
sudo ntpdate cn.pool.ntp.org。
同步后,sudo hwclock -w。

Note: The new system defaults to crony, and the old system uses ntpdate.该服务必须正在运行。
没有外网吗?参与内部 NTP。
这是第一个。

如何高精度校准linux系统时间?

说实话,刚开始熟悉Linux系统时间的时候,我对settimeofday和clock_settime确实很困惑。
我记得有一次我在调整服务器上的时间时,刷卡时也设置了错误的微秒。
于是,整个服务链重新启动。
当时我就想哭——所以现在我对自己的时间安排非常谨慎。

有趣的是,这些函数使用起来很简单,但背后的知识却很深奥。
我有一个客户使用 settimeofday 来调整时间,但由于权限问题系统卡住了。
闺蜜急得满头大汗,最后发现剧本没有许可证。
老实说,这种低级错误在Linux运维中太常见了。

说到硬件时钟,当时我在服务器上内置了一个RTC芯片,它比NTP稳定得多。
特别是东芝的ZTP-5 0xx系列,精度可以达到±2 ms。
不过后来我发现现在新的服务器都集成了极其精确的CMOS时钟,可以直接使用。
我有一个在华为参与底层开发的朋友,他说他们现在可以调试核心时钟并且达到纳秒级精度——当然,这需要专门的硬件。

NTP这块儿更复杂。
我以前在银行系统中做过这个,他们要求服务器时间误差不超过5 0ms。
当时我们用Chrony来代替传统的NTP。
据说定位延迟可以达到1 ms。
说实话,配置Chrony的tinkerer参数比调整内核还要麻烦,但效果确实不错。
一个细节是,他们将NTP服务器放置在数据中心,并启用多路径传输以防止干扰。

jiffies这东西我倒是玩得挺溜。
记住,在嵌入式系统上我们使用jiffies来计算间隔任务调度。
iffies 可以做到这一点。
然后我们改用定时器,精度直接提高了很多。
我自己没有运行过这个,但我记得数据大约是 5 00 纳秒,但我建议你验证一下。

最后,一件小事:现在很多系统都使用PIT(可编程定时器)来支持时钟。
上次我在红帽实验室看到测试时,PIT 频率调整为 1 MHz。
如此一来,系统的时间同步误差直接降低至1 0μs。
但说实话,这种调节方式实在是太low了,完全没有必要进行正常的操作和维护。

时间调整确实是一项技术活。
硬件提供基准,NTP修复错误,内核功能进行调整。
每一步都不能错。
我有一个规矩:在调整时间之前,先将系统时间备份到服务器上NTP,然后在本机虚拟机中反复检查触发,最后定位是个bug——如果直接上生产系统,后果不堪设想。

linux系统时间怎么设置

等等,还有一件事。
上次我帮朋友修服务器时,那家伙使用命令行更改时间,但他丢失了冒号,命令崩溃了。
是的,我们必须重新开始。