CentOS7 使用NTP服务自动同步本地时间

centos7 运维 · systemofdown · 于 2年前 发布 · 1688 次阅读

背景

有的时候系统时间不对会引起很多未知的奇葩问题, 所以作为服务器更为重要.

准备工作

查看当前服务器时区:

timedatectl

如已是正确时区,请略过. 如果不是本地时区, 则需要手工设置, 以北京时区为例:

timedatectl set-timezone Asia/Shanghai

同步时间设置

安装NTP服务

 yum install ntpdate ntp -y

设置NTP服务

修改NTP配置vim /etc/ntp.conf

#注释掉默认服务器列表
#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 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst

手动同步时间:

 ntpdate -u 1.cn.pool.ntp.org

设置开机启动:

ystemctl enable ntpd

启动NTP服务器

systemctl start ntpd

硬件时间

查看ntp连接状态如果没有问题

ss -tlunp | grep ntp
ntpq -p

将正确时间写入硬件:

hwclock -w

以crontab任务计划同步时间(需安装ntpdate,每天24点更新同步时间) crontab -e:

0 0 * * * /usr/sbin/sntp -P no -r 172.16.128.171;hwclock -w

RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

硬件时间:

RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

系统时间:

一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

扩展阅读

时区概念: GMT、UTC、CST、DST

UTC:

整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。

GMT:

格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。

CST:

中国标准时间 (China Standard Time)

GMT + 8 = UTC + 8 = CST

DST:

夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。

ntpd、ntpdate的区别

使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。

  • ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步. ntp守护进程为ntpd,配置文件是/etc/ntp.conf
  • ntpdate立即同步时间,ntpdate用于客户端的时间矫正,非NTP服务器可以不启动NTP. 在生产环境中慎用ntpdate,也正如此两者不可同时运行

ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行. 所以新设置的时间服务器一定要先ntpdate从上源取得时间初值, 然后启动ntpd服务进行时间的平滑同步。

NTP 工作原理

ntpd 进程通过定期与NTP时钟源服务器发送消息来获取时间信息。在进程初始启动时候,不论是第一次boot还是随后启动,nptd 会给服务器发送消息以获取时间本设置到本地系统。为了防止网络风暴,进程启动后会在定义好的间隔64秒之上再加一个随机延迟值,这个随机值的范围是0~16秒;因此进程启动后需要数分钟才会开始同步时间。

使用ntpd服务,要好于ntpdate加cron的组合。

因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比 如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。

本文由 systemofdown 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册