大家都知道在linux环境下,时间同步的方式主要有ntpdate和chrony两种方式,时间同步源可以使用互联网也可以使用内部的源。

在某些情况下,如果节点不能访问外网,就需要使用内部的时间同步服务器或者搭建一个时间同步服务器,用来保障集群内节点时间的时间同步。有关如何搭建时间服务器的方法不在此进行复述,大家可以自行查找相关资料。这里仅对搭建内部时间服务器和时间同步操作遇到的问题或者经验进行分享(以CentOS7.7环境操作为例)。

时间服务器的数量
在没有办法保证节点时间完全一致的情况下,建议使用1个节点作为时间服务器,而不要使用集群的方式。
集群内时间同步的重要目前是保证集群内节点的时间一致,而不是特别强调跟互联网时间一致,否则的话,直接跟互联网进行时间同步好了,没有必要再自定搭建时间服务器。
因为机器硬件的差异,不同的节点经过长时间运行的情况下,有可能出现它们之间的时间会出现偏差。这样就导致其它节点刚刚向其中一个时间服务器同步时间之后,再周期性向另一个时间服务器同步时间之后,时间来回发生变化的情况。 因此建议只使用一个节点作为时间服务器,集群所有其余节点均向此节点进行时间同步。如果该时间同步服务器故障之后,再考虑重新搭建时间服务器的问题。

chrony方式配置
chrony是目前比较推荐的一种时间同步方式。在日常的使用中,如果更换/etc/chrony.conf配置文件中的服务器地址的话:
在客户端上重启chronyd服务的话,客户端能够很快进行时间同步并且NTP synchronized参数也会是yes状态。
在 客户端不重启chronyd服务的话,需要花费较长的时间(测试中相差5分钟,时间同步花费的时间差不多也是5分钟左右)完成时间同步,并且正常情况下NTP synchronized参数也会是yes状态。

使用chrony方式进行时间同步,如果失败的话可以从以下方面进行检查:
1.防火墙的配置 防火墙是否处于关闭状态或者对应的时间同步服务所需要的端口处于开放状态。
2.机器是否配置ntpdate定时同步 笔者在使用中出现节点上使用timedatectl命令查看NTP synchronized的值从yes变为no(重启chronyd服务变为yes过一段时间之后又变为no),并且使用chronyc sources -v命令查看对应的服务器状态为^* 10.0.X.Y 或者 ^? 10.0.X.Y 来回变化的状态。查看对应的服务状态报错:

chronyd: No suitable source for synchronisation

开始是以为配置了DNS,导致该节点可以访问外网所以状态不对。之所以这样判断是因为在系统日志中出现:

dbus[1064]: [system] Activating via systemd: service name='org.freedesktop.timedate1' unit='dbus-org.freedesktop.timedate1.service'
systemd: Starting Time & Date Service...
dbus[1064]: [system] Successfully activated service 'org.freedesktop.timedate1'
systemd: Started Time & Date Service.

但是经过最终的排查,跟是否可以访问外网没有关闭,根源在于使用定时任务通过ntpdate方式进行了同步。将ntpdate的定时同步任务删除就恢复正常了。

ntpdate方式配置
ntpdate主要是通过定时任务的方式进行同步。这里强调一下,使用这种方式的时候,一定不要执行timedatectl set-ntp yes命令。
因为CentOS7.X版本自带、默认同步方式为chrony,因此如果执行timedatectl set-ntp yes命令,自动会把chronyd服务启动,使用chrony方式进行时间同步。
笔者测试将chronyd服务停止之后,执行timedatectl set-ntp yes命令之后,chronyd的服务状态变为running了。

使用timedatectl命令确认时间同步状态

命令timedatectl或者timedatectl status的输出示例:Local time: 二 2022-10-11 17:40:50 CSTUniversal time: 二 2022-10-11 09:40:50 UTCRTC time: 二 2022-10-11 09:40:50Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yes
NTP synchronized: yesRTC in local TZ: noDST active: n/a

NTP enable的值yes时,表示开启自动同步时间,此时,是不能手动修改时间的。
NTP synchronized的值yes时表示时间同步的(chrony方式)。

chrony方式下期望的结果(笔者测试中搭建了两个chrony的服务器,NTP enable的取值一个为yes一个为no都可以正常工作,个人倾向于应该为yes)

节点类型 NTP enable取值 NTP synchronized取值
服务端 yes/no no
客户端 yes yes

ntpdate方式下期望的结果

节点类型 NTP enable取值 NTP synchronized取值
服务端 no yes
客户端 no no

有关时间同步配置的几个说明相关推荐

  1. ad域时间源配置_Windows Server 2008 R2 域控制器的时间同步配置

    最近,域内计算机时间比北京时间跑的快了,检查发现,原来是域控的时间跑的太快,导致域内客户端时间全部同步,对于域内角色来说,如果时间相差太长,将失去客户端与域控的连接,今天就分享如何如何开启pdc. 1 ...

  2. 云计算基础运维任务时间同步配置

    时间同步配置 在controller节点上部署chrony服务器,允许其他节点同步时间,启动服务并设置为开机启动:在compute节点上指定controller节点为上游查看/etc/chrony.c ...

  3. 《常见NTP客户端时间同步配置》

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 常见NTP客户端时间同步说明 前言 一.AIX系统时间配置 二. Linux系统时间同步配置 三. Windows 2003系统时间同 ...

  4. linux几秒钟同步一次,Linux时间同步配置方法

    由于是在做mongoDB的实验中再一次的遇到了mongos路由节点同步时由于ntp时间的问题导致同步非常的慢.故写了个时间同步的语句===> while :; do rdate -s 192.1 ...

  5. 计算机的时间和dc的时间不同步_时间同步配置,让你轻松同步所有设备时间,让日志信息更有价值...

    当在工作中管理大量的网络设备,这些设备之间时间不一致,或者根本没法提供时间时,其日志信息的作用就大打折扣了,现在教你轻松解决时间的问题. cn.ntp.org.cn时间服务器 要同步时间,首要自然是找 ...

  6. 2020/12/17 ubuntu16.04 NTP时间同步配置

    ntp时间同步,大体步骤是将服务器端和客户端配置好,然后设定同步的频率,记得重新运行ntp服务,重启即可. 步骤总结如下: 一 服务器端(server) 1. 安装ntp与ntpdate $ sudo ...

  7. 华三华为 思科 时间同步配置

    ** 末尾有惊喜 ** 华三 1.设置时区: clock timezone BeiJing add 08:00:00 2.在<>模式下设置时间和日期 clock datetime hh:m ...

  8. linux ntp时间同步配置,Linux ntp 时间同步服务配置

    一.基础环境 1.操作系统:CentOS 7.3 2.ntp:4.2.6 3.机器,服务端(192.168.1.210)客户端(192.168.1.211) 二.安装ntp yum -y instal ...

  9. linux时间同步配置

    方案1:直接同步+crontab定时 命令:ntpdate ip/你要同步的服务器域名/网上提供的标准时间同步URL 示例:ntpdate 192.168.0.1 方案1用ntpdate命令结合cro ...

最新文章

  1. java属性编辑器,即PropertyEditor
  2. html回车按键确认按钮,button默认enter事件(回车事件)。
  3. nginx如何开启debug日志及相关配置
  4. 阿里巴巴常考面试题及汇总答案
  5. SQL Server单表查询语句
  6. Graph Embedding图嵌入
  7. mysql 事件调度器_【MySQL】事件调度器 (Event Scheduler)
  8. 7-1 Say Hello to Integers (5 分)
  9. PHP+crontab 完美实现定时任务
  10. 【笔记】k-Nearest Neighbors(KNN/k近邻)原理
  11. openresty 前端开发入门一 1
  12. HTML5七夕情人节表白网页制作【流星动画3D相册】HTML+CSS+JavaScript
  13. Linux桌面鼠标取词自动翻译
  14. CommandName属性简介
  15. 零基础自学SQL课程 | UNION 联合查询
  16. Python究竟是一门什么样的编程语言?
  17. 220218_110049-如何在Word文档中插入多个带有文件名的图片?
  18. java调用word模板文件_Java使用模板导出word文档
  19. 移动应用广告对接:为什么SDK是最佳选择?
  20. SpringCloud之分布式配置中心组件Config从远程Git仓库读取配置文件

热门文章

  1. php grpc,PHP配置grpc
  2. 年薪可达50万!上海交大SEIEE·云智AI创新应用研究中心招聘研发工程师
  3. mysql中 -p_登录MySQL服务器的命令为:“mysql –u root -p”,命令中的“-u”表示(
  4. 求解显示常微分方程MATLAB,用matlab求解常微分方程
  5. 防腐材料生产销售类织梦网站模板
  6. 华中科技大学,您是我胸口上永远的痛
  7. 贵州python培训
  8. python语法错误--SyntaxError: Non-UTF-8 code starting with ‘\xd0‘ in file motorcycles.py on line 3
  9. python编程ocr_cnocr是用来做中文OCR的Python 3包
  10. C语言函数如何返回数组