🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质: CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥🎈支持我:可点赞👍、可收藏⭐️、可留言📝
此文章(十四、时间同步服务)所在专栏包含整个 RHCSA 认证的内容: 运维基本功专栏地址
在2017年时,公司就发生过因为时间同步没做好,主机时间不一致,导致整个架构同步出现问题,影响了业务的运行。
还好当时发现得及时,马上进行时间同步,服务集群恢复,应用架构重新运营。
否则就成了头条,某公司高级工程师金鱼哥(冤枉啊,不是我搞的啊🤣),因基础技术没做好,导致公司损失一个亿(🤦♂️o((⊙﹏⊙))o)
所以时间同步服务非常重要,这个是必须要学会和设置的。
那么接下来,我们来说一说时间同步的东西:
加密和安全当前都离不开时间的同步,否则各种网络服务可能不能正常运行。
(听到没有,很重要啊,离不开啊)
喂,进行学习主题了:
📜14.1 时间同步服务
多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协
议,日志,集群等, 利用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上,精度通常为几十微秒。利用硬
件时间戳或硬件参考时钟,可实现亚微秒的精度。
📜14.2 chrony
📑14.2.1 chrony介绍
chrony 的优势:
- 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天
24 小时运行的虚拟计算机而言非常有用 - 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节
能技术而言非常有用 - 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响
- 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性
- 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟
chrony官网:https://chrony.tuxfamily.org
chrony官方文档:https://chrony.tuxfamily.org/documentation.html
📑14.2.2 chrony 文件组成
包:chrony
两个主要程序:chronyd和chronyc
- chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算
机增减时间的比率,并对此进行补偿 - chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计
算机上工作,也可在一台不同的远程计算机上工作
服务unit 文件: /usr/lib/systemd/system/chronyd.service
监听端口: 323/udp,123/udp
配置文件: /etc/chrony.conf
📑14.2.3 配置文件chrony.conf
server - 可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据
包。 包间隔通常为2秒,可加快初始同步速度
driftfile - 根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟
作出补偿
rtcsync - 启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
allow / deny - 指定一台主机、子网,或者网络以允许或拒绝访问本服务器
cmdallow / cmddeny - 可以指定哪台主机可以通过chronyd使用控制命令
bindcmdaddress - 允许chronyd监听哪个接口来接收由chronyc执行的命令
makestep - 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定
情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在
调整期大于某个阀值时调整系统时钟
local stratum 10 - 即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其
它客户端
📑14.2.4 ntp客户端命令
chronyc 可以运行在交互式和非交互式两种方式,支持以下子命令
help 命令可以查看更多chronyc的交互命令
accheck 检查是否对特定主机可访问当前服务器
activity 显示有多少NTP源在线/离线
sources [-v] 显示当前时间源的同步信息
sourcestats [-v]显示当前时间源的同步统计信息
add server 手动添加一台新的NTP服务器
clients 报告已访问本服务器的客户端列表
delete 手动移除NTP服务器或对等服务器
settime 手动设置守护进程时间
tracking 显示系统时间信息
📑14.2.5 公共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
time1-5.cloud.tencent.com
- 大学ntp服务
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学 - 国家授时中心服务器:cn.pool.ntp.org
📜14.3 时间工具
- timedatectl 时间和时区管理
#查看日期时间、时区及NTP状态:
timedatectl
#查看时区列表:
timedatectl list-timezones
#修改时区:
timedatectl set-timezone Asia/Shanghai
#修改日期时间:
timedatectl set-time "2017-01-23 10:30:00"
#开启NTP:
timedatectl set-ntp true/false
💡总结
看到了吧,也没想象中难吧,就弄好配置文件,设置好就OK了,不过记得设置就是了,否则,一个亿的项目啊。
RHCSA认证作为基础认证,涉及的基础内容需要大家好好进行学习并巩固。有良好的基础才能更上一层楼。
好好加油,可以噶🤪。
以上就是【金鱼哥】对 第十四章 时间同步服务 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。
💾 红帽认证专栏系列:
RHCSA专栏: 戏说 RHCSA 认证
RHCE专栏: 戏说 RHCE 认证
此文章收录在RHCA专栏: RHCA 回忆录
如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。
如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!