时间,闰秒,及NTP

1.时间

格林尼治时间 GMT,以地球自转为准的时间,也叫世界时UT,但是由于自转速度会变化,所以后来不被作为标准。

世界协调时UTC,以原子钟为准,现在时间校准的标准就是原子钟。

2.闰秒

是指地球自转时间加长,每过1~2年都会增加1秒左右,但是我们是以UTC为准的,如果不调整UTC的话,GMT和UTC会相差越来越大。

故某个组织就定了一套规则,每次增加1秒就固定在6月或12月底加一秒。

这里加一秒是指调整UTC的时间,比如本来UTC当前时间戳为1436255907,下一秒原子钟应该跳到1436255908,但是碰到闰秒设置的时候,组织就把下一秒的原子钟还是调为1436255907,然后后面继续1秒1秒的加(个人猜测,可能跟实际有误)。所以这里所说的加一秒是指某个时间戳所持续的时间由1秒变成2秒。服务器等会到校时服务器上去拿最新时间校验,此时服务器时间戳可能会不变,也可能会倒退1s。

可能带来的问题:服务器时间倒退,一些涉及到sleep,计时器,或者循环的一些逻辑可能出现错误或者死循,一些低版本应用或者系统可能会因此出现故障。

如:Linux kernel低于2.6.18-164的Linux系统在2012年那次闰秒时如果不停ntp服务的话会因为ntpd锁死而重启。

不过大部分问题都只是一些程序BUG,写代码的时候未注意处理出现闰秒时时间戳的处理,当然也包括操作系统本身在防范时间倒退上的一些处理。

貌似后来linux 或者ntpd都优化了对闰秒的处理,所以写程序的时候应该可以无视这种可能性。个人觉得ntpd在同步时间时,若发现比当前小1秒左右,可以判断一下是否出现在闰秒的日期附近,是的话就不进行倒退处理而是保持,同时时钟tick进行特殊处理,过了2秒才tick到下一时间戳。不知道实际ntpd是不是这样做的。

3.ntp

network time protocol

一种控制在几十ms或者几ms误差,提供加密处理的时间同步协议。

linux下时间同步可以用2个方法,两种方法不能同时用:

1)crontab 里面加 */5 * * * * /usr/sbin/ntpdate 172.16.10.69 > /dev/null 2>&1 计划任务跑用ntpdate命令 往69服的ntp服务器上同步最新数据

不过用这个命令就会出现上面时间跳跃的问题,所以一个健壮的系统(如外网)最好不要用这个

2)填好配置,/etc/ntp.conf 等一些,然后启动ntpd服务,服务会到配置的server上同步最新时间,也会开启123端口作为ntp服务器给其他客户端连。

相关ntp的一些文章:

如何解决2012年7月1日增加闰秒后引起linux系统重启问题 http://www.2cto.com/os/201207/138634.html

linux时间同步,ntpd、ntpdate http://blog.sina.com.cn/s/blog_636a55070101u1mg.html

http://blog.chinaunix.net/uid-20690190-id-1894436.html

一台机器如何实现既做NTP服务器又做NTP客户端 http://bbs.csdn.net/topics/310020973
时间: 2024-10-11 15:21:42

时间,闰秒,及NTP的相关文章

Windows 客户端时间更新脚本NTP

Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers" /ve /t REG_SZ /d 3 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\S

CentOS中如何搭建(时间同步系统)NTP服务器

本文由安徽京准科技提供 请勿转载 网络时间协议(NTP)用来同步网络上不同主机的系统时钟.所有受管理的主机可以与一台名为NTP服务器的指定时间服务器同步时间.另一方面,NTP服务器则与任何公共NTP服务器或者你所选择的任何服务器同步自己的时间.所有NTP管理的设备其系统时间同步时可以精确到毫秒级.在企业环境下,如果企业不想为NTP流量打开防火墙,就有必要搭建一台内部的NTP服务器,让员工可以使用内部服务器,而不是公共NTP服务器.我们在本教程中将介绍如何将CentOS系统配置成NTP服务器.在具

使用ntpdate命令同步服务器时间出现“the NTP socket is in use, exiting”

今天将一台Centos服务器还原快照后,出现了如下问题: 然后使用ntpdate命令手动同步服务器时间,出现如下提示: [[email protected] tools]# ntpdate 220.231.55.106 4 Nov 12:02:59 ntpdate[29800]: the NTP socketis in use, exiting 解决方法: 第一步:#service ntp stop 第二步:#ntpdate ntp.neu.edu.cn 问题得到解决:

用命令设置esxi主机时间和配置NTP服务器

一.设置esxi主机时间 设置esxi主机时间为 2016 年03月8日16:01: 更改esxi系统时间: ~ #  esxcli system time set -d 08 -H 16 -m 01 -M 03 -y 2016 如果同步系统时间到主板上,使用下面命令: ~ # esxcli system time get 更改esxi主机主板上的时间: ~ # esxcli hardware clock set -d 10 -H 10 -m 18 -M 04 -y 2016  如果同步主板到e

设置新时间校正服务器NTP SERVER

时间校正服务器IP : 10.*.*.* 适用系统:windows server 2008/windows 7 net stop w32time net start w32time w32tm /query /source    查询NTP server w32tm /config /manualpeerlist:”10.*.*.*” 设置新 NTP SERVER w32tm /config /update      应用新NTP SERVER w32tm /resync  同步时间

linux ntp时间服务器配置

Network Time Protocol (NTP) 也是RHCE新增的考试要求. 学习的时候也顺便复习了一下如何设置Linux的时间,现在拿出来和大家分享 设置NTP服务器不难但是NTP本身是一个很复杂的协议. 这里只是简要地介绍一下实践方法和上次一样,下面的实验都在RHEL5上运行 1. 时间和时区 如果有人问你说现在几点? 你看了看表回答他说晚上8点了. 这样回答看上去没有什么问题,但是如果问你的这个人在欧洲的话那么你的回答就会让他很疑惑,因为他那里还太阳当空呢. 这里就有产生了一个如何

Linux服务篇之一、构建NTP时间服务器

NTP服务介绍: NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间. 准备2台虚拟机做测试: 一.修改客户端的时间 1.查看当前客户机的系统时间:发现时间不准确,需要进程调整: 2.同步时间的命令是:ntpdate 在网络上找一下可以同步的时间服务器,有很多: http://www.cnblogs.com/JemBai/archive/2012/04/15/2450045.html 3.同步时间,用一下复

Centos 6.3 下实现ntp时间服务器

网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Universal Time Coordinated).NTP的主要开发者是美国特拉华大学的David L. Mills教授. NTP对于我们个人来说有什么用呢,简单的讲,当你的计算机时间不准确了,你可以接入到互联网,从网上同步一下时间,看多方便. 对于企业来说,当你有成百上千的计算机,都不能直接连接互联网,

配置 NTP 时间服务器

对于我们当前这种案例,主要目标是把 z01 这台服务器设置为时间服务器,剩下的 z02,z03 这两台机器同步 z01 的时间,我们需要这样做的原因是因为,整个集群架构中的时间,要保持一致. ** 检查当前系统时区,使用命令: # date -R,如图: 注意这里,如果显示的时区不是 + 0800,你可以删除 localtime 文件夹后,再关联一个正确时区的链接过去,命令如下: # rm -rf /etc/localtime # ln -s /usr/share/zoneinfo/Asia/S

常用NTP网络时间服务器整理

以下所有的域名都是通过host -t A domain 114.114.114.114解析出来的结果. ntp1.aliyun.com has address 182.92.12.11 北京市大兴区 阿里云ntp2.aliyun.com has address 120.25.115.19 广东省深圳市 阿里云ntp3.aliyun.com is an alias for ntp.aliyun.com.ntp4.aliyun.com is an alias for ntp.aliyun.com.n