时区
refer to : https://help.aliyun.com/document_detail/187600.html
# 查看时区列表
ls /usr/share/zoneinfo/Asia
# 修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 更新硬件时钟(RTC)
hwclock -w
# 查看时区
timedatectl status
Chrony NTP
refer to : https://sys-blog.net/rocky-linux/about-chrony/
# 确认chrony是否安装
rpm -qa | grep chrony
# 安装
dnf install chrony
# 启动chronyd服务并设置开机自启动
systemctl start chronyd.service
systemctl enable chronyd.service
修改/etc/chrony.conf配置文件,如下:
# vi /etc/chrony.conf
pool ntp.aliyun.com iburst
pool ntp1.aliyun.com iburst
driftfile /var/lib/chrony/drift
#makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
leapsecmode slew
maxslewrate 1000
smoothtime 400 0.001024 leaponly
# 重启chronyd服务
systemctl restart chronyd
# 确认chronyd服务是否设定为开机自动启动
systemctl is-enabled chronyd
# 强制与系统时钟进行同步
chronyc -a makestep
#重新查看时间
[root@localhost ~]# date
Mon Feb 27 11:18:09 CST 2023
[root@localhost ~]# timedatectl
Local time: Mon 2023-02-27 11:18:57 CST
Universal time: Mon 2023-02-27 03:18:57 UTC
RTC time: Mon 2023-02-27 03:18:57
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
解释下/etc/chrony.conf文件的内容
pool
指定时间同步的NTP服务器,chrony的默认设定指定了外部的NTP服务器,不进行修改也能正常运行。企业内部通常会搭建DNS服务器,当NDS解析器(DNS Resolver)使用。近年来DNS使用DNSSEC(使用SSL)的企业越来越多,这就要求DNS服务器自身的时间必须是正确的(使用SSL的原因)。外部的NTP服务器通常会指定FQDN,假设因时间未同步导致DNS解析失败,进一步导致整个系统的时间同步失败。可以的话,NTP推荐指定IP地址而非FQDN。
外部的NTP服务器在这里指定阿里云对外公开的NTP服务 阿里云NTP服务器
iburst(Initial Burst)是chrony启动时,将在短时间内向NTP服务器连续进行4次查询,收集尽可能多的样本用于统计信息。
driftfile
全路径的形式指定driftfile,drift是评估硬件时钟存在的固有偏差,并自动对此进行修补。
makestep
chrony启动后,如果在前3次的查询种检测到与NTP服务器的时间差异在1秒以上,运行于STEP模式,立即纠正时间。上述以外会运行于SLEW模式渐进式进行时间纠正。当运行PostgreSQL/Oracle等数据库时需要注意,STEP模式下立即纠正时间(服务器的时间为10:00,NTP时间为09:55,服务器时间将会被同步到09:55)可能会导致数据库无法正常运行。在这里注释makestep。
rtcsync
RTC将会每隔11分钟更新real-time clock(硬件时钟),推荐设定。
keyfile
NTP版本3以后可用的用于NTP认证的秘钥文件,NTP认证时由客户端向服务器端进行。
leapsecmode
关于闰秒的设定,chrony的推荐值。
logdir
指定保存NTP日志的目录。
maxslewrate
与leapsecmode一样。
leapsecmode
与leapsecmode一样。
chrony相关命令
chronyc sources命令,显示与NTP服务器的时间同步状态
chronyc sources命令是替代ntpd的 nptq -p 命令。
MS列的第一个M列的 ^ 表示NTP服务器,第二个S列的 * 表示现在正在进行同步的NTP服务器, + 表示同步备选NTP服务器, – 表示非备选NTP服务器。通过以上信息可确认到当前的时间同步情况。输出了关于自身状态的信息。
chronyc tracking
“chronyc sources”命令可查看与NTP服务器的时间同步状态,而”chronyc tracking”可跟踪服务器自身的状态。”chronyc tracking”执行结果如下,
手动执行时间同步
执行 chronyc -a makestep 命令。
轮询(polling)间隔
默认的轮询间隔为minpoll 6,maxpoll 10,与NTP一样这个值为 2n,既minpool为64秒,maxpoll为1024秒。
通过修改/etc/chrony.conf文件修改轮询间隔,如果修改默认设定的话,为了保持时间精度,推荐设定比默认的值更小的值。