一、ntpd与ntpdate的区别:

    摘自:ntpd与ntpdate的区别 - 百事乐 - 博客园  http://www.cnblogs.com/liuyou/archive/2012/07/29/2614330.html
1.区别:
  ntpd是调整时间,即将时间一点一点的校准过来,最终把时间慢慢校正对;
  ntpdate是校准时间,即直接调整时间,并不会考虑其他程序,直接结果是时钟跃变。
2.时钟跃变的后果
  很多应用程序依赖连续的时钟,即取得的时间是线性的, 基于一个事实:时间不会往回跳跃。 
    但是ntpdate校准时间的方式就是所谓的“跃变”:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:
       第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
       第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
       第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。
       因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
       NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差??或者说 Local Clock 的自然漂移(drift)??记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
3.结论:谨慎使用ntpdate!!!
 
二、linux集群时钟同步的一个方案
  方案的思路:在本地假设一台NTP服务器,用来校准整个集群的时钟。
  本文的实验环境:CentOS 6.6,64位版本(若读者选用的是Ubuntu的机器,可以参考下面的参考网址)
实验步骤记录如下:
首先,校准NTP服务器的时间:
1.选择一台机器作ntp服务器,设置时区:
  # date                 可以在操作前先查看一下当前系统时间
  # tzselect     依次选择5亚洲、13香港、然后按照提示确认保存即可。
   # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime      #覆盖默认时区
2.校准网络时间:
     # ntpdate cn.pool.ntp.org
3.将当前时间写入硬盘,确保重启有效:
  # hwclock -w
 
然后,安装、配置并启动NTP服务,并将其本地时间作为时钟供给源,以保证在集群断网的情况下,仍然可以提供时钟校准服务
1.安装ntp服务(会自动安装两个组件ntpd 和 nptdate)
  # yum -y install ntp
2.修改配置文件
  #vim /etc/ntp.conf
在后面添加:

  server 127.127.1.0

  Fudge 127.127.1.0 stratum 10

注:如果集群是在一个封闭的局域网内,可以屏蔽掉默认的server,将下面几行注释掉

  #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 ntp.sjtu.edu.cn prefer

3.配置客户端的授权:设置指定网段内的机器才有访问NTP 服务器的权限:

  restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
 
说明:本地192.168.1.x网段内的机器可以在本服务器上查询和同步时间
 
注:

[restrict]参数设定方式:

其中parameter的参数主要有:
  ignore            拒绝所有类型的ntp连接
  nomodify        客户端不能使用ntpc与ntpq两支程式来修改服务器的时间参数
  noquery         客户端不能使用ntpq、ntpc等指令来查询服务器时间,等于不提供ntp的网络校时
  notrap           不提供trap这个远程时间登录的功能
  notrust          拒绝没有认证的客户端
  nopeer          不与其他同一层的ntp服务器进行时间同步

4.设置ntp客户端:
  在所有的ntp客户端上,设置时区与NTP 服务器的一致,参照前面的操作,然后修改配置文件:
  # vim /etc/ntp.conf 
  添加:
  server xxx.xxx.xxx.xxx      (xxx...即NTP服务器的IP)
5.在所有的机器上同步时间,保证与NTP服务器一致
  # ntpdate  NTP服务器地址
6、启动ntp服务
  # service ntpd start
  # chkconfig nptd on  #设置开机自动启动
注意:nptd服务启动的时候,nptdate无法使用
参考:
  hadoop在linux系统下的集群时间同步-编程中国社区  http://www.hello-code.com/group/Hadoop/201407/1291.html
  配置NTP服务ntpd/ntp.conf(搭建Hadoop集群可参考) - Laurence的技术博客 - 博客频道 - CSDN.NET  http://blog.csdn.net/bluishglc/article/details/41413031
     ntp时间同步,各种配置方法 - bingfeng - 博客园 http://www.cnblogs.com/mybook/archive/2012/11/06/2757597.html
 
 
 
 

linux集群时钟问题的更多相关文章

  1. Linux集群部署自定义时间同步服务器(ntpd)

    Linux集群部署自定义时间同步服务器(ntpd) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为一名运维人员,在搭建集群的时候,第一步需要做的就是同步每个机器的时间,尤其是在 ...

  2. Linux集群监控工具简介:Ganglia和Nagios

    11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...

  3. 实验室 Linux 集群的管理常用命令

    实验室有一个Linux集群,本文做一下记录. SSH相关命令 通过SSH登录集群中的其他机器上的操作系统(或虚拟机中的操作系统).操作系统之间已经设置免密码登录. 1. 无选项参数运行 SSH 通常使 ...

  4. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

  5. Linux集群

    集群的起源: 集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发.由于主要用于科学工程计算,所以这些系统并不为大家所熟知.直到Linux集群的出现,集群的概念 ...

  6. linux集群架构

    Linux集群架构   根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heart ...

  7. 大数据项目之_15_帮助文档_NTP 配置时间服务器+Linux 集群服务群起脚本+CentOS6.8 升级到 python 到 2.7

    一.NTP 配置时间服务器1.1.检查当前系统时区1.2.同步时间1.3.检查软件包1.4.修改 ntp 配置文件1.5.重启 ntp 服务1.6.设置定时同步任务二.Linux 集群服务群起脚本2. ...

  8. Linux集群架构(二)

    Linux集群架构(二) 目录 八.LVS DR模式搭建 九.keepalived + LVS 十.扩展 八.LVS DR模式搭建 1.实验环境: 四台机器: client: 10.0.1.50 Di ...

  9. Linux集群架构(一)

    第二十八课 Linux集群架构(一) 目录 一. 集群介绍 二. keepalived介绍 三. 用keepalived配置高可用集群 四. 负载均衡集群介绍 五. LVS介绍 六. LVS调度算法 ...

随机推荐

  1. Unity在Android和iOS中如何调用Native API

    本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...

  2. openstack-swift云存储部署(一)

    最近因为工作的需要搭建了一套swift云存储架构 我们先来解读一下里面的技术知识点:swift服务是属于openstack中的一种组件服务,openstack中的组件服务还有keystone.Nova ...

  3. 在Cortex-M系列上如何准确地做us级延时?

    前几天刚好同事问起在Cortex-M上延时不准的问题,在网上也没找到比较满意的答案,干脆自己对这个问题做一个总结. 根据我们的经验,最容易想到的大概通过计算指令周期来解决.该思路在Cortex上并不是 ...

  4. [嵌入式开发]Linux性能分析——上下文切换

    一.从一个问题说起 相信很多人在玩手机还是PC时,都曾碰到过这样一种情况,安装的软件多了系统性能就变慢了,但是去查看CPU利用率一直都低于10%,内存也很充足.我在近期的开发工作中就碰到了类似的情况, ...

  5. 今天主要推荐一下django学习的网址!

    前言:每个月忙碌的头20天后,在上班时间投入到django理论学习的过程中,花了差不多3天时间简单的研究了一下django,着实废了我不少脑细胞. 采用虫师前辈的一张图和话: 如果你把这过程梳理清晰了 ...

  6. [WPF系列]Adorner应用-自定义控件ImageHotSpot

    引言 项目中有时需要在图片上标注热区,在HTML中有<area>标签,但在WPF中目前还没现成的控件来实现这这一功能.至于图片热区功能有道词典的[图解词典]是个不错的例子,如图1: 图 1 ...

  7. 第7章 权限管理(3)_文件系统属性和sudo权限

    3. 文件系统属性chattr权限 (1)chattr命令 命令格式: #chattr [+-=][选项] 文件或目录名 +.-.= 分别表示增加权限.删除权限和赋于某种权限 选项 i:主要用来防止对 ...

  8. jsp前3章试题分析

    /bin:存放各种平台下用于启动和停止Tomcat的脚本文件 /logs:存放Tomcat的日志文件 /webapps:web应用的发布目录 /work:Tomcat把由JSP生成的Servlet存放 ...

  9. 2016第二届陕西省网络空间安全大赛WriteUp

    2016年5月28号(正式比赛) 有选择题和实践题,俩队员在弄选择题时,我去拿了web1的一血. 0x01 web 是一道代码审计题,发包,返回了源代码: <?php if (isset($_G ...

  10. iOS Webview 实现修改javascript confirm 和 alert

    贴代码: @interface UIWebView (JavaScriptAlert) -(void) webView:(UIWebView *)sender runJavaScriptAlertPa ...