Centos设置时间同步

前言

在生产服务器中有时会出现时间不准的情况,或者在集群部署时会出现集群服务器时间不一致的情况,这在生产环境是致命的。这该怎么办,下面我给大家具体操作一番,有不对的地方,烦请各位看官指正。

解决方案

在时间同步上可以使用ntpd服务或者ntpdate命令,两者都可以实现时间同步,但两者有一定区别。
ntpd不仅仅是时间同步的服务器,而且他还可以实现客户端与标准时间服务器的时间同步,而且是平滑同步,而对于ntpdate命令是强制服务器与时间服务器进行时间同步,具有时间跳跃性,在生产环境中慎用ntpdate,因此两者一般都不同时运行。
使用ntpd服务,要好于ntpdate加crontab的定时组合,因为ntpdate同步时间具有时间跳跃性,对程序或者服务有一定的影响(比如 sleep、timer)。ntpd服务可以在修正时间的同时,修正cpu tick。
还有要注意的是ntpd有一个自我保护设置,如果本机与同步源服务器时间相差太大,ntpd不运行。因此在新设置服务器时间时一定要先ntpdate从源时间服务器上获取一下时间初值,然后再启用ntpd服务。ntpd服务运行后,先是每64秒与源服务器同步一次,根据每次同步时测得的误差值经复杂计算逐步调整自己的时间,随着误差减小,逐步增加同步时间间隔,每次跳动,都会重复这个调整的过程。ntpd在和时间服务器同步过程中,会把BIOS计时器的振荡频率偏差,或者说Local Clock的自然漂移(drift)记录下来,这样即使网络有问题,本机仍然能维持一个相当精确地走时。

ntpd服务安装和ntpdate命令使用详细步骤(详细步骤

ntpdate

ntpdate比较简单,只需要安装上之后在Crontab中加入同步执行命令即可
yum -y install ntpdate

Crontab -e 详细添加信息可查看Crontab设置教程

ntpd

yum -y install ntp
安装完成之后记得修改ntpd配置信息
vi /etc/ntp.conf
找一台公共ntp时间服务器,比如ntp.aliyun.com,或者配置一台服务器作为主节点
NTP服务器:172.22.10.6
NTP客户端:172.22.10.92

主节点配置

配置文件中一般有restrict default语句,‘#’掉后选择,以下2种的一种
restrict default nomodify notrap noquery 默认允许所有可连接客户端ntpdate到本机
restrict default ignore 默认所有客户端禁止ntpdate到本机
与上级互联网服务端连续性同步时间,prefer表示优先,如无可不设置
server 上级ntp服务器IP或者域名 [prefer]
当之前设置了restrict default ignore的情况下,可以设置哪些客户可以ntpdate到本机
restrict 172.22.10.6 nomodify notrap nopeer noquery //当前节点IP地址
授权172.22.10.0网段上所有机器可以从这台机器上查询和时间同步
restrict 172.22.10.0 mask 255.255.255.0 nomodify notrap //集群所在网段、掩码、权限
新增本地ntp服务器172.22.10.6,注释掉原有的server 0-n
server 127.127.1.0
fudge 127.127.1.0 stratum 10
其余为可选设置,以默认值即可

客户端配置

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
restrict 172.22.10.92 nomodify notrap nopeer noquery //当前节点IP地址
restrict 172.22.10.0 mask 255.255.255.0 nomodify notrap //集群所在网段的网段(Gateway),子网掩码(Genmask)
server 172.22.10.6 iburst //NTP服务器IP地址,可以注释掉别的server或者在需要配置的ntp服务器后添加perfer--优先,提高优先级,如:server 172.22.10.6 perfer iburst
fudge 172.22.10.6 stratum 10 //NTP服务器层级设置
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

最后启动服务

service ntpd start
chkconfig ntpd on #设置为默认启动,关掉使用off
syetemctl status ntpd

posted @   马永猛  阅读(4181)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示