We're broadly switching to synchronizing time with systemd's timesyncd
Every so often, simply writing an entry causes me to take a closer look
at something I hadn't paid much attention to before. I recently wrote
a series of entries on my switch from ntpd to chrony on my desktops and why we don't run NTP daemons but instead
synchronize time through a cron entry.
Our hourly crontab script for time synchronization dates back to at
least 2008 and perhaps as early as 2006 and our first Ubuntu 6.06
installs; we've been carrying it forward ever since without thinking
about it very much. In particular, we carried it forward into our
standard 16.04 installs. When we did this,
we didn't really pay attention to the fact that 16.04 is different
here, because 16.04 is systemd based and includes systemd's timesyncd
time synchronization system. Ubuntu installed and activated
systemd-timesyncd
(with a stock setup that got time from
ntp.ubuntu.com
), we installed our hourly crontab script, and nothing
exploded so we didn't really pay attention to any of this.
When I wrote my entries, they caused me to start actually noticing
systemd-timesyncd
and paying some attention to it, which included
noticing that it was actually running and synchronizing the time
on our servers (which kind of invalidates my casual claim here that our servers were typically less than
a millisecond out in an hour, since that was based on ntpdate
's
reports and I was assuming that there was no other time synchronization
going on). Coincidentally, one of my co-workers had also had timesyncd
come to his attention recently for reasons outside of the scope of
this entry. With timesyncd temporarily in our awareness, my
co-workers and I talked over the whole issue and decided that doing
time synchronization the official 16.04 systemd way made the most
sense.
(Part of it is that we're likely to run into this issue on all future Linuxes we deal with, because systemd is everywhere. CentOS 7 appears to be just a bit too old to have timesyncd, but a future CentOS 8 very likely will, and of course Ubuntu 18.04 will and so on. We could fight city hall, but at a certain point it's less effort to go with the flow.)
In other words, we're switching over to officially using systemd-timesyncd. We were passively using it before without really realizing it since we didn't disable timesyncd, but now we're actively configuring it to use our time local servers instead of Ubuntu's and we're disabling and removing our hourly cron job. I guess we're now running NTP daemons on all our servers after all; not because we need them for any of the reasons I listed, but just because it's the easiest way.
(At the moment we're also using /etc/default/ntpdate
(from the Ubuntu
ntpdate
package) to force an initial synchronization at boot time,
or technically when the interface comes up. We'll probably keep doing
this unless timesyncd picks up good explicit support for initially
force-setting the system time; when our machines boot and get on the
network, we want them to immediately jump their time to whatever we
currently think it is.)
|
|