0.前言
  需求是这么来的,搭建了Storm集群进行协同过滤算法的计算性能测试,要求精度在毫秒(ms)级别。局域网内40个虚拟机节点,用 date 命令,精度上和效率上都不可行。所以,搭建了 NTP 服务器。
  1.简介
  简单的说是选择几部主要主机 (Primary server) 调校时间,让这些 Primary Servers 的时间同步之后,再开放网络服务来让 Client 端联机,后使Client 端调整自己的时间。NTP(Network Time Protocol)是实现这个过程的一个网络时间协议。它是一个跨越广域网或局域网的复杂的同步时间协议,可使得机器获得毫秒级的精度。NTP协议是OSI参考模型的高层协议,符合UDP传输协议格式,拥有专用端口(Port)123。随着时间的推移,计算机的时钟(硬件时钟)会倾向于漂移。网络时间协议(NTP)即可为路由器、交换机、工作站和服务器之间提供一种时间同步的机制。
  详情:http://www.ntp.org/ (官网链接)
  2.本次实验环境
  操作系统: SUSE Linux Enterprise Server 11 (x86_64)
  NTP版本:ntpq 4.2.4p8@1.1612-o Sat May  8 09:39:49 UTC 2010 (1) (系统自带,也可自行下载安装)
  局域网时间服务器IP:172.18.65.1
  客户端同步机器IP:172.18.65.2~172.18.65.41 (40台)
  3.服务器搭建步骤
  1.选择局域网内一个机器作为时间同步服务器(172.18.65.1)
  2.修改服务器端NTP的主要配置文件ntp.conf(默认路径为:/etc/ntp.conf)
$vim /etc/ntp.conf
server 127.127.1.0              # local clock (LCL)
fudge  127.127.1.0 stratum 10   # LCL is unsynchronized
##
## Add external Servers using
## # rcntp addserver <yourserver>
##
##
## Miscellaneous stuff
##
driftfile /var/lib/ntp/drift/ntp.drift # path for drift file
logfile   /var/log/ntp          # alternate log file
# logconfig =syncstatus + sysevents
# logconfig =all
# statsdir /tmp/                # directory for statistics files
# filegen peerstats  file peerstats  type day enable
# filegen loopstats  file loopstats  type day enable
# filegen clockstats file clockstats type day enable
#
# Authentication stuff
#
keys /etc/ntp.keys              # path for keys file
trustedkey 1                    # define trusted keys
requestkey 1                    # key (7) for accessing server variables
# controlkey 15                 # key (6) for accessing server variables