zoukankan      html  css  js  c++  java
  • Linux Chrony 设置服务器集群同步时间

    os 环境:

    centos 7.7

    192.168.0.100 服务端1.

    192.168.0.110 客户端

    ###---客户端向时间服务器同步时间---###

    1.> 安装chrony

    yum -y install chrony

    systemctl start chronyd && systemctl enable chronyd

    2.> 配置/etc/chrony.conf配置文件

    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.
    #l og measurements statistics tracking

    3.> 设置时区

    查看当前系统时区:

    $ 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

    4.> 服务器之间的集群时间同步

    ###---在生产环境中,其网络都是内网结构,那么内网如何保证服务器之间的时间同步呢?其实这个问题很简单,只需要搭建一台内网时间服务器,然后让所有计算机都到服务端(10.28.204.66)去同步时间即可。---###

    具体操作:在服务端注释以下内容:

    #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

    并添加以下内容:(表示与本机同步时间)

    server 192.168.0.100 iburst

    这样我们需求的一台内网时间服务器已经配置完毕。

    同样在客户端注释掉其他server,并在客户端(10.28.204.65)添加以下:

    server 192.168.0.100 iburst

    到此已经完成系统时间的同步。如有多台机器,操作也是如此。

    5.> 常用命令

    常看时间同步源

    $ chronyc sources -v

    查看时间同步源状态:

    $ chronyc sourcestats -v

    设置硬件时间

    硬件时间默认为UTC:

    $ timedatectl set-local-rtc 1

    启用NTP时间同步:

    $ timedatectl set-ntp yes

    校准时间服务器:

    $ chronyc tracking

    6.> 最后需要注意的是,配置完/etc/chrony.conf后,需重启chrony服务,否则可能会不生效。

  • 相关阅读:
    51Nod 1080
    51Nod 1015 水仙花数
    51Nod 1009 数字1的个数 | 数位DP
    Java中Native关键字的作用
    【Java关键字-Interface】为什么Interface中的变量只能是 public static final
    JAVA8 十大新特性详解
    深入理解final关键字
    Linux 在线模拟器
    jdk1.7和jdk1.8区别
    Java高新技术第一篇:类加载器详解
  • 原文地址:https://www.cnblogs.com/lfl17718347843/p/13024327.html
Copyright © 2011-2022 走看看