时间同步和chrony

时间同步:多主机协作工作时,各个主机时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。

目前NTP协议属于运维基础架构中必备的基本服务之一。

时间同步实现:ntp,chrony

ntp:将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1ms,在互联网上绝大多数的地方精度可以达到1-50ms,项目官网:http://www.ntp.org

chrony:实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度。

chrony介绍

 chrony 的优势:

  • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用。
  • 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用。
  • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响。
  • 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性。
  • 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。

chrony官网:https://chrony.tuxfamily.org
chrony官方文档:https://chrony.tuxfamily.org/documentation.html

chrony包介绍

两个主要程序:chronyd和chronyc

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

chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作

服务unit 文件: /usr/lib/systemd/system/chronyd.service

监听端口: 323/udp,123/udp

配置文件: /etc/chrony.conf

配置文件chrony.conf

  • server - 可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度
  • driftfile - 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿
  • rtcsync - 启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
  • allow / deny - 指定一台主机、子网,或者网络以允许或拒绝访问本服务器
  • cmdallow / cmddeny - 可以指定哪台主机可以通过chronyd使用控制命令
  • bindcmdaddress - 允许chronyd监听哪个接口来接收由chronyc执行的命令
  • makestep - 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟
  • local stratum 10 - 即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端

chronyc命令

help命令可以查看更多chronyc的交互命令
accheck 检查是否对特定主机可访问当前服务器
activity 显示有多少NTP源在线/离线
sources [-v] 显示当前时间源的同步信息
sourcestats [-v]显示当前时间源的同步统计信息
add server 手动添加一台新的NTP服务器
clients 报告已访问本服务器的客户端列表
delete 手动移除NTP服务器或对等服务器
settime 手动设置守护进程时间
sracking 显示系统时间信息

公共NTP服务

pool.ntp.org:项目是一个提供可靠易用的NTP服务的虚拟集群cn.pool.ntp.org,0-3.cn.pool.ntp.org

阿里云公共NTP服务器
Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com
windows类: time.pool.aliyun.com

大学ntp服务
s1a.time.edu.cn 北京邮电大学 s1b.time.edu.cn 清华大学 s1c.time.edu.cn 北京大学

国家授时中心服务器
210.72.145.44

实现ntp同步时间

原理:在客户端选出一个主机与服务器端的时间进行同步,其他客户端与此客户端进行同步时间,此客户端需要一直在线,实时与服务器做同步,ntp同步时间较长。

配置与服务器时间同步的客户端

将挑选的客户端代表,与服务器端进行时间同步,在ntp配置文件中修改配置文件,添加服务器端的IP地址,进行时间同步(注意:此客户端的IP地址是192.168.37.7),此时ntp使用的是123端口号。

vim  /etc/ntp.conf

#restrict default nomodify notrap nopeer noquery   注释掉此行,运行其他客户端主机进行同步此 time server主机
server 172.0.0.10 iburst 此IP地址是服务器IP地址,iburst代表的是快速同步时间
server 172.0.0.11 iburst 可以多写几个IP地址,防止第一个服务器宕机,备用其他IP地址继续进行同步时间。
server 172.0.0.20 iburst
server 172.0.0.30 iburst

 在代表客户端同步服务器时间的主机上将ntpd服务启动,并设置为开机启动

[root@centos7~]#systemctl start ntpd
[root@centos7~]#systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

   配置与以上客户端时间同步

  在其他客户端进行设置同步时间,设置与代表客户端同步到服务器时间的IP地址(即将上面设置的客户端IP地址写入:192.168.37.7)

  vim /etc/ntp.conf

  设置完之后启动ntpd服务,并设置为开机启动

[root@centos7~]#systemctl start ntpd
[root@centos7~]#systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

实现chrony时间同步

配置与服务器时间同步的客户端

1、修改chronyd服务器的配置文件,与服务器端时间同步的客户端主机:vim  /etc/chrony.conf

[root@centos27~]#vim /etc/chrony.conf
server 172.0.0.10 iburst 设置服务器的IP地址,与服务器的IP地址进行时间同步
server 172.0.0.20 iburst 设置其他几个服务器的IP地址,防止其他服务器宕机,无法实现时间同步
server 172.0.0.30 iburst
server 172.0.0.40 iburst
#allow 192.168.37.0/24 允许此IP地址段访问
allow 0.0.0.0/0 允许所有主机访问
local stratum 10 本地局域网同步时间服务器(第十层的局域网主机),建议打开。

2、启动chronyd服务,并设置为开机启动。

[root@centos7~]#systemctl start chronyd
[root@centos7~]#systemctl enable chronyd

配置与以上客户端时间同步

1、其他客户端只需要与代表的客户端(即与服务器端时间同步的客户端主机)进行同步即可。

 vim  /etc/chrony.conf

2、启动chronyd服务,并设置为开机启动。

[root@centos7~]#systemctl start chronyd
[root@centos7~]#systemctl enable chronyd

  

 

  

  

网络时间同步服务和chrony的更多相关文章

  1. centos 8.x系统配置chrony时间同步服务

    redhat/centos 7.x默认使用的时间同步服务为ntp服务,但是从redhat/centos 8开始在官方的仓库中移除了ntp软件,换成默认的chrony进行时间同步的服务,虽然也可以通过添 ...

  2. Chrony时间同步服务

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

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

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

  4. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

  5. RAC集群时间同步服务

    集群时间同步服务在集群中的两个 Oracle RAC 节点上执行以下集群时间同步服务配置.Oracle Clusterware 11g 第 2 版及更高版本要求在部署了 Oracle RAC 的集群的 ...

  6. 网络授时服务 NTP

    NTP  --- Network Time Protocol 网络授时服务,他解决的主要问题就是实现两台或者多台机器的时间同步问题,而传统的格林尼治时间不是标准的时间,因为地球自转的不是规则的. 网络 ...

  7. 云计算openstack共享组件(1)——时间同步服务ntp

    一.标准时间讲解 地球分为东西十二个区域,共计 24 个时区 格林威治作为全球标准时间即 (GMT 时间 ),东时区以格林威治时区进行加,而西时区则为减. 地球的轨道并非正圆,在加上自转速度逐年递减, ...

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

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

  9. centos7的时间同步机制:chrony使用

    配置时间同步方法如下: 1.安装chrony时间同步服务(系统默认安装) #yum install chrony 可以先查询一下是否有安装: [root@localhost etc]# rpm -qa ...

随机推荐

  1. Navicat 破解版链接

    本文为转载内容 百度网盘地址: https://pan.baidu.com/s/1nvIIOad 压缩包中有注册码和使用方法

  2. BDC里的 BDC_OKCODE

      BDC OKCODE其实都是function code,对于处理一些BDC问题 非常有用,   列出一些知道的 OKCODE BDC_OKCODE 功能描述 =/00.  Enter = /8   ...

  3. Centos7.3使用脚本自动静默安装oracle11.2.0.4数据库

    一直想着写一个脚本实现自动化安装oracle数据库.以下内容实验过几次了,可能还存在些小问题,如果在跑以下脚本中遇到问题,自己仔细排查即可 挣扎了好久,总算还是没实现,目前只能通过依次执行多个脚本来安 ...

  4. redis内存分析工具rdbtools

    当Redis的内存已经快满的时候,我们能做什么呢? 最直接的方法就是分析一下Redis内存的构成,看是哪些键比较大,或者比较多,然后考虑一下对应的功能能不能优化,例如减少超时时间,例如不必要的数据不用 ...

  5. jmap使用

    今天写的服务在处理大文件是出现Java heap space错误,因此结识了jmap jmap是JDK自带的一个工具,可以做jvm性能调优 可以生成dump文件,查询finalize执行队列.Java ...

  6. VS2017中使用ObjectARX 2019 wizard的 ArxWizMFCSupport向导出现的bug修复前因后果

    VS2017中使用ObjectARX 2019 wizard的 ArxWizMFCSupport向导出现的bug,提示脚本错误. 实际原因类似在arx2012向导的问题,需要修改C:\Program ...

  7. 07 XML知识点--学习笔记

    1.XML概念:Extensible Markup Language 可扩展标记语言 可扩展:标签都是自定义的. <user> <student> 功能 * 存储数据 1. 配 ...

  8. python大数据挖掘和分析的套路

    大数据的4V特点: Volume(大量):数据巨大. Velocity(高速):数据产生快,每一天每一秒全球人产生的数据足够庞大且数据处理也逐渐变快. Variety(多样):数据格式多样化,如音频数 ...

  9. ListModelSerializer模块

    ListModelSerializer模块 一 .自定义反序列化字段 # 一些只参与反序列化的字段,但是不是与数据库关联的 # 在序列化类中规定,并在校验字段时从校验的参数字典中剔除 class Pu ...

  10. FIFO形成3x3矩阵

    Verilog生成矩阵一般是使用shift_ip核,但其实用两个FIFO也行.最近刚好学到这种方法,把原理总结一下. 要求 现在有10x5的数据和对应数据有效指示信号,数据为0~49,要用FPGA对其 ...