[转帖]Centos使用chrony做时间同步
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
参考:
[转帖]Centos使用chrony做时间同步的更多相关文章
- K8S学习笔记之CentOS7集群使用Chrony实现时间同步
0x00 概述 容器集群对时间同步要求高,实际使用环境中必须确保集群中所有系统时间保持一致,openstack官方也推荐使用chrony代替ntp做时间同步. Chrony是一个开源的自由软件,像Ce ...
- iOS 客户端与服务端做时间同步
需求 我们做客户端的时候,有时会需要对客户端与服务器的时间进行同步,比如抢购活动.倒计时等.这时我们要考虑如何准备地与服务器的时间进行同步,同时防止用户本地的时间有误差时导致的问题. 分析 描述 为了 ...
- centos 7 Chrony 集群同步时间
Chrony有两个核心组件,分别是:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步.它确定计算机增减时间的比率,并对此进行调整补偿.chronyc:提供一个用户界面,用于 ...
- centos修改hostname以及时间同步
centos修改hostname 方法一: 执行命令:hostname test 则修改hostname为test 方法二: 永久修改hostname vi /etc/sysconfig/networ ...
- Centos 7配置ntp时间同步
1.NTP时钟同步方式说明 NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步: 1)直接同步 使用ntpdate命令进行同步,直接进行时间变更.如果服务器上存在一个1 ...
- CentOS命令修改系统时间同步
使用Centos,遇到本地时间对不上,直接敲命令:date -s "2016-01-08 15:15:15"是立即生效了,但是重启后,系统时间还是原来的. 修改了其一是没有办法奏 ...
- [转帖]CentOS 6 服务器安全配置指南(通用)
CentOS 6 服务器安全配置指南(通用) http://seanlook.com/2014/09/07/linux-security-general-settings/ 发表于 2014-09- ...
- CentOS安装mariadb做为mysql的替代品
mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SE ...
- [原]CentOS 7 chrony 笔记
~]# timedatectl status Local -- :: CST ==> 本地系统实际时间,设置时间timedatectl set-:: 设置日期timedatectl set- 设 ...
- [转帖]CentOS下iRedMail安装配置
CentOS下iRedMail安装配置 中文名为艾瑞得邮件,由 rhms 项目更名而来.是针对 Linux 设计的邮件服务器解决方案,是在操作系统安装好后使用的一套 shell 脚本,用于快速部署一套 ...
随机推荐
- Feign源码解析:初始化过程(三)
背景 前面两篇讲了下,在一个典型的引入了feign.loadbalancer.nacos等相关依赖的环境中,会有哪些bean需要创建. 其中第一篇讲了非自动配置的bean,第二篇是自动配置的bean. ...
- 2023-08-26:请用go语言编写。开心一下的智力题: 有一个村庄,一共250人, 每一个村民要么一定说谎,要么只说真话, 村里有A、B、C、D四个球队,且每个村民只会喜欢其中的一支球队, 但是说
2023-08-26:请用go语言编写.开心一下的智力题: 有一个村庄,一共250人, 每一个村民要么一定说谎,要么只说真话, 村里有A.B.C.D四个球队,且每个村民只会喜欢其中的一支球队, 但是说 ...
- 10、弹性布局(Flex Expanded)
自定义的IconContainer class IconContainer extends StatelessWidget { Color color; IconData icon; // IconC ...
- MySQL进阶篇:详解存储引擎MyISAM
MySQL进阶篇:第一章_一.三_存储引擎特点_MyISAM 1.1 存储引擎特点 1.1.2 MyISAM 1). 介绍 MyISAM是MySQL早期的默认存储引擎.. 2). 特点 不支持事务,不 ...
- 这项评测,华为云GaussDB(for MySQL)顺利通过
摘要:近日,中国信息通信研究院(简称"中国信通院")公布了第十五批"可信数据库"评测结果.华为云GaussDB(for MySQL)凭借过硬的技术实力顺利通过& ...
- 火山引擎 DataTester 升级:降低产品上线风险,助力产品敏捷迭代
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 在企业竞争加剧的今天,精益开发和敏捷迭代已成为产品重要的竞争力.如何保障每一次 Feature 高效迭代与安全,如何快速实 ...
- 火山引擎 DataTester:构建增长闭环,3-5 人即可搭建企业增长团队
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 增长是一个老生常谈的话题,对许多企业而言这个词都很熟悉,但在实践过程中仍然有很多的疑问,比如指标体系应该怎么搭建? ...
- Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅的命令行显示吗. 下载 cmder 绿色版,然后用我的配置文件,替换原来的文件启动就可以了 配置文件下载:cmder ...
- 在低代码开发平台 ILLA Cloud 中使用 Hugging Face 上的模型
ILLA Cloud 是一个面向开发者的开源低代码开发平台,平台专注于帮助开发者快速建立企业内部应用,为开发者节约数据调用与页面设计的时间.平台具有面向开发者.数据整合.协同开发.灵活部署等功能与特点 ...
- ES6常用知识学习札记
转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5c7aa6c7bf3acc0864870f9d es6 是什么 首先弄明白ECMA和js的关系.E ...