• Linux时间同步服务chrony


    1、简介

    Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 。它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对于NTP时间同步软件,占据很大优势。其用法也很简单。Chrony有两个核心组件,分别是:

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

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

    NTP使用123/UDP端口协议

    2、使用方式

    1)系统默认已经安装,如未安装,请执行以下命令安装:
    yum install chrony -y

    2)启动并加入开机自启动
    systemctl enable chronyd.service
    systemctl start chronyd.service

    3)查看状态
    systemctl status chronyd.service

    4)配置文件详解
    cat /etc/chrony.conf

    # 使用pool.ntp.org项目中的公共服务器。以server开始,理论上你想添加多少时间服务器都可以。
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    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

    # 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整。
    driftfile /var/lib/chrony/drift

    # chronyd根据需求减慢或加速时间调整,
    # 在某些情况下系统时钟可能漂移过快,导致时间调整用时过长。
    # 该指令强制chronyd调整时期,大于某个阀值时步进调整系统时钟。
    # 只有在因chronyd启动时间超过指定的限制时(可使用负值来禁用限制)没有更多时钟更新时才生效。
    makestep 1.0 3

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

    # Enable hardware timestamping on all interfaces that support it.
    # 通过使用hwtimestamp指令启用硬件时间戳
    #hwtimestamp eth0
    #hwtimestamp eth1
    #hwtimestamp *

    # Increase the minimum number of selectable sources required to adjust
    # the system clock.
    #minsources 2

    # 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器
    #allow 192.168.0.0/16
    #deny 192.168/16

    # Serve time even if not synchronized to a time source.
    local stratum 10

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

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

    # Select which information is logged.
    #log measurements statistics tracking

    5)设置时区
    查看当前系统时区
    $ timedatectl
    Local time: Fri 2018-2-29 13:31:04 CST
    Universal time: Fri 2018-2-29 05:31:04 UTC
    RTC time: Fri 2018-2-29 08:17:20
    Time zone: Asia/Shanghai (CST, +0800)
    NTP enabled: yes
    NTP synchronized: yes
    RTC in local TZ: no
    DST active: n/a

    如果你当前的时区不正确,请按照以下操作设置。

    查看所有可用的时区:

    $ timedatectl list-timezones
    筛选式查看在亚洲S开的上海可用时区:

    $ timedatectl list-timezones | grep -E "Asia/S.*"
    Asia/Sakhalin
    Asia/Samarkand
    Asia/Seoul
    Asia/Shanghai
    Asia/Singapore
    Asia/Srednekolymsk

    设置当前系统为Asia/Shanghai上海时区:
    $ timedatectl set-timezone Asia/Shanghai

    设置完时区后,强制同步下系统时钟:
    $ chronyc -a makestep
    200 OK

    服务器端和客户端修改/etc/chrony.conf配置文件,添加
    server xxxx.xx.xx.xx iburst

    6)在客户端执行
    chronyc sources //刷新一下同步情况
    chronyc sources -v //查看时间同步源的状态
    netstat -antpul | grep chron //查看该服务端口,并开通相应端口

  • 相关阅读:
    javascript 面向对象 new 关键字 原型链 构造函数
    前端性能优化之gzip
    电子商务秒杀所带来的问题
    git 远程版本库,github提供服务原理,git自动更新发送邮件
    单点登陆的三种实现方式(详解)
    使用php实现单点登录
    支付宝异步回调
    http状态码大全
    php 单向散列加密
    curl模拟post请求
  • 原文地址:https://www.cnblogs.com/potato-chip/p/11972045.html
Copyright © 2020-2023  润新知