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 服务器运行。