redhat/centos 7.x默认使用的时间同步服务为ntp服务,但是从redhat/centos 8开始在官方的仓库中移除了ntp软件,换成默认的chrony进行时间同步的服务,虽然也可以通过添加第三方的源安装ntp,但是毕竟还是使用官方推荐的更好一些,使用和ntp基本上一样,个人感觉比ntp还更简单,下面简单的叙述一下配置过程.

默认centos8安装系统后已经存在chrony的软件包了,可以通过 rpm -q chrony 确认是否存在,如果不存在使用yum安装即可: yum install chrony

chrony本身既可以作为客户端向其他时间服务器同步时间又可以提供时间同步的服务,也就是说同时作为客户端和服务端,配置文件统一都是:/etc/chrony.conf,通常在一个集群中,总会有服务端和客户端的区分,下面来看一下具体的配置:

1. 服务端配置

编辑配置文件/etc/chrony.conf,首先可以看到有个pool的配置如下:

这个表示要请求的时间服务器,这里服务端可以向互联网的公共服务器请求同步时间,然后其他集群内服务器可以向这台服务器同步时间,这样集群内的时间就一致了,所以这里保持默认即可,也可以换成比如阿里云的ntp服务器;需要注意的是这并不是1个时间服务器,而是本地请求这个服务会返回一些可用的列表,然后本地程序选择列表中的某个时间服务器进行同步,这个待会可以查看资源看到具体的列表.

然后就是要打开allow配置,设置允许请求的服务器网段,比如这里配置如下:

这样表示允许172.16.0.0网段的所有机器访问,即172.16.0.x的ip都可以向当前服务器请求同步,具体根据实际的集群进行配置.

就以上这两条,ntp服务端就配置完了,没错,就是这么简单!

2. 客户端配置

同样编辑配置文件/etc/chrony.conf,这个更简单,直接把pool这里改成上面的服务端节点就可以:

如果hosts中机器都配置了,那这里写主机名也可以.

最后服务端和客户端都要启动服务: systemctl start chronyd ,查看服务状态: systemctl status chronyd ,状态中可以看到同步的记录,服务启动后查看服务器当前时间一般就能看出来都是同步的了

设置服务开机自动启动: systemctl enable chronyd

chronyd的服务端口和NTP一样是udp的123端口,使用 netstat -an | grep 123 或 ss -a | grep 123 都可以看到端口监听的情况

之前我的疏忽将端口搞成323了,323是绑定回环网卡用于chronyc监视操作使用的默认端口,而非服务端口,这个配置可以支持通过网络运行chronyc客户端命令,比如: chronyc -h 127.0.0.1 -p 323 sources -v ,默认本地使用chronyc走的是unix sock。非常感谢网友@Enke指出错误~

然后可以使用命令: chronyc sources -v 查看当前的同步源,比如刚才的服务端可以看到多个源:

其他客户端就只有1个源如下:

可以使用命令 chronyc sourcestats -v 查看当前的同步状态

最后还可以使用命令: chronyc -a makestep 手动同步一次时间,返回200 OK表示同步成功;使用 chronyc tracking 可以显示系统时间信息;直接输入chronyc可以进入交互式界面进行相关的操作,具体可以输入help查看对应的帮助.

另外还有一点需要说一下就是centos中的工具timedatectl 里面也有个ntp service,开启时状态为active:

这里需要关闭才可以手动修改本机时间,需要注意的就是这个工具不做任何时间同步的具体操作而是依赖系统的服务是什么,比如系统使用了ntp那么这里就依赖ntp的配置,系统使用了chrony这里就是chrony的配置,而这个timedatectl就是做了一层包装,后端的服务还是ntp/chrony这些组件.

centos 8.x系统配置chrony时间同步服务的更多相关文章

  1. chrony时间同步 服务端 客户端 安装配置

    chrony时间同步 服务端 客户端 安装配置 原创内容http://www.cnblogs.com/elvi/p/7658021.html #!/bin/sh #运行环境 centos7 #chro ...

  2. Chrony时间同步服务

    概:  网络时间协议(Network Time Protocol,NTP)是用于网络时间同步的协议.提供NTP时间同步服务的软件有很多,这里采用Chrony软件来实现时间同步 chrony 的优势:  ...

  3. Linux基础学习-chrony时间同步服务

    Chrony时间同步 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用于是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可 ...

  4. linux服务之NTP及chrony时间同步

    博客园 首页 联系 管理   linux服务之NTP及chrony时间同步   一.NTP时间同步 NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步 ...

  5. 网络时间同步服务和chrony

    时间同步和chrony 时间同步:多主机协作工作时,各个主机时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(Network Time Protocol) ...

  6. CentOS7.4 chrony时间同步服务器部署(替代NTPD)

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc. chronyd是一个后台运行的守护进程,用于调整内核 ...

  7. 安装 CentOS 后的系统配置及软件安装备忘

    安装 CentOS 后的系统配置及软件安装备忘 // */ // ]]>   安装 CentOS 后的系统配置及软件安装备忘 Table of Contents 1 Linux 自举过程 1.1 ...

  8. 关于linux下ntp时间同步服务的安装与配置

    1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...

  9. chrony 时间同步

    RHEL7.4 192.168.100.1 作为时间服务器,其它主机到这台来同步时间. 时间服务器安装及配置:#yum install chrony --RHEL7默认已安装chrony,而没有安装n ...

随机推荐

  1. Springboot mini - Solon详解(四)- Solon的事务传播机制

    Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...

  2. STL—— 容器(vector)元素的删除

    1. clear() 将整个 vector 都删除 使用 vectorname.clear() 可以将整个vector 中的元素全部删除,但是内存不会释放,如下代码: 1 #include <i ...

  3. mysql主从双机keepalived配置

    1.关闭selinux SELINUX=disabled 2.yum安装keepalived yum install -y keepalived 3.修改配置文件 主库配置文件: ! Configur ...

  4. SpringBoot2.x集成Quartz实现定时任务管理(持久化到数据库)

    1. Quartz简介   Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目.   Quartz是一个完全由Java编写的开源作业调度框架,为在Java应 ...

  5. Docker修改默认的网段

    一,问题 docker安装后默认的网段是172.17网段的,和真实环境网段冲突导致本机电脑无法连接docker机器. 二,解决办法 修改docker默认网段 1,先把docker停止 systemct ...

  6. hive with as 语法

    简介 with...as...需要定义一个sql片段,会将这个片段产生的结果集保存在内存中, 后续的sql均可以访问这个结果集和,作用与视图或临时表类似. 语法说明 with...as...必须和其他 ...

  7. create-react-app 基于ts项目,使用react-router-dom搭建项目

    准备工作 来个react项目 create-react-app 基于TS的项目 ts项目安装后 删除node_modules,重新 yarn install, 不然jsx会报错 安装React-rou ...

  8. Web服务器-并发服务器-单进程单线程非堵塞方式(3.4.3)

    @ 目录 1.分析 2.代码 关于作者 1.分析 当socket去监听的时候,是堵塞的状态 通过tcp_sever_socket.setblocking(False)去设置不堵塞 当socket发现没 ...

  9. 多任务-python实现-进程,协程,线程总结(2.1.16)

    @ 目录 1.类比 2.总结 关于作者 1.类比 一个生产玩具的工厂: 一个生产线成为一个进程,一个生产线有多个工人,所以工人为线程 单进程-多线程:一条生产线,多个工人 多进程-多线程:多条生产线, ...

  10. 多任务-python实现-死锁,银行家算法(2.1.5)

    @ 目录 1.死锁 2.避免死锁的方式-银行家算法 1.死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系 ...