[转帖]Centos使用chrony做时间同步

centos,使用,chrony,时间,同步 · 浏览次数 : 0

小编点评

# Linux Chrony 设置服务器集群同步时间RHEL7 -- 使用Chrony设置时间与时钟服务器同步 ## 1. 安装和配置 Chrony ```bash # yum install chrony # yum install -y chrony ``` ## 2. 设置配置文件 ```bash # nano /etc/chrony.conf ``` ## 3. 配置服务器参数 ```bash # server 0.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver # server 1.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver # server 2.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver # server 3.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver ``` ## 4. 设置时区 ```bash # timedatectl set-timezone Asia/Shanghai ``` ## 5. 同步时钟服务器 ```bash # chronyc -a makestep200 OK快速步骤CentOS7.1采用chrony设置时间与时钟服务器同步 ``` ## 6. 查看时钟同步状态 ```bash # chronyc -a makestep ``` ## 7. 手动同步时钟 ```bash # vim /etc/chrony.conf # server 0.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver # server 1.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver # server 2.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver # server 3.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburstserver 4.pool.ntp.org iburstserver 5.pool.ntp.org iburstserver ```

正文

https://www.cnblogs.com/lizhaoxian/p/11260041.html

 

Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对NTP时间同步软件,速度更快、配置和依赖都更简单
Chrony有两个核心组件,分别是:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

配置的时候,需要首先配置chrony的服务器端,然后配置客户端与服务器端进行同步。如果基于外网的时钟服务器,那可以不用配置服务器器端

1、chrony工具安装

1、系统版本检查,使用cat /etc/system-release
2、使用rpm -qa |grep chrony查看系统是否已安装chrony,可看到默认已安装chrony的包。
3、如果没有安装环境可使用yum install chrony命令安装或者离线下载rpm包安装,下载地址:http://rpm.pbone.net/index.php3?stat=3&limit=2&srodzaj=3&dl=40&search=chrony,找到对应版本下载即可。
4、下载完后使用rpm -ivh chrony-2.1.1-4.el7.centos.x86_64.rpm安装即可

2、设置chrony的服务状态,并关闭防火墙

1、服务状态:

使用systemctl start chronyd.service  启动chrony服务
使用systemctl enable chronyd.service  设置开机同步时间
使用systemctl status chronyd.service  查看服务状态

2、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、或者不关闭防火墙、但允许NTP服务
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
因NTP使用123/UDP端口协议,所以允许NTP服务即可

3、服务端和客户端chrony配置

1、服务端配置

1)、配置文件修改
  vi  /etc/chrony.conf
 a、修改第22行,Allow NTP client access from local network,配置允许访问的客户端列表,支持CIDR,例如:

  allow 192.168/16

 b、修改第29行设置同步,Serve time even if not synchronized to any NTP server.,打开注释即可,即:

  local stratum 10
2)、重启下服务端chrony服务,使用systemctl restart chronyd.service重启即可。

2、客户端配置

1)、配置文件修改
  vim  /etc/chrony.conf
 a、修改server即可,删掉其他的,添加要同步时间的源服务器ip,格式如下:

  server x.x.x.x iburst
2)、重启下客户端chrony服务,使用systemctl restart chronyd.service重启即可。

  客户端使用chronyc sources -v命令完成同步即可

3)、查看同步状态

复制代码
[root@k8s-master tuned]# systemctl status chronyd -l
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-09-18 17:55:58 CST; 36s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 16160 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 16156 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 16158 (chronyd)
   Memory: 372.0K
   CGroup: /system.slice/chronyd.service
           └─16158 /usr/sbin/chronyd

Sep 18 17:55:58 k8s-master systemd[1]: Starting NTP client/server...
Sep 18 17:55:58 k8s-master chronyd[16158]: chronyd version 3.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SECHASH +SIGND +ASYNCDNS +IPV6 +DEBUG)
Sep 18 17:55:58 k8s-master chronyd[16158]: Frequency -39.629 +/- 0.032 ppm read from /var/lib/chrony/drift
Sep 18 17:55:58 k8s-master systemd[1]: Started NTP client/server.
Sep 18 17:56:31 k8s-master chronyd[16158]: Selected source 78.46.102.180
复制代码

 

4、常用命令

  查看时间同步源:
  $ chronyc sources -v

  立即手工同步

  $chronyc -a makestep
  查看时间同步源状态:
  $ chronyc sourcestats -v
  设置硬件时间
  硬件时间默认为UTC:
  $ timedatectl set-local-rtc 1
  启用NTP时间同步:
  $ timedatectl set-ntp yes
  校准时间服务器:
  $ chronyc tracking
  最后需要注意的是,配置完/etc/chrony.conf后,需重启chrony服务,否则可能会不生效。

5、各类参数说明

 

   配置参数说明

参数

参数说明

server

该参数可以多次用于添加时钟服务器,必须以"server "格式使用。一般而言,你想添加多少服务器,就可以添加多少服务器

stratumweight

stratumweight指令设置当chronyd从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下,CentOS中设置为0,让chronyd在选择源时忽略源的层级

driftfile

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

rtcsync

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

allow/deny

这里你可以指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器

cmdallow/cmddeny

跟上面相类似,只是你可以指定哪个IP地址或哪台主机可以通过chronyd使用控制命令

bindcmdaddress

该指令允许你限制chronyd监听哪个网络接口的命令包(由chronyc执行)。该指令通过cmddeny机制提供了一个除上述限制以外可用的额外的访问控制等级

makestep

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

  chronyc命令参数说明:

参数

参数说明

accheck 

检查NTP访问是否对特定主机可用

activity 

该命令会显示有多少NTP源在线/离线

add server

手动添加一台新的NTP服务器。

clients 

在客户端报告已访问到服务器

delete   

手动移除NTP服务器或对等服务器

settime 

手动设置守护进程时间

tracking 

显示系统时间信息

 

 

6、设置时区(非必须)

  查看当前系统时区:

$ 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
快速步骤

CentOS7.1采用chronyd进行时钟同步

systemctl status chronyd           查看时钟同步状态

chronyc -a makestep         手动同步时钟

配置时钟同步服务器

vim /etc/chrony.conf

里面会有类似

server 0.pool.ntp.org iburst

server 1.pool.ntp.org iburst

server 2.pool.ntp.org iburst

server 3.pool.ntp.org iburst

把你的ntpd server放进去,然后执行

systemctl restart chronyd.service

systemctl enable chronyd.service 

 

参考:

详解:Linux Chrony 设置服务器集群同步时间

RHEL7 -- 使用Chrony设置时间与时钟服务器同步

与[转帖]Centos使用chrony做时间同步相似的内容:

[转帖]Centos使用chrony做时间同步

https://www.cnblogs.com/lizhaoxian/p/11260041.html Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对NTP

[转帖]Centos使用chrony做时间同步

https://www.cnblogs.com/lizhaoxian/p/11260041.html Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对NTP

[转帖]CentOS7使用Chrony实现时间同步

学习安装部署 ceph 时 ,在添加 mon 时报错了,搜索原因后发现是 时间同步问题。于是学习一下时间同步工具。 一般CentOS6 使用的时间同步工具是ntp。现在还有不少开源软件文档建议安装的时间同步工具是ntp。个人感觉 chrony使用应该和ntp 差不多。本人使用 ntp较少,因为一直C

[转帖]CentOS7搭建时间服务器-chrony

操作系统:CentOS7防火墙: 关闭防火墙和selinux时间软件:chronyCentOS7我们一直用的ntp时间服务器,虽然到CentOS7上也可以装ntp。chrony与ntp都是时间同步软件,两个软件不能够同时开启,会出现时间冲突.但是由于各种问题,所以建议CentOS7使用chrony同

[转帖]Centos使用firewall封攻击IP IP段

https://bbs.qunyingkeji.com/2020/ 1.查攻击的IP 命令:netstat -an | grep tcp 2.使用firewall 封IP 示例:要封的192.191.171.0/24范围 命令: firewall-cmd --permanent --add-rich

[转帖]Centos下使用containerd管理容器:5分钟从docker转型到containerd

https://www.cnblogs.com/renshengdezheli/p/16684175.html 目录 一.系统环境 二.前言 三.containerd 四.部署containerd 4.1 安装containerd 4.2 containerd配置文件 4.3 配置container

[转帖]如何在CentOS 7上使用Barman备份,恢复和迁移PostgreSQL数据库

http://www.manongjc.com/detail/52-bdglcaimnhmjvkm.html 本文章向大家介绍如何在CentOS 7上使用Barman备份,恢复和迁移PostgreSQL数据库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的

[转帖]ARM64 CentOS系统下MySQL使用jemalloc时的问题和解决方法

https://aijishu.com/a/1060000000321521 本文主要介绍在ARM64 CentOS系统下,MySQL使用jemalloc作为内存管理器时,内存占用问题的分析过程和解决方法。 Jemalloc 简介 Jemalloc是由Jason Evans在FreeBSD项目中引入

[转帖]Centos配置阿里云yum源

https://www.cnblogs.com/root-123/p/16570906.html 一、备份原来的yum源,以防后续使用 cd /etc/yum.repos.d/;mkdir bak/; mv *.repo bak/ 二、下载阿里云的base源 Centos6: wget -O /et

[转帖]Docker Centos 支持中文字符集编码

https://www.jianshu.com/p/ac267eac47d1 我们在使用 Docker centos7.2 镜像时发现即使安装了中文字符集环境包,通过下面的命令来实现支持中文,但是在用 yum 安装某些软件后,比如执行 yum -y reinstall glibc glibc-com