在 photon os 中将“系统时钟同步:”设置从“否”更改为“是”的命令是什么

在 photon os 中将“系统时钟同步:”设置从“否”更改为“是”的命令是什么

我有一个运行 Photon OS 3.0 的虚拟机。 NTP 未配置,它正在使用硬件时钟。它已经不同步了。硬件时钟hwclock与虚拟机管理程序时间同步,但当我运行时date它与硬件不同步。

当我运行时timedatectl它显示System clock synchronized: no

将其更改为的命令/进程是什么System clock synchronized: yes

$ timedatectl
               Local time: Thu 2023-11-02 23:11:03 UTC
           Universal time: Thu 2023-11-02 23:11:03 UTC
                 RTC time: Thu 2023-11-02 23:09:29
                Time zone: UTC (UTC, +0000)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

答案1

如果您想将hwclock时间复制到系统时间(= 显示date),最简单的命令是

hwclock --hctosys --utc --noadjfile

笔记这将使系统时间向后改变,这对于数据库和其他关心时间戳正确顺序的应用程序来说可能是不利的。

如果必须在应用程序运行时进行此更改,更安全的方法是ntpdate -B <NTP server address>轻轻地将系统时钟“滑动”到正确的时间。

但上述任何一项都不会改变指示System clock synchronized


来自System clock synchronized内核的计时状态位:当 NTP 服务正在运行并且已成功将系统时钟同步到 NTP 时间源时,它将time_status使用以下命令翻转内核字中的相应位:adjtimex(2)系统调用。这是对适当位System clock synchronized的直接解释。time_statussystemd-timedated

在常规的 Linux 系统中,您技术上可以安装可选的adjtimex公用事业然后使用手动adjtimex -S 0将内核time_status字设置为 NTP 同步生效时通常的状态;但是我不能推荐这个因为这实际上只是对你自己和你的系统撒谎。

还,看来 Photon 操作系统可能没有adjtimex可用的命令/包无论如何,所以实际的答案可能是“如果不配置 NTP,你就无法做到这一点”。

答案2

弄清楚是什么原因造成的。由于某种原因,vcenter 中的设置Synchronize Time with Host未被选中。是否在虚拟机上启用并System clock synchronized设置更改为yes

来自 Vcenter 的快照

在此输入图像描述

相关内容