说明: |
VxRail 部署、升级和某些生产环境中可能会出现 NTP 问题,该问题可能是由于网络问题、NTP 服务器问题或不可靠的网络所导致。
使用 ntpq 可检查同步状态:
vrm:~ # ntpq -c assoc ind assid status conf reach auth condition last_event cnt =========================================================== 1 3898 961a yes yes none sys.peer sys_peer 1
注意:如果 NTP 工作正常,则 reach=yes,condition=sys.peer。
ntpq> rv 3898 associd=3898 status=961a conf, reach, sel_sys.peer, 1 event, sys_peer, srcadr=10.32.190.190, srcport=123, dstadr=10.32.190.171, dstport=123, leap=00, stratum=12, precision=-6, rootdelay=31.250, rootdisp=64.575, refid=10.62.68.236, reftime=e0d00ab8.2af01902 Wed, Jul 10 2019 6:56:56.167, rec=e0d00c5e.d78d706e Wed, Jul 10 2019 7:03:58.842, reach=377,
如果 reach 不是 yes,且 condition 不是 sys.peer(这表示时间同步出现问题),首先需要检查本地时间和 NTP 服务器时间。如果本地时间偏差大于/小于 1000 秒,则 ntpd 不会设置时钟,需要手动设置时间。
以下状态显示异常同步状态:
vrm:~ # ntpq -c assoc ind assid status conf reach auth condition last_event cnt =========================================================== 1 58280 8011 yes no none reject mobilize 1
reach=no 表示 NTP 服务器未响应请求或网络不可用。需要对网络和 NTP 服务器进行故障处理。
场景 1:网络问题: 使用 ping 检查 NTP 服务器是否可访问,并按照网络故障处理步骤进行检查。确认网络问题后,请客户与网络团队接洽,确保网络问题得到修复。
场景 2:错误的 NTP IP 或服务问题 如果 NTP 服务器可 ping 通,则客户可能输入了错误的 NTP IP 或是 NTP 服务遇到问题。向客户进行确认以确保 NTP IP 地址得到纠正,或者在客户具有其他 NTP 服务器时使用该服务器,请客户与其管理员团队接洽以进行检查。有时,服务器重新启动可以解决问题,因此我们可以在客户可接受该操作时进行尝试。
场景 3:Windows NTP 服务器 Windows 时间服务实施的 NTP 功能并不齐备,如果客户使用 Windows Server 作为 NTP 服务器,则 rootdisp 可能高于 1000。在这种情况下,请配置 Windows NTP 服务器以同步可靠的外部 NTP 服务器。
如果 reach=yes,但是 condition=reject,我们可以将 ntpq 与 assoc 和 rv 结合使用来检查 flash 代码、dispersion 和 rootdisp。
vrm:~ # ntpq -c assoc ind assid status conf reach auth condition last_event cnt =========================================================== 1 3898 9014 yes yes none reject reachable 1
注意:assoc 选项可以显示我们以后需要用于 rv 的 assid。
使用 rv 命令获取 flash 代码、dispersion 和 rootdisp。
运行 ntpq 命令以进入 ntpq shell,然后使用 rv assid 获取详细信息。
#ntpq ntpq> rv 3898 associd=3898 status=9014 conf, reach, sel_reject, 1 event, reachable, srcadr=10.32.190.190, srcport=123, dstadr=10.32.190.171, dstport=123, leap=00, stratum=12, precision=-6, rootdelay=31.250, rootdisp=1814.209, refid=10.62.68.236, reftime=e0cff348.12fb407d Wed, Jul 10 2019 5:16:56.074, rec=e0cff42b.60680b73 Wed, Jul 10 2019 5:20:43.376, reach=377, unreach=0, hmode=3, pmode=4, hpoll=6, ppoll=6, headway=50, flash=400 peer_dist, keyid=0, offset=-2536.264, delay=0.354, dispersion=16.515, jitter=4.414, xleave=0.038, filtdelay= 0.35 0.29 0.32 0.26 0.28 3.22 0.28 0.35, filtoffset= -2536.2 -2538.2 -2529.4 -2536.2 -2541.6 -2530.0 -2532.5 -2538.1, filtdisp= 15.63 16.63 17.59 18.55 19.53 20.53 21.52 22.50
flash=400 peer_dist #拒绝原因 dispersion=16.515 #表示 NTP 服务器与客户端之间的误差/方差 rootdisp=1814.209 #表示从根 NTP 服务器到客户端的误差/方差总量
flash=400 peer_dist 表示与根 NTP 服务器之间的距离太长,不适合进行同步。
您可以通过以下链接找到更多 flash 代码: https://www.eecis.udel.edu/~mills/ntp/html/decode.html#flash
通常,dispersion 高于 1000 会被视为不适合作为 NTP 服务器,如果 Windows NTP 服务器配置为与自己同步时间,或参数未正确配置,则 rootdisp 将高于 1000,需要纠正 Windows Server 中的 NTP 配置。
请参阅以下 Microsoft 知识库文章以配置 Windows 时间服务器: 《如何在 Windows Server 中配置权威时间服务器》:https://support.microsoft.com/zh-cn/help/816042/how-to-configure-an-authoritative-time-server-in-windows-server
注意:将 MaxPosPhaseCorrection、MaxNegPhaseCorrection 和 SpecialPollInterval 更改为 300 秒。
场景 4:NTP 服务器与外部 NTP 服务器之间的网络不稳定
按照网络故障处理步骤检查网络,可以使用 ping 检查是否存在高延迟。 |