LXC 容器内的 Chronyd

LXC 容器内的 Chronyd

chronyd 似乎无法在 lxc 容器中工作。正在运行的容器不是无特权的。以下是使用 systemd 时显示的内容:

● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
Condition: start condition failed at Fri 2021-02-05 15:12:48 CET; 3s ago
           └─ ConditionCapability=CAP_SYS_TIME was not met
     Docs: man:chronyd(8)
           man:chrony.conf(5)

我非常希望管理 lxc 内部的时间,而不是主机的时间,因为它是一个 lxc 集群,我不想弄乱集群的时间。有人已经找到解决方法了吗?

答案1

编辑chronyd.service并添加-x,如下所示:

ExecStart=/usr/sbin/chronyd -x $OPTIONS

允许chronyd在容器中启动,但它实际上不会管理系统时钟。

来自手册页:

-x

此选项禁用对系统时钟的控制。chronyd 不会尝试对时钟进行任何调整。它将假定时钟自由运行,并仍跟踪其相对于估计真实时间的偏移和频率。此选项允许 chronyd 启动时无需调整或设置系统时钟(例如在某些容器中)即可作为 NTP 服务器运行。

相关内容