一、时间同步服务
1、概念
在 Linux 系统中,时间同步服务用于确保系统时钟与标准时间源保持一致,防止因硬件时钟误差或时区配置错误导致的时间偏差。
时间同步对以下场景至关重要:
-
日志一致性:多台服务器日志时间对齐,便于故障排查。
-
安全协议:Kerberos、SSL证书验证等依赖精确时间。
-
分布式系统:数据库集群、区块链节点等需严格时间同步。
-
定时任务:确保
cron
或systemd timer
按计划执行。
2、常见时间同步服务
工具 | 特点 | 适用场景 |
---|---|---|
NTP (Network Time Protocol) | 传统时间同步协议,稳定但配置复杂,需配合 ntpd 守护进程。 | 需要高精度同步的老旧系统。 |
Chrony | 现代替代方案,更快收敛时间,更适应网络波动,支持间歇性连接。 | 大多数现代 Linux 发行版(默认选型)。 |
二、系统时间及时区的管理(timedatectl)
1、命令
(1)timedatectl的名词解释
timedatectl
命令输入后,各名词的解释:
(2) 关闭时间系统锁(System clock synchronized)
systemctl stop chronyd.service
示例
(3)修改时间
1)先创建一个监视器方便观察时间修改变化
watch -n 1 timedatectl
示例
修改前的时间:
2)timedatectl set-time
设置时间命令
timedatectl set-time "2026-11-11 11:11:11"
示例
3)timedatectl list-timezones
列出时间区列表
timedatectl list-timezones
示例
4) timedatectl set-timezone
设置时间区
timedatectl set-timezone "Asia/Amman"
示例
5)timedatectlset-local-rtc
切换硬件时钟(RTC)模式
将硬件时钟设置为本地时间(常用于 Windows 双系统)
timedatectl set-local-rtc 1
将硬件时钟设置为 UTC(推荐用于服务器)
timedatectl set-local-rtc 0
三、chrony相关命令
(1) 设置同步时间
打开/etc/chrony.conf
vim /etc/chrony.conf
示例
打开后:
重启 chronyd.service 服务
systemctl restart chronyd.service
示例
改完重启后过一会,时间就会恢复正常
(2)部署本地时间源
这部分涉及两台主机(虚拟机),请自行添加
进入/etc/chrony.conf
vim /etc/chrony.conf
示例
找到此两行,并按图来修改
名词解释
allow:指定一台主机、子网,或者网络以允许访问本服务器
local stratum 10:
即使
server
指令中时间服务器不可用
之后重新打开这个服务
systemctl start chronyd.service
示例
用此命令用来看接口状况
netstat -antlupe | grep chronyd
示例
设置时间来测试
date 111111112026.11
示例
再次进入/etc/chrony.conf文件
vim /etc/chrony.conf
示例
进入以后:
重启服务
systemctl restart chronyd.service
示例
还需要在服务器端关闭火墙
systemctl stop firewalld
示例