暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解析ntpdate与ntpd的区别

子衿技术联盟 2016-01-15
2290


作者简介


洪慧立长期关注主机、存储、备份及虚拟化系统。2012年加入资源池项目组,曾担任国网资源池2013年推广阶段项目实施组组长,负责全国的实施工作。


最近在查询国网总部信通公司的Linux系统实施规范的时候,发现有如下内容:


=======================================================

自动同步时间:在crontab中加入:*/1 * * * * usr/sbin/ntpdate xx.xx.xx.xx >/dev/null 2>&1

=======================================================


解释一下,上面的意思就是Linux主机每分钟使用ntpdate命令与ntp服务器xx.xx.xx.xx进行时间同步。


不知道是哪位古人说的:“我认为有几种人是必须不招聘/裁掉的:

1、用ntpdate代替ntpd的人;

2、自己编译Apache,加一堆disable参数的人”。


这古人所云未免偏激,但至少说明在Linux系统中除了ntpdate,还有ntpd也可以进行时间同步。


下面来说说这两种时间同步方式的区别:

ntpdate:最简单的用法是ntpdate命令后面跟ntp服务器的地址,只要相应网络端口(123端口)开通即可完成同步,也没有太多使用限制。


ntpd:以服务的形式驻留后台。该程序即可作为ntp server对外提供服务,也可以作为ntp client与服务器端同步时间。主要配置文件有/etc/ntp.conf及/etc/sysconfig/ntpd。使用上有如下限制:

1)默认情况下,主机操作系统与ntp服务器时间相差大于1000秒时,ntpd服务退出,不进行时间同步。可以通过-q选项解除该限制,同时使用-g参数将1000秒的限制调整为任意值,但这种情况下时间同步仅执行一次。

2)默认情况下,主机操作系统与ntp服务器时间相差大于128ms时,同步动作将一次到位;小于128ms时,将采用微调的方式进行,也就是每秒钟调整0.5ms,直到完成同步。如果使用-x选项,则128ms限制变为600s,即时间差小于600s时进行微调。微调的过程可能会比较漫长,例如600s的时间差,需要大约14天才能完成时间同步。


另外,ntpd还有一个优点:在时间同步的过程中,ntpd会把主板BIOS晶振时间与ntp服务器的时间偏差持续记录在drift文件中。这样即便在某些时刻无法访问ntp服务器,ntpd程序仍然能够维持一个较精确的走时。


由上面论述可知,两种同步方式的主要区别是能否进行微调。有一些对时间比较敏感的应用——如数据库——时间大幅度调整可能带来意想不到的后果,最常见的例子就是导致某个Oracle RAC节点重启。


由此可见,ntpdate命令更适合在对时间调整不敏感的地方使用,如刚装完操作系统,应用系统尚未部署时。对于已部署应用系统的主机,建议使用ntpd替代ntpdate进行时间同步。


联系我们



子衿技术公众号邀请IT界技术大牛激扬文字,发表真知灼见,篇篇干货。

我们依托南瑞集成实验室,开展线下交流,动手实践,欢迎您的加入!

地址:南京市江宁区诚信大道19号南京南瑞集团公司信息系统集成分公司

电话:025-81095705





欢迎扫码关注子衿技术


1)即日起,凡是推送在【子衿技术】平台的文章,阅读量超过1000,该文章作者可获赠礼品。

2)投稿数量较多的作者可获赠礼品。

3)从关注的用户中每月抽取3名幸运关注用户,这3名幸运用户可获赠礼品。


技术干货文章随时欢迎向“子衿技术团队”订阅号投稿。

投稿邮箱:xx.miaojingwen@163.com。


文章转载自子衿技术联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论