使用 Ubuntu 22.04 的 Multipass 客户端重复显示错误的时间

使用 Ubuntu 22.04 的 Multipass 客户端重复显示错误的时间

我使用 Ubuntu 22.04 LTS 并安装了 Multipass 来快速启动小型 Ubuntu VM 进行测试。但是,这些 VM 始终显示强烈的时间漂移​​,并且无法与主机操作系统(具有正确的系统时间)同步。

在主机上:

$ date
Mo 25. Sep 20:40:24 CEST 2023

多通道内部:

$ date
Sun Sep 24 22:23:43 CEST 2023
$ timedatectl status
               Local time: Sun 2023-09-24 22:24:27 CEST
           Universal time: Sun 2023-09-24 20:24:27 UTC
                 RTC time: Mon 2023-09-25 17:04:01
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: no
              NTP service: n/a
          RTC in local TZ: no

Multipass 的“本地时间”偏差了一天减 2 小时,“世界时间”偏差了一天,“RTC 时间”偏差了大约 5 个小时(大约),...这是怎么回事?

我可以在 Multipass 内部运行另一个ntpd,但我宁愿避免这样做,只让 Multipass 重用我的主机时钟,而不创建自己的时间。

我怎样才能做到这一点?

答案1

@user535733 是对的。Multipass 确实存在一个问题,即当计算机挂起和/或守护进程挂起时,它会“停止时间”。这对于全天候运行的 VM 服务器群来说不是问题,但对于桌面开发机器来说是个问题。

解决方法:在每个多通道虚拟机中执行

$ echo PollIntervalMinSec=32 >> /etc/systemd/timesyncd.conf
$ echo PollIntervalMaxSec=2048 >> /etc/systemd/timesyncd.conf

这对我有用:

ubuntu@myvm:~$ timedatectl 
               Local time: Mon 2023-10-02 19:27:57 CEST
           Universal time: Mon 2023-10-02 17:27:57 UTC
                 RTC time: Mon 2023-10-02 17:27:56
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: n/a
          RTC in local TZ: no
ubuntu@myvm:~$ logout
~$ timedatectl 
               Local time: Mo 2023-10-02 19:28:02 CEST
           Universal time: Mo 2023-10-02 17:28:02 UTC
                 RTC time: Mo 2023-10-02 17:28:03
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

相关内容