温馨提示,信息填写的越完整,审核速度越快哦~
下面让我们正式进入《一问一实验:AI 版》的第 59 期。
问题现象:OBServer 服务器 NTP 时钟同步异常,导致 OBServer 无法正常启动。
下面我们将带着问题,与 ChatDBA 进行四轮交互,精彩内容即将开始~
ChatDBA 演示视频,第一时间同步社区视频号及哔哩哔哩,欢迎关注。
专家模式在第一轮对话开始后,会根据问题生成【根因分析树】,展示 ChatDBA 对问题的排查逻辑,方便启发 DBA 快速定位问题。
根因分析树【专家模式】
将故障问题的输入给 ChatDBA。
ChatDBA 会根据问题生成 初步参考结果。
第一轮交互效果截图
ChatDBA 给出排查步骤,提醒需要收集 journalctl 日志 来进一步分析,同时给出具体的查询命令以及需要重点观察的内容。
根据上一轮 ChatDBA 给出的排查步骤,查询 journalctl 日志并输入给 ChatDBA。
ChatDBA 根据 journalctl 日志报错信息,需要我们排查 ntpdate 配置文件以及DNS设置,以便于继续排查问题产生原因。
第二轮交互效果截图
根据上一轮 ChatDBA 给出的排查步骤,我们将排查的结果以及对应 ntpdate 配置文件信息给到 ChatDBA。
ChatDBA 根据我们提供的结论以及 ntpdate 配置信息,初步确定可能由于调用 ntpdate-wrapper 脚本导致的问题。ChatDBA 建议我们查看 ntpdate-wrapper 脚本文件信息。
第三轮交互效果截图
根据 ChatDBA 给出的提示,我们查看了 ntpdate-wrapper 脚本内容。发现其中不但引入了 ntp.conf 文件还引用了 step-tickers 文件,并且会优先从 step-tickers 中获取 IP 信息。在查看了 step-tickers 文件后,我们发现了 0.kylin.pool.ntp.org,与日志报错信息一致。因此基本确定了问题产生原因。
将上述情况告知 ChatDBA,获取解决方案。
第四轮交互效果截图
最终,ChatDBA 根据我们提供的信息,确定了问题的产生原因并向用户提供了解决方案,问题得到解决。
OceanBase NTP 时钟不同步可能由以下几个原因造成:
本次出现的问题是由于配置文件错误,导致的问题产生。
网络时间协议(NTP)服务通过配置文件 ntp.conf 来确保系统时间的准确性,文件列出了多个时钟服务器地址,以便在主服务器不可用时自动切换到备用服务器。另外,step-tickers 文件,用于指定当系统时间偏差较大时,NTPDATE 工具使用的时钟服务器。
通常情况下,step-tickers 文件为空,这时 NTPDATE 会使用 ntp.conf 中的服务器。如果 step-tickers 文件中指定了服务器,NTPDATE 会优先使用这些服务器来同步时间。这也是产生本次问题的根本原因。因此,为了避免 NTPD 和 NTPDATE 服务使用不同的配置文件,有时需要注释掉 step-tickers 文件中的域名信息。