[转帖]CentOS7使用Chrony实现时间同步

centos7,使用,chrony,实现,时间,同步 · 浏览次数 : 0

小编点评

## 解决方案分析 根据文章,设置时间时出现问题的原因可能是 **时间同步工具ntp的版本问题**。 * **ntp 版本不匹配**: * 由于您使用的是 CentOS 7 虚拟机,其默认 NTP 服务 (chrony) 是 **ntp1.aliyun.com**。 * 但是,您设置的 **ntp.aliyun.com** 是阿里云的 NTP 服务器地址。 * 因此,ntp 版本不匹配,导致无法正常同步时间。 * **ntp 配置问题**: * 尽管您设置了 **local stratum**,但您没有设置 **allow**。 * 这意味着,ntp 服务器只能处理从 **local stratum** 内的请求。 * 您的网络地址 **192.168.199.80** 位于 **local stratum** 外,无法接收来自 **ntp.aliyun.com** 的请求。 * **ntp 服务器问题**: * 由于您使用的是阿里云的 NTP 服务器,可能存在一些问题,导致ntp 服务器无法正常工作。 **建议:** 1. **确认 ntp 版本**: * 使用 `timedatectl` 命令查询当前 NTP 版本。 * 如果版本不匹配,请升级或更换 NTP 服务器。 2. **检查 ntp 配置**: * 验证 `ntp.conf` 配置文件中的 `server` 和 `allow` 设置。 * 确保 `local stratum` 和 `allow` 设置正确。 3. **检查 NTP 服务器**: * 确保 NTP 服务器运行正常。 * 尝试联系 NTP 服务器,检查其是否能正常响应请求。 4. **设置允许跨网络请求**: * 修改 `ntp.conf` 配置文件,添加 `allow` 设置。 * 允许来自 **192.168.199.0/24** 的请求。 5. **调试**: * 使用 `timedatectl` 命令观察 NTP 服务器和客户端之间的通信。 * 确定哪些错误消息导致时间同步失败。

正文

学习安装部署 ceph 时 ,在添加 mon 时报错了,搜索原因后发现是 时间同步问题。于是学习一下时间同步工具。

一般CentOS6 使用的时间同步工具是ntp。现在还有不少开源软件文档建议安装的时间同步工具是ntp。个人感觉 chrony使用应该和ntp 差不多。本人使用 ntp较少,因为一直CentOS7虚拟机较多。CentOS7系统自带安装了chrony,然后安装ntp 并设置开机自启后,经常性的看到ntpd服务并不能开机启动,和chronyd冲突了。感觉也没必要为了使用ntp 把 自带的 chrony 卸载了。。。

这篇博客只是一个特别简单的实验说明。。。可能并不能解决大多数问题,供自己复习使用。

使用的CentOS7 虚拟机。
实验准备 现在四台虚拟主机的IP 主机名分别是
192.168.199.80 ceph-admin
192.168.199.81 ceph-1
192.168.199.82 ceph-2
192.168.199.83 ceph-3

要求相互之间可以ping通。。。

查看 chronyd 服务运行情况。

默认情况下 CentOS7 的chronyd 服务时开机自启的。

systemctl status chronyd
  • 1

chronyd 状态
正常运行

chronyc查看当前同步情况

chronyc sources
  • 1

时间同步情况同步情况
可以看到有同步的服务器。CentOS7系统默认的,如果安装的CentOS7 可以联网 应该是可以同步的。不过这几个服务器应该在国外。效果应该一般。不然我部署ceph应该不会失败。。。

查看一下当前时间 没什么意义。。。因为最主要保证的是时间同步。如果时间同步了。即使服务器的时间与当前标准时间对不上也没关系(应该是这样)。。。

timedatectl
  • 1

当前时间

设置ntp服务器为阿里,进行时间同步。

编辑 chronyd 配置文件。

vim /etc/chrony.conf
  • 1

可以看到 原有的四个时间同步服务器

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
  • 1
  • 2
  • 3
  • 4

如果我们希望简单一点。那就直接设置成阿里或者其他国内的开放ntp服务器就可以。。。

ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

把四个主机的配置文件原有时间服务器注释掉。然后添加阿里的

server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
  • 1
  • 2
  • 3
  • 4

重启 chronyd 服务

systemctl restart chronyd
  • 1

查看时间同步信息

chronyc sources
  • 1

阿里云时间同步
时间同步成功。。。
现在四个主机都使用阿里云的ntp服务器作为时间同步的依据。。一般来说由于时间同步引发的问题都可以解决。。。

设置内网主机作为 ntp 服务器。

可能有各种各样的原因。比如,不能连接外网等。不愿意使用开放的ntp服务器。。。这时候也可以搭建一个简单地时间同步服务器。
比如192.168.199.80 ceph-admin 作为时间同步服务器。。。

依然是修改 chrony 配置文件。。。将server 改成192.168.199.80

vim /etc/chrony.conf
  • 1
server 192.168.199.80   iburst
  • 1

然后重启 chronyd。

systemctl restart chronyd
  • 1

查看时间 同步状态。。。可以发现 ceph-1 ceph-2 ceph-3 时间状态是正常的

chronyc sources
timedatectl
  • 1
  • 2

时间同步状态
NTP sychronized 为 yes

但是有时候可能 ceph-admin 的时间同步状态不太对
ceph-admin 时间同步状态
NTP sychronized 为 no

chronyc sources -v
  • 1

时间未同步
^表示服务,*代表同步成功,?代表未同步
也就是说服务器本身未同步???

继续修改ceph-admin 的 chrony 配置文件。。。
取消注释或添加

allow 192.168.199.0/24  
local stratum 10
  • 1
  • 2

如果要设置多个网段,设置多个allow。
192.168.199.0/24 是 内网网络 也不算内网。算本地网络?反正就那意思。。。
修改完成重启 chronyd

 systemctl restart chronyd
  • 1

查看时间同步状态
时间同步成功

附。根据网络资料 有时候 要关闭本地时间使用

timedatectl set-local-rtc 0 
  • 1

这样使用的就是utc时间
timedatectl 时间控制工具。查看使用帮助

timedatectl -h 
  • 1
[root@storage-a002a2 ~]# timedatectl -h
timedatectl [OPTIONS...] COMMAND ...

Query or change system time and date settings.

-h --help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode

Commands:
status Show current time settings
set-time TIME Set system time
set-timezone ZONE Set system time zone
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time
set-ntp BOOL Control whether NTP is enabled

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

简明扼要。。。
设置时间就用timedatectl set-time 在ntp同步下不可以设置时间
设置时区 timedatectl set-timezone ZONE
查看所有时区 timedatectl list-timezones
set-local-rtc 就是设置是否用本地时钟一般采用ntp同步时间的话都会设置为0

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux33609 人正在系统学习中

与[转帖]CentOS7使用Chrony实现时间同步相似的内容:

[转帖]CentOS7使用Chrony实现时间同步

学习安装部署 ceph 时 ,在添加 mon 时报错了,搜索原因后发现是 时间同步问题。于是学习一下时间同步工具。 一般CentOS6 使用的时间同步工具是ntp。现在还有不少开源软件文档建议安装的时间同步工具是ntp。个人感觉 chrony使用应该和ntp 差不多。本人使用 ntp较少,因为一直C

[转帖]CentOS7搭建时间服务器-chrony

操作系统:CentOS7防火墙: 关闭防火墙和selinux时间软件:chronyCentOS7我们一直用的ntp时间服务器,虽然到CentOS7上也可以装ntp。chrony与ntp都是时间同步软件,两个软件不能够同时开启,会出现时间冲突.但是由于各种问题,所以建议CentOS7使用chrony同

[转帖]Centos使用chrony做时间同步

https://www.cnblogs.com/lizhaoxian/p/11260041.html Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对NTP

[转帖]Centos使用chrony做时间同步

https://www.cnblogs.com/lizhaoxian/p/11260041.html Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对NTP

[转帖]CentOS7上systemctl的使用

https://www.cnblogs.com/yeyuzhuanjia/p/14676182.html CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。 1、原来的 service 命令

[转帖]Centos7升级glibc导致系统异常(无法开机)解决方法

https://www.jb51.net/article/230473.htm 目录 我使用的是centos7(理论上这个方法仅仅对centos7以及Redhat7都可以使用该方法解决问题) 注意:此方法仅针对Redhat7/Centos7以上。 出现问题原因: 在调优hbase的时候,查资料发现可

[转帖]CentOS7/完美升级gcc版本方法

https://zhuanlan.zhihu.com/p/535657060 在某些应用场景中,需要特定的gcc版本支持,但是轻易不要去编译gcc、不要去编译gcc、不要去编译gcc,我这里推荐使用红帽提供的开发工具包来管理gcc版本,这样做的好处是随时切换版本,并且可以并存多个版本,不破坏原有gc

[转帖]CentOS7 ab压力测试安装与解释

#背景 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用在此提供 ab 在 centOS7 下的安装和使用方法注:个人发现,之前安装的centos6.5 默认已安装了ab,具体原因不明 ①.ab(apache benchmark)安装 命令:# yu

[转帖]CentOS7完美升级gcc版本方法

https://blog.whsir.com/post-4975.html 在某些应用场景中,需要特定的gcc版本支持,但是轻易不要去编译gcc、不要去编译gcc、不要去编译gcc,我这里推荐使用红帽提供的开发工具包来管理gcc版本,这样做的好处是随时切换版本,并且可以并存多个版本,不破坏原有gcc

[转帖]CentOS7安装笔记:minio分布式集群搭建

文章目录 准备机器部署(所有机器均执行)创建挂载磁盘路径挂载磁盘路径到文件系统创建minio目录下载minio安装包创建启动脚本创建启动服务 启动测试(所有机器执行)重新加载服务的配置文件启动minio服务查看minio状态关闭minio服务访问地址创建测试bucket上传测试 准备机器 我本地使用