麒麟服务器【chrony时钟同步设置】

麒麟服务器操作系统,需要同步内网时间服务器的时间,该如何配置呢?我们这里使用chrony服务为例。

Chrony概述

  • Chrony 是一个现代的时间同步工具,专门设计用于解决 NTP 在某些场景下的不足。
  • 它最初是为移动设备和网络不稳定的环境设计的,但在服务器和桌面环境中也很流行。

特点

  • 快速收敛:Chrony 能够在短时间内快速收敛到正确的时间,特别适合网络不稳定的环境。
  • 低资源消耗:Chrony 的资源消耗较低,适合移动设备或低性能设备。
  • 支持断网运行:Chrony 能够在断网时通过本地时钟继续运行,并在恢复网络后快速同步。
  • 动态调整:Chrony 能够动态调整时间同步的频率和策略,以适应网络环境。
  • 安全性:Chrony 支持更强的安全机制,如对称密钥加密。

chrony配置步骤

1.查看chrony时钟同步服务状态(麒麟服务器系统默认自带)

systemctl   status   chronyd

file

2.配置时钟同步

vim  /etc/chrony.conf

file

注释掉部分行,添加如下行:

server   IP(时钟源服务器)   iburst

最终如下图所示(IP地址按实际修改):
file

3.重启时钟服务

systemcl  restart chronyd

查看服务状态:

systemctl   status chronyd

4.查看是否同步成功
执行chronyc sources -v 命令,出现 ^*开头和IP 的为正常同步,如下图所示:
file
致此,chrony时间同步已经这配置好了!

配置动态调整

/etc/chrony.conf 中,可以通过以下参数设置动态调整:

iburst 选项

server  ntp.example.com  iburst
  • 在启动时快速进行多次同步(burst),以快速收敛到正确的时间。
  • 后续同步频率会根据网络条件和时钟偏差动态调整。

pollinterval 选项

server  ntp.example.com  minpoll  4  maxpoll  6
  • minpoll:最小轮询间隔(以秒为单位的 2 的幂),默认为 6(64 秒)。
  • maxpoll:最大轮询间隔,默认为 10(1024 秒)。
  • Chrony 会根据需要在这个范围内动态调整同步频率。

makestep 选项

makestep 1.0 -1
  • 在时间偏差超过 1.0 秒时,立即同步时间(而不是逐步调整)。
  • -1 表示仅在启动时允许大幅跳步。

动态调整的实践

以下是一个优化的 /etc/chrony.conf 配置示例:

# 使用公共 NTP 服务器
server  time.cloudflare.com  iburst
server  ntp.aliyun.com  iburst

# 动态调整同步频率
server  ntp.example.com  minpoll  4  maxpoll  6

# 在时间偏差超过 1 秒时立即同步
makestep  1.0  3

# 允许本地网络客户端同步时间
allow  192.168.1.0/24

# 启用本地硬件时钟
local  stratum  10

# 记录时间偏差日志
driftfile  /var/lib/chrony/drift

使用chronyc命令动态调整

除了配置文件,你还可以通过 chronyc 命令动态调整同步策略。

强制立即同步

chronyc  makestep

强制 Chrony 立即同步时间,而不是逐步调整。

调整同步频率

chronyc  pollsched

查看当前的同步计划(轮询间隔)。

手动设置轮询间隔

chronyc  polltarget  64

将目标轮询间隔设置为 64 秒。

监控动态调整效果

使用以下命令监控 Chrony 的动态调整效果:

chronyc  tracking

查看系统时间与 NTP 时间服务器的偏差和同步状态。

chronyc  sourcestats

查看时间服务器的统计数据,包括延迟、偏差和同步频率。


常用命令

# 启动 Chrony 服务
sudo  systemctl  start  chronyd
# 停止 Chrony 服务
sudo  systemctl  stop  chronyd
# 重启 Chrony 服务
sudo  systemctl  restart  chronyd
# 设置 Chrony 开机自启动
sudo  systemctl  enable  chronyd
# 禁用 Chrony 开机自启动
sudo  systemctl  disable  chronyd
# 检查 Chrony 服务状态
sudo systemctl  status  chronyd
# 查看时间同步源状态
chronyc  sources
# 查看详细的同步源信息
chronyc  sources  -v
# 查看当前时间同步状态
chronyc  tracking
# 手动同步时间,强制 Chrony 立即同步时间,而不是逐步调整。
sudo  chronyc  makestep
# 调整时间(强制)
sudo chronyc  settime  "2023-09-29 12:34:56"
# 添加新的时间服务器
chronyc  add  server  ntp.example.com
# 检查时间服务器的可用性
chronyc activity
# 强制与某个时间服务器同步
chronyc  burst  ntp.example.com
# 查看 Chrony 的配置
cat /etc/chrony.conf
# 查看 Chrony 的日志
journalctl -u chronyd
# 重新加载配置文件
sudo systemctl reload chronyd

chrony与NTP的对比

特性 NTP Chrony
设计目标 高精度时间同步 适用于不稳定网络和低资源环境
资源消耗 较高 较低
时间同步速度 较慢 较快
断网运行 不支持 支持
安全机制 支持,但较弱 支持更强的安全机制
工具 ntpd, ntpq chronyd, chronyc
适用场景 高精度、网络稳定的场景 移动设备、网络不稳定的场景

在实际使用中,Chrony 通常是更好的选择,尤其是在现代 Linux 发行版中。如果你对时间同步有更高的精度要求,可以考虑使用 NTP。

发表回复 0

Your email address will not be published.