免责声明
图片
本公众号所有内容,只在测试环境中进行,如果您要使用文章中的内容对您的环境进行操作,请您一定知悉:所有的操作都会带来一定的风险,可能会导致系统崩溃等多种问题,切勿盲目操作,本公众号为您提供一种操作的思路,不对您的任何操作行为负责,请您知悉。切记:谨慎操作,非必要不操作。Hello,大家好啊!在保持服务器时间的精确同步方面,时间同步服务器(NTP服务器)扮演着至关重要的角色,它能确保系统操作的时间一致性,对于日志管理、安全协议等多个方面都极为重要。今天,我们将探讨如何在国产服务器操作系统,如麒麟KOS、统信UOS以及中科方德操作系统上安装和部署时间同步服务器。
选择合适的NTP软件
首先,我们需要选择合适的NTP(Network Time Protocol)软件。chrony和ntp是两种常见的时间同步软件。对于大多数服务器环境,chrony由于其更好的网络条件适应性和更快的时间校准速度,通常是推荐的选择。
01
查看系统信息
[root@localhost ~]# cat /etc/os-release[root@localhost ~]# uname -a图片
02
更新源
[root@localhost ~]# dnf update
图片
03
安装 Chrony
推荐使用Chrony,用于保持系统时间同步。
[root@localhost ~]# dnf install chrony图片
04
配置 Chrony
编辑 Chrony 的配置文件 /etc/chrony.conf。你需要为你的网络环境指定一到多个 NTP 服务器。
[root@localhost ~]# vim /etc/chrony.conf[root@localhost ~]#[root@localhost ~]# cat /etc/chrony.conf | grep -v '^#'#添加或修改下面的行来指定你的 NTP 服务器,例如使用公共 NTP 服务器或你组织的内部服务器。#iburst 参数在第一次同步时会发送更快的查询,帮助快速同步。server ntp1.aliyun.com iburstserver ntp2.aliyun.com iburstserver ntp3.aliyun.com iburstserver ntp4.aliyun.com iburstserver ntp5.aliyun.com iburstserver ntp6.aliyun.com iburstserver ntp7.aliyun.com iburstdriftfile /var/lib/chrony/driftmakestep 1.0 3rtcsync#根据需要,你可以控制哪些网络或主机可以访问你的 NTP 服务。这可以通过添加 allow 指令来实现。#这样配置会允许指定子网的所有设备同步时间。allow 192.168.133.0/24logdir /var/log/chrony[root@localhost ~]#
图片
05
重启并启用 Chrony 服务
[root@localhost ~]# systemctl restart chronyd[root@localhost ~]# systemctl enable chronyd[root@localhost ~]# systemctl status chronyd图片
06
配置防火墙
如果服务器有启用 firewalld,需要开放 NTP 服务使用的 UDP 123 端口。
[root@localhost ~]# firewall-cmd --add-service=ntp --permanentsuccess[root@localhost ~]# firewall-cmd --reloadsuccess[root@localhost ~]#
图片
07
检查时间同步源
使用 chronyc sources 命令查看哪些 NTP 源正在使用。
[root@localhost ~]# chronyc sources210 Number of sources = 2MS Name/IP address Stratum Poll Reach LastRx Last sample===============================================================================^- 120.25.115.20 2 6 307 16 +1864us[+1864us] +/- 20ms^* 203.107.6.88 2 6 37 25 -27us[-4100us] +/- 14ms[root@localhost ~]#下面是对输出的解析:
输出解释
210 Number of sources = 2
这意味着有两个时间源被配置和监测。Columns Explanation
MS: 显示时间源的状态。
^* 表示这是当前选择的主要时间源,正在使用它来同步时间。
^- 表示这个时间源被排除,不用于时间同步。Name/IP address
时间源的域名或IP地址。Stratum
时间源的层级,数字越小,表示时间源越接近参考时间源(通常是原子钟)。Poll
轮询间隔,以2的指数表示秒数,例如6表示 2的6次方=64 秒。Reach
一个八进制数,表示过去8个轮询周期内有多少次成功接收到了时间更新。LastRx
自上次接收到时间信息以来经过的时间,单位是秒。Last sample
最近一次时间同步的偏差以及总的估算误差。+1864us[+1864us] +/- 20ms
表示最近一次同步相对于本地时间快了1864微秒,估计误差为±20毫秒。-27us[-4100us] +/- 14ms
表示最近一次同步相对于本地时间慢了27微秒(最近的同步尝试慢了4100微秒),估计误差为±14毫秒。分析主时间源
IP为203.107.6.88的服务器是当前用于同步的主时间源(由 ^* 标记)。它的stratum为2,这通常是一个非常好的层级,说明它接近于顶层时间源。备用/被排除的时间源
IP为120.25.115.20的服务器目前被排除(由 ^- 标记),尽管它的stratum也是2,这可能是因为最近几次同步它的性能不如主服务器,或者有其他的同步问题。连接状态和健康状况
Reach 值为307(十进制),表明最近的8次轮询中有3次是成功的。而主时间源的 Reach 值为37(十进制),表明在8次轮询中有大约一半是成功的。
这个信息对于系统管理员来说是重要的,可以用来监控和确保时间同步服务的正常运行。如果 Reach 值很低,或者误差较大,可能需要进一步检查网络连接或考虑切换到其他的时间源。
图片
08
检查系统时间
查看系统时间与 NTP 时间的偏差。
[root@localhost ~]# chronyc trackingReference ID : CB6B0658 (203.107.6.88)Stratum : 3Ref time (UTC) : Tue Apr 30 05:32:39 2024System time : 0.000002115 seconds fast of NTP timeLast offset : -0.004073399 secondsRMS offset : 0.004207740 secondsFrequency : 47.666 ppm slowResidual freq : +12.095 ppmSkew : 6.210 ppmRoot delay : 0.025089689 secondsRoot dispersion : 0.003128333 secondsUpdate interval : 56.4 secondsLeap status : Normal[root@localhost ~]#
下面是对输出各部分的解释:
输出解释
Reference ID
用来识别当前时间同步参考的 NTP 服务器的 ID,这里 CB6B0658 是 IP 地址 203.107.6.88 的十六进制表示。
Stratum
当前时间源的层级,为 3,意味着这个时间源距离顶层时间源(如原子钟)有两级距离。
Ref time (UTC)
最后一次校时的时间,表示为 UTC 时间。
System time
系统时间相对于 NTP 时间的偏差,这里系统时间比 NTP 时间快大约 0.000002115 秒。Last offset
最后一次同步时,系统时间与 NTP 时间的偏差,这里系统时间慢了大约 -0.004073399 秒。RMS offset
均方根偏差,用于衡量最近几次偏差的稳定性,这里为 0.004207740 秒。Frequency
频率偏差,表示本地时钟的频率相对于标准频率慢了大约 47.666 ppm(百万分之一)。Residual freq
剩余频率,表示最后一次校时后,系统时钟频率相对于标准频率的额外偏差,这里为 +12.095 ppm。Skew
频率偏差的变化率,以 ppm 为单位,这里为 6.210 ppm。Root delay
从本机到时间参考源的总延迟,这里为 0.025089689 秒。Root dispersion
表示系统时间的最大误差,这里为 0.003128333 秒。Update interval
两次更新之间的时间间隔,这里是 56.4 秒。Leap status
闰秒状态,Normal 表示目前没有闰秒调整。分析
此命令的输出显示了 NTP 客户端如何调整本地时钟以与全球时间标准保持一致。它的重要性在于,它可以帮助管理员监控和调整服务器时间同步的性能。例如,如果 Root delay 或 Root dispersion 值过高,可能表示网络延迟大或时间源的质量不高,需要调整或更换时间源。同时,频率偏差和剩余频率指标有助于理解本地时钟硬件的性能及其与标准时间的偏差趋势。
图片
09
手动强制时间同步
如果需要立即同步时间,可以使用以下命令。
[root@localhost ~]# chronyc -a makestep200 OK命令解释chronyc -a makestep
这个命令告诉 chronyd 立即调整系统时钟,即使当前的偏差非常大。通常,chronyd 会逐渐调整时钟,以避免对正在运行的系统造成显著影响。然而,makestep 命令会忽略这种渐进调整,直接将系统时钟设置为与 NTP 时间一致。输出解释200 OK
这是一个状态码,表示命令已成功执行。在 chronyc 中,200 OK 指示没有错误,命令执行正确,并且期望的动作已经完成。使用场景makestep 命令通常用于几种特定场景,如:系统启动
确保系统在启动时能够迅速同步到正确的时间,尤其是当系统内置时钟(RTC)不准确或系统已经有一段时间没有联网时。系统时间显著偏离:如果检测到系统时间与实际时间相差很大(如硬件故障或长时间离线后),使用 makestep 可以立即纠正时间。特殊维护或配置变
在一些维护操作或配置更改后,可能需要立即确保系统时间的准确性。
使用 makestep 命令时,需要谨慎考虑其对系统和正在运行的应用程序可能产生的影响。突然改变系统时间可能导致某些依赖于时间的应用程序出现问题,比如数据库或时间序列数据分析应用。因此,在使用这一命令时,应当确保这种变更不会对系统运行造成负面影响。
图片
10
审查日志文件
查看 chronyd 的日志文件以获取详细的运行信息或错误日志。
[root@localhost ~]# journalctl -u chronyd
图片
11
查看ip地址
[root@localhost ~]# ip a图片
12
查看客户端系统信息
pdsyw@pdsyw-pc:~/桌面$ cat /etc/os-releasepdsyw@pdsyw-pc:~/桌面$ uname -a
图片
13
手动设置时间测试
图片
14
使用系统默认同步服务器不生效
图片
15
使用搭建的ntp服务器
图片
16
输入密码
图片
17
同步生效
图片
通过以上步骤,您可以在国产服务器操作系统上成功部署时间同步服务器,确保系统的时间准确性和网络操作的稳定性。无论是日志记录、任务计划还是安全协议执行,准确的系统时间都是必不可少的。希望这篇文章对您有所帮助,如果您觉得有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多有用的技术信息和解决方案。感谢大家的阅读,我们下次再见!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。比较好的股票配资提示:文章来自网络,不代表本站观点。