一、前言

1、介绍

NTP的官方网站:http://www.pool.ntp.org,在这可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个NTP Server;在中国可以选择下面几台服务器:

  • server 1.cn.pool.ntp.org
  • server 0.asia.pool.ntp.org
  • server 2.asia.pool.ntp.org

2、 时间时区概念(CST = UTC+8 = GMT+8

  • DST:夏令时指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用,中国不使用。
  • UTCCoordinated Universal Time):整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时。(UTC与GMT时间基本相同)
  • GMT格林威治时间):格林威治标准时间指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
  • CSTChinese Standard Time中国标准时间:通常所说的北京时间,中国处在UTC+8时区。

3、ntpd 与 ntpdate区别

ntpd:不仅可以做为时间同步服务器,还可以做客户端与标准时间服务器进行同步时间,ntpd为平滑同步时间,一点一点的把时间校准过来的,最终把时间慢慢的校正对,(不可以和ntpdate同时运行)不是NTP服务器可以不启动NTP。

ntpdate:用于客户端的时间矫正,ntpdate为立即同步时间,没有ntpd平滑同步时间那么精确,在生产环境中慎用ntpdate。

注意:ntpd有一个自我保护设置,如果本机与上源时间相差太大则ntpd不运行;所以新设置的时间服务器要先ntpdate从上源取得时间初值, 然后启动ntpd服务。ntpd服务运行后,先是每64秒与上源服务器同步一次,根据每次同步时测得的误差值经复杂计算逐步调整自己的时间,随着误差减小,逐步增加同步的间隔, 每次跳动都会重复这个调整的过程。所以当本机与上源时间相差太大时,可以在执行ntpd同步之前,先使用ntpdate将时间差缩小,然后使用ntpd进行时间的平滑同步。

4、为什么要搭建时间服务器?

ntp的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上大多数地方其精度可以达到1-50ms;

为什么不每台服务器直接同步公网上的时间服务器还要自己搭建一台呢,问题就在于企业中有10台服务器可以这样做,如果有100台,200台甚至更多呢,每台服务器都去同步公网的时间服务器,这样会造成延迟;

为了减少时间误差,搭建一台内网时间服务器(局域网中的NTP准确来说应该叫“NTP Relay Server”)来同步公网时间,然后所有服务器来与这台时间服务器进行同步,既可以减小误差同步速度又快,还可以达规范时间的作用。

二、NTP服务搭建

1、检查ntp服务是否已安装,如果有下面内容输出,测说明ntp服务已安装(CentOS7默认已安装,但未启用)

[root@localhost ~]# rpm -qa | grep ntp

2、如没有手动安装NTP服务

[root@localhost ~]# yum install ntp ntpdate -y

3、修改NTP配置文件,加黑部分为主要配置,添加NTP服务器地址

[root@localhost ~]# vim /etc/ntp.conf

driftfile /var/lib/ntp/drift    #会把时间误差记录下来写入driftfile,这样即使重新开机以后之前的计算结果也就不会丢失了

logfile /var/log/ntpd.log    #新增日志目录

restrict default nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict ::1

restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap     #控制允许哪些网络查询和同步时间,这里允许192.168.10.0网段上的所有机器可以从这台机器上查询和同步时间

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

server 192.168.10.30 iburst          #新增当外部时间不可用时可以使用本地时间

fudge 127.0.0.1 stratum 10         #startum为时间服务器的层次;设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0,默认为10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

disable monitor

4、启动服务并加入开机自启动项

[root@localhost ~]# systemctl restart ntpd ; systemctl enable ntpd

[root@localhost ~]# systemctl restart ntpdate ; systemctl enable ntpdate

5、作为NTP服务器,防火墙需要放行NTP服务的流量

[root@localhost ~]# firewall-cmd --permanent --add-service=ntp && firewall-cmd --reload

6、查看UDP123端口是否被ntpd服务进程占用,如有说明ntp服务成功启动

[root@localhost ~]# systemctl status ntpd | grep Active  ; netstat -tlunp | grep ntp

7、将当前时间和日期写入BIOS

[root@localhost ~]# hwclock -w

[root@localhost ~]# echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd

8、查看同步信息

[root@localhost ~]# ntpq -p         

注释:

remote:即NTP主机的IP或主机名称;最左边的符号,“+”:代表目前正在作用钟的上层NTP;“*”:表示也有连上线,不过是作为次要联机的NTP主机。
refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程中延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间

三、Linux客户端

1、将多余的Server注释掉,增加一行指向新部署的NTP服务器的IP地址即可

[root@localhost ~]# vi /etc/ntp.conf

2、 重启服务
[root@localhost ~]# systemctl restart ntpd ; systemctl enable ntpd

3、设置定时任务进行时间校对,需安装ntpdate,每天24点更新同步时间
[root@localhost ~]# crontab -e
0 0 * * * /usr/sbin/sntp -P no -r 192.168.10.30; hwclock -w

4、验证同步信息

[root@localhost ~]# ntpq -p

[root@localhost ~]# ntpdate -q 192.168.10.30        //查询你的ntp服务器同步信息

[root@localhost ~]#  ntpstat         //查看每次更新间隔

synchronised to NTP server (192.168.10.30) at stratum 3             //本NTP服务器层次为3,已向192.168.10.30NTP同步过

time correct to within 2083 ms                                                  //时间校正到相差93ms之内

polling server every 64 s                                                            //每1024秒会向上级NTP轮询更新一次时间

四、Windows客户端同步

CentOS 7 部署NTP服务器相关推荐

  1. Centos下部署NTP时间服务器同步环境

    Centos下部署NTP时间服务器同步环境记录 我是在购买的3A平台购买的服务器进行测试. 服务端部署 安装所需软件包 [root@test ~]# yum -y install ntp ntpdat ...

  2. 如何在 CentOS 中设置 NTP 服务器

    网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...

  3. centos下部署NTP时间服务器同步环境记录

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  4. Centos7部署ntp服务器同步时间以及直接将本地时间同步为北京时间

    一.查看配置 查看时区列表: timedatectl list-timezones|grep Asia 查看当前时间: date 查看当前设置: [root@localhost ~]# timedat ...

  5. centos系统关闭ntp服务器,CentOS 7配置NTP客户端

    保持服务器时间准确,对于业务系统的运行.数据库中时间的记录等至关重要.通常的做法是为服务器配置NTP客户端服务,让服务器自己定时去与NTP服务器同步时间. 以CentOS 7服务器为例,为期配置NTP ...

  6. centos 6.4 NTP服务器的搭建过程

    一.声明: 操作系统:cenots 6.4 server IP:  192.168.0.199 应老男孩老师的要求,做一次NTP服务的科普,由于NTP属于外围知识,没必要占用宝贵的课堂时间进行讲解,特 ...

  7. CentOS下部署web2py服务器

    本文的应用场景是要在centos下部署一个web2py服务器. 笔者的环境是Windows7 +VMare10 +CentOS v7 +SSH,全部是64位. 以可以从主机的浏览器访问到服务器的服务作 ...

  8. windows部署NTP服务器

    1.打开注册表编辑器,依次展开\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer ...

  9. Centos7系统、Hadoop集群上部署ntp服务器

    集群情况: 三台机器分别: master:180.201.163.46 slave1:180.201.156.76 slave2:180.201.130.17 网关:255.255.192.0 在sl ...

最新文章

  1. php 空格zhuanyi,php写的将逗号、空格、回车分...-php字符转义的相关注意事项-IIS环境中防止本地用户用fsockopen进行DDOS攻击的方法_169IT.COM...
  2. 常惠琢 201771010102《面向对象程序设计(java)》第七周学习总结
  3. Linux中的帮助命令
  4. tomcat的启动和窗体隐藏
  5. OpenCV使用F变换过滤
  6. Activity之间的通信方式
  7. .NET基础 (03)生成、部署和管理
  8. 触发器批量更新 用游标,一个一个处理
  9. C++标准库函数begin和end函数
  10. IDEA 公司,又出新神器,一套代码适应多端!
  11. php curl 错误码,php,_PHP curl 错误 :curl__errno()返回错误码6,php - phpStudy
  12. linux 安装mysql(rpm文件安装)
  13. 低功耗设计(low power design)和UPF介绍(含代码示例)
  14. IP地址和子网的划分详解
  15. linux网络凭据,适用于Linux和Windows的服务器凭据管理
  16. 【实战】Windows 10 CodeSoft 6 条形码标签打印开发实战 【产品标签设计印刷】【Codesoft】
  17. Internet标准时间RFC3339格式说明
  18. 谷歌地图kml能透明吗_谷歌卫星地图-[入门]关于KML的一些说明 - Google Earth教程
  19. vue路由无痕浏览nodeJS环境搭建
  20. 风变编程python小课课件_【风变编程】第五课笔记

热门文章

  1. 5.15 综合案例2.0-燃气检测系统(仅支持2.02以上版本)
  2. MySQL 外键影响
  3. 微信公众号注销需要多长时间 微信公众号注销成功多久释放资源
  4. 机器学习 决策树篇——解决连续变量的分类问题
  5. 作为软件开发人员,如何简单的推销自己
  6. 15.4.1 timedelta 数据类型
  7. C#实现 AES算法加密
  8. Regex Golf 正则表达式练习(持续更新)
  9. 分别利用KNN与Random Forest 算法完成手绘Fashion-MNIST 10类简笔画的识别
  10. 富家子弟“拼爹”,穷人父母“拼孩子”?