chrony概述

chrony是RHEL7.x上自带的时间同步开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确。是一个ntp协议的实现程序,既可以当做服务端,也可以充当客户端;它专为间歇性互联网连接的系统而设计,当然也能良好应用于持久互联网连接的环境;

三个时间参考:

硬件时钟、实时时钟以及手动同步。

组成:

  • chronyd

是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

  • chronyc

客户端程序。

chrony配置文件参数详解

参数         参数说明
server         配置同步NTP服务器时间地址,建议配置二个以上。例:server?cn.pool.ntp.org iburst

driftfile         chronyd程序的主要行为之一,就是根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中是最合理的,它会在重启后为系统时钟作出补偿,甚至可能的话,会从时钟服务器获得较好的估值。?系统默认

makestep通常,        chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时步进调整系统时钟,但只有在因为chronyd启动时间超过指定限制(可使用负值来禁用限制),没有更多时钟更新时才生效。?系统默认

rtcsync         rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)

hwtimestamp         在所有支持硬件的接口上启用硬件时间戳。系统默认

minsources        增加需要调整的最小可选信号源数量 系统时钟。系统默认

allow         允许指定网络的主机同步时间,不指定就是允许所有,默认不开启 例:192.168.0.0/16

local stratum         默认不开启的选项,意思是,即使服务端没有同步到精确的网络时间,也允许向客户端同步不精确的时间。可以视情况而定。系统默认

keyfile         指定包含NTP身份验证密钥的文件。?系统默认

leapsectz         从系统tz数据库中获取TAI-UTC偏移和闰秒。系统默认

logdir         指定日志文件的目录。系统默认

log         选择要记录的信息。系统默认

NTP

NTP是网络时间协议(Network Time Protocol)

三个命令可用于验证 NTP 同步情况

  1. ntpq:ntpq 是一个标准的 NTP 查询程序。
  2. ntpstat:显示网络世界同步状态。
  3. timedatectl:它控制 systemd 系统中的系统时间和日期。

ntpd、ntpdate的区别

ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步, 并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
时钟的跃变,对于某些程序会导致很严重的问题。

这有几个非常明显的问题:

  1. 这样做不安全。

ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。
由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

  1. 这样做不精确。

一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。
与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

  1. 这样做不够优雅。

由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错
唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。
其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD在和时间服务器的同步过程中,会把BIOS计时器的振荡频率偏差——或者说Local Clock的自然漂移(drift)——记录下来。
这样即使网络有问题,本机仍然能维持一个相当精确的走时。

推荐的中国NTP公共时间同步服务器

国家-中图:cn.pool.ntp.org
中国:cn.ntp.org.cn
阿里云:ntp.aliyun.com
腾讯云:time1.cloud.tencent.com

配置文件修改说明

vim /etc/chrony.conf

可以直接用以下文本覆盖配置文件内容,再根据自身实际情况进行修改
#配置同步NTP服务器时间地址,建议配置二个以上
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst
server time1.cloud.tencent.com iburst

#根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中。
driftfile /var/lib/chrony/drift

#时间纠偏
makestep 1.0 3

#rtcsync指令将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)
rtcsync

#在所有支持硬件的接口上启用硬件时间戳。
#hwtimestamp *

#增加需要调整的最小可选信号源数量 系统时钟
#minsources 2

#允许指定网络的主机同步时间,不指定就是允许所有,默认不开启
#allow 192.168.0.0/16

#服务时间,即使未同步到任何NTP服务器也允许向客户端同步不精确的时间。
#local stratum 10

#指定包含NTP身份验证密钥的文件。
keyfile /etc/chrony.keys

#从系统tz数据库中获取TAI-UTC偏移和闰秒。
leapsectz right/UTC

#指定日志文件的目录。
logdir /var/log/chrony

#选择要记录的信息。
#log measurements statistics tracking

chrony基本操作命令

chrony操作

#停止chronyd服务
systemctl stop chronyd

#开始chronyd服务
systemctl start chronyd

#重启chronyd服务
systemctl restart chronyd

#查看chronyd服务状态
systemctl status chronyd

#开机启动chronyd服务
systemctl enable chronyd

#禁止开机启动chronyd服务
systemctl disable chronyd

#查看时间同步源,查看时间同步进度
chronyc sources –v

#查看时间同步源状态
chronyc sourcestats -v

#查看日期时间、时区及NTP状态:
timedatectl

#查看时区列表:
timedatectl list-timezones

#修改时区
timedatectl set-timezone Asia/Shanghai

#修改日期时间
timedatectl set-time “2020-03-05 12:20:00”

#开启NTP
timedatectl set-ntp true/flas

更改时区方法

一、

1、使用tzselect命令查询需要的时区
2、查看命令最后的提示,添加变量到vim /root/.bash_profile文件中
将追加TZ=‘Africa/Nairobi’; export TZ
3、重启生效
二、
使用timedatectl 命令更改时区 hostnamectl set-h
#查看当前时区信息
Timedatectl

#列出所有时区
#timedatectl list-timezones

#以RFC22格式输出日期和时间
date -R

#修改日期
timedatectl set-time 2016-04-25

#修改时间
timedatectl set-time '2016-04-26 21:53:50

#设置系统时区为上海
timedatectl set-timezone Asia/Shanghai

配置同步服务

服务端
首先安装程序,8的版本已经有了,安装命令如下:

[root@bogon ~]# yum install chrony

关闭防火墙、关闭selinux

[root@redhat ~]# systemctl stop firewalld
[root@redhat ~]# setenforce 0

配置配置文件

[root@redhat ~]# vim /etc/chrony.conf注释掉#pool 2.rhel.pool.ntp.org iburst
allow 192.168.159.137   //允许指定网络的主机同步时间
local stratum 10       // 服务时间,即使未同步到任何NTP服务器也允许向客户端同步不精确的时间。

重启服务

[root@redhat ~]# systemctl restart chronyd

客户端同步
配置配置文件

[root@bogon ~]# vim /etc/chrony.conf
pool 192.168.159.128  iburst //指定服务端

同步服务端时间

[root@bogon ~]# systemctl restart chronyd

测试

[root@bogon ~]# date 082910102020.12
Sat Aug 29 10:10:12 CST 2020
[root@bogon ~]# systemctl restart chronyd
[root@bogon ~]# date
Sat Aug 29 10:10:24 CST 2020
[root@bogon ~]# date
Sat Aug 29 10:10:27 CST 2020
[root@bogon ~]# date
Mon Aug 30 21:39:02 CST 2021

Linux之chrony时间同步服务、ntp协议相关推荐

  1. Linux进阶_时间同步服务

    成功不易,加倍努力! 1 计时方式 1.1 古代计时方式 1.2 现代计时方式 2 时间同步服务 3 chrony 3.1 chrony介绍 3.2 chrony 文件组成 3.3 配置文件chron ...

  2. centos7 关闭防火墙的指令_CentOS7 怎么安装配置chrony时间同步服务?

    CentOS7 怎么安装配置chrony时间同步服务? CentOS7 怎么安装配置chrony时间同步服务 介绍 hrony是一个开源软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服 ...

  3. [Linux系列]Chrony时间同步服务器

    背景 前面在做LNMP和LNMT架构的实验时,虚拟机待机一晚上之后,时间还停留在前一天,从而导致apt命令无法安装应用.又让我想起了前段时间在做某国产xc项目的时候,就出现过内网xc主机,关机一段时间 ...

  4. centos7时间同步_centos 8.x系统配置chrony时间同步服务

    centos 8.x系统配置chrony时间同步服务 CentOS 7.x默认使用的时间同步服务为ntp服务,但是CentOS 8开始在官方的仓库中移除了ntp软件,换成默认的chrony进行时间同步 ...

  5. 04-NTP.CHRONY时间同步服务

    复习内容 服务 域名解析服务 | 文件共享服务 | web服务 DNS FTP/NFS/SAMBA APACHE 软件 bind vsftpd rpcbind samba httpd bind-chr ...

  6. linux下的SAMBA服务------SMB协议

    SAMBA基本介绍 概念 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. ...

  7. 34.搭建ntp与chrony时间同步服务

    时间同步 ntpd ​ ntpdate加计划任务同步服务器时间 ntpdate同步时间用法: 不同机器之间的时间同步,为了避免主机时间因为长期运作下所导致的时间偏差,进行时间同步(synchroniz ...

  8. linux开启校时服务,NTP校时服务

    Network Time Protocol(NTP)是用来使计算机时间同步的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行同步,它可以提供高精准度的时间校正(LAN上与标准间差 ...

  9. linux配置chrony时间同步

  10. 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 ...

最新文章

  1. 怎样给RCP程序添加依赖的JAR包
  2. 程序员生存定律--管理向左,技术向右
  3. java build path entries 为空_TOOLFK工具-在线JAVA代码执行工具
  4. 区块链BaaS云服务(21)腾讯CCGP”安全沙箱“
  5. jq 按钮能触发submit吗
  6. 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告
  7. Oracle 跨库 查询 复制表数据 分布式查询
  8. 在Spring中使用Asciidoctor:使用Spring MVC渲染Asciidoc文档
  9. [转载] Python字符串的截取
  10. opencv源代码之中的一个:cvboost.cpp
  11. [编写高质量代码:改善java程序的151个建议]建议66 asList方法产生的List对象不可更改...
  12. Spring Cloud Sleuth链路跟踪之使用Mysq保存服务链路跟踪信息(学习总结)
  13. 请不要再说NIO和多路复用IO是同一个东西了(内含BIO、NIO、多路复用、Netty、AIO案例测试代码)
  14. ODI Studio 11g 连接Essbase数据源
  15. 办公软件应用2010是国家计算机一级吗,今年计算机二级办公软件高级应用考试,对word版本的要求还是2010的吗?...
  16. 《Adobe Fireworks CS5中文版经典教程》——1.2 工具面板
  17. C#实现发送短信功能
  18. php 简转繁体,PHP简体转繁体——MediaWiki-zhconvert
  19. 云溪云原生分布式数据库安全功能以及实现介绍
  20. C++ damo_5_继承中的异常_异常的层次结构 20180316 day8

热门文章

  1. bug-Skipping optimization due to error while loading function libraries: Invalid argument: Functions
  2. 深度学习2.0-14.神经网络与全连接层之全连接层、输出方式、误差计算
  3. Linux16.04与win10搭建samba服务器
  4. 《隐私计算》重 磅发布,全面、系统论述数据要素安全流通价值
  5. 写给《我也能做CTO》作者的一封信
  6. 操作系统编写之代码解释
  7. 无法添加外键约束的原因(cannot add foreign key constraint)
  8. pandas 调整列的顺序
  9. 码支付如何对接网站_做“刷脸支付”怎么推广?怎么办理刷脸支付POS机?
  10. oracle delete循环删除_oracle性能优化:高水位线(HWM)详解--如何计算HWM