网络时间同步 从版本号 213 的 systemd 开始,包括了一个名为systemd-timesyncd 的守护进程,将能够和远程的 NTP 服务器同步时间。 从版本号 216 的 systemd 开始,systemd-timesyncd 守护进程默认启用,如果需要禁用,执行以下命令: systemctl disable systemd-timesyncd / etc/systemd/timesyncd.conf 文件也可以通过 systemd-timesyncd 同步来更改 NTP 服务。 需要注意的是,当使用本地时间作为系统时间时,systemd-timesyncd 无法更新硬件时钟。
set-timezone TIMEZONE 您可以通过运行以下命令查看可用的时区列表: timedatectl list-timezones 网络时钟同步 从版本 213 开始,systemd 附带了一个名为 systemd-timesyncd 从 systemd 版本 216 开始,systemd-timesyncd 守护进程被默认启用。 如果希望禁用它,执行以下命令: systemctl disable systemd-timesyncd 可以在 /etc/systemd/timesyncd.conf 中修改 systemd-timesyncd 注意,当系统时钟设定为本地时间时,systemd-timesyncd 不会更新硬件时钟。
sudo apt install systemd-timesyncd #它和ntp是冲突的,二者只能安装一个。 systemd-timesyncd.service 如果以上systemd-timesyncd.service因为什么原因而不存在,则可通过以下命令修复: sudo dpkg-reconfigure systemd-timesyncd
在本文中,我们将介绍一些与时间相关的基本命令,验证ntpd是否处于活动状态并连接到对等端,并了解如何激活备用systemd-timesyncd网络时间服务。 切换到systemd-timesyncd 可以使用systemd的内置时间同步组件来替换ntpd。timesyncd是ntpd的轻量级替代品,与systemd集成得更多。 要使用timesyncd,我们必须首先卸载ntpd: sudo apt purge ntp 然后,启动timesyncd服务: sudo systemctl start systemd-timesyncd 最后,检查服务的状态以确保它正在运行: sudo systemctl status systemd-timesyncd ● systemd-timesyncd.service - Network Time : 2 (limit: 4915) CGroup: /system.slice/systemd-timesyncd.service └─3399 /lib/systemd/systemd-timesyncd
工具 类型 优势 建议场景 chronyd(推荐) NTP客户端/服务端 精度高、速度快、支持虚拟化、支持离线漂移计算 企业级生产环境 ntpd 传统NTP守护进程 历史悠久 不推荐,新项目不使用 systemd-timesyncd 这意味着: 二级服务器可继续往下同步 生产环境中的所有机器只依赖内部 NTP,不直接请求公网 优点: 安全稳定、不受网络波动影响 同机房时间高度一致(偏差 <1ms) 降低公共 NTP 服务压力 六、systemd-timesyncd
systemd-timesyncd 客户端 现在,我已经累了,但是我们刚到非常精彩的部分。谁能想到计时如此复杂? 现在,你可以在你的局域网中的其它计算机上设置 systemd-timesyncd,这样它们就可以使用你的本地 NTP 服务器了,或者,在它们上面安装 NTP,然后在它们的 /etc/ntp.conf 上输入你的本地
systemd-timesyncd 客户端 systemd 提供了 systemd-timesyncd.service 客户端,它可以查询远程时间服务器并调整你的本地系统时间。 现在,你可以在你的局域网中的其它计算机上设置 systemd-timesyncd,这样它们就可以使用你的本地 NTP 服务器了,或者,在它们上面安装 NTP,然后在它们的 /etc/ntp.conf 上输入你的本地
timedatectl set-ntp off sudo timedatectl set-ntp on sudo systemctl daemon-reload sudo systemctl restart systemd-timesyncd
系统性能影响: 资源占用:时钟同步服务(如systemd-timesyncd)对CPU、内存和网络资源的消耗应当尽量低,以免影响服务器其他任务的性能。
systemd-timesyncd 客户端 现在,我已经累了,但是我们刚到非常精彩的部分。谁能想到计时如此复杂? 现在,你可以在你的局域网中的其它计算机上设置 systemd-timesyncd,这样它们就可以使用你的本地 NTP 服务器了,或者,在它们上面安装 NTP,然后在它们的 /etc/ntp.conf 上输入你的本地
home/dev/cgroup/demo# #系统中找一个有多个线程的进程 root@ubuntu:/home/dev/cgroup/demo# ps -efL|grep /lib/systemd/systemd-timesyncd 00:00:00 /lib/systemd/systemd-timesyncd systemd+ 610 1 616 0 2 01:52 ? 00:00:00 /lib/systemd/systemd-timesyncd #进程610有两个线程,分别是610和616 #将616加入c1/cgroup.procs root@ubuntu:/home
synchronized: yes ##如果和远程NTP服务器成功同步,显示为yes systemd-timesyncd.service active: yes ##NTP时间同步是否开启,yes表示是,systemd-timesyncd
systemctl list-units | grep -E 'ntp|chrony|timesyncd' 根据结果使用对应的命令查看NTP状态和配置文件: NTP服务 查看状态的命令 配置文件 systemd-timesyncd
NTP服务冲突:若同时安装chrony或ntp,需检查服务状态,避免与systemd-timesyncd冲突。
/lib/systemd/systemd-udevd 4026532625 mnt 1 757 systemd-timesync /lib/systemd/systemd-timesyncd 4026532626 uts 1 757 systemd-timesync /lib/systemd/systemd-timesyncd 4026532627 mnt
00:00:00 /lib/systemd/systemd-timesyncd root 487 1 0 43072 6060 0 Feb16 ?
所以最好配置NTP时间同步: yum install -y ntpdate ntpdate ntp.aliyun.com 或者用systemd-timesyncd: timedatectl set-ntp
Debian 12默认使用systemd-timesyncd,可以检查一下时间同步状态: timedatectl status 如果时间不同步,可以手动同步: apt install ntp -y systemctl
28144 0.0 S vmware-vmblock-fuse /run/vmblock-fuse -o rw,su 495 1 100 18500 0.0 S systemd-timesyncd
时间同步:使用 Chrony 或 systemd-timesyncd 确保所有服务器时间一致。