设置Linux时间服务器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实例86 设置Linux时间服务器

实现目的

在局域网系统特别是分布式的计算网络环境中,时间同步有时会显得非常重要,因为时间同步有助于建立和维护事件的顺序,也是事务事件和其它数据库的修改可以被定时地正确执行的保证。这就需要时间同步服务来提供相应的保障。

常用的时间同步策略有两种方式:

(1)在地理位置接近的网络中使用一个单一的引用时间服务器,这个时间服务器是这个网络中时间的唯一来源,时间的任何改变都在这个服务器上进行设置,然后其它的服务器与它进行同步;

(2)在地理分布较广的网络中可以使用的时间服务器有以下几种:

在地理分布网络上使用的基本服务器,和其它基本时间服务器或一个参考时间服务器进行时间同步,并且对高层时间服务器提供正确的时间。如果在一个网络上存在多个基本服务器,它们“投票”决定使用哪个通用网络时间。

参考服务器:参考服务器从外部资源(例如收音机报时)获得时间,并且它还是一种确定外部世界应该是什么时间的联络员。参考服务器不使用,或改变它的内部时钟。参考服务器通过“投票”过程帮助基本时间服务器设置公共时间。最后,所有的时间服务器都设置到由参考服务器的外部时间来源指示的时间。

高层服务器:网络上的所有其它服务器都可以是高级时间服务器。它们或参考时间服务器那里获得时间,并不参予网络上的公共时间的建立。

可根据长途广域网(WAN)链路的费用决定使用那种类型的时间服务器。高级服务器将从一个本地基本的或参考的服务器那里获得它们的时间,而不是通过使用WAN链路来访问一个远程的时间服务器。在跨越很广的地理区域的互联网络上,需要使用多个基本时间服务器。

OSF的分布式计算环境(DCE)中的时间服务 OSF时间服务是一个DCE的构件,它允许应用程序对活动进行调度并确定事件的顺序和持续时间。这种服务跟踪多个网络上的时间,并确定用作同步时间的每个时钟的准确性。这个服务为本地和广域网的系统都提供容错时钟同步。也就是说,能够确定具有错误时钟的服务器,并且它们的时间在进行同步的期间不使用。为支持使用网络时间协议(NTP)的分布地点,OSF时间服务还允许使用来自外部资源的时间数值。

本例简单介绍如何在局域网上设置一台Linux时间服务器。

实现技术

先从网上免费获取或通过其它途径获得源代码ntp-4.1.1a.tar.gz,然后编译、安装。在安装完成后,再进行相应配置,将其配置成局域网内的时间服务器。

再使这台时间服务器与外部时间服务器的时间同步,并同时为局域网内的计算机提供时间服务,这样,整个局域网内的计算机的时间就同步了。

实现方法

1、选择合适的时间服务器

当计算机与互联网相连后,就可以同互联网上存在的很多时间服务器通信,从而获得精确的时间。在TCP/IP协议中,用于同步时间的协议为ntp协议,互联网上提供ntp服务的站点有很多,如:、、等。虽然ntp 协议本身考虑了网络延迟,但网络延迟毕竟会对时间的精确性造成影响,因此,在互联网上选择时间服务器是要选用一个离本地计算机最近的时间服务器。

使用/stand/sysinstall也能设定时间同步,可以根据地域来选择合适的时间服务器,然而由于网络连接并不一定和地域相一致,因此不能完全根据地域的远近来选择时间服务器。

2、时间同步命令

利用应用程序ntpdate可以很简单地使用ntp协议更新自己计算机上的时间,当然,这需要使用root权限执行:

# ntpdate

30 Oct 19:26:49 ntpdate: step time server 204.123.2.5 offset 517.837146

ntpdate运行过之后就会退出,为了保持时间的正确性,每隔一段时间需要自动进行时间同步,可以将ntpdate 放入cron中,每隔一段时间就执行一次。Linux系统中还提供了另一个守护进程xntpd,它能够自动周期进行时间同步的工作,因此比较适合于为与互联网有永久连接的计算机进行时间同步工作。要运行xntpd守护进程,首先要创建/etc/ntp.conf 文件,其中应包括时间服务器的名字和一个临时文件名。如:

server

driftfile /etc/ntp.drift

然后就需要运行这个守护进程,进行时间同步:

# xntpd -c /etc/ntp.conf -p /var/run/xntpd.pid

其中:

-c指定了ntp.conf作配置文件,

xntpd.pid记录xntpd的进程标识序号。

ntpdate和xntpd都可以通过更改rc.conf中的选项,在启动时自动执行。

xntpd_enable="YES"# Run xntpd Network Time Protocol (or NO).

xntpd_program="xntpd"# path to xntpd, if you want a different one.

xntpd_flags="-c /etc/ntp.conf -p /var/run/xntpd.pid" # Flags to xntpd (if e nabled).

3、局域网内计算机的时间同步

如果局域网内的多台计算机都需要进行时间同步,是不是需要将每台计算机都与外部时间服务器连接呢?理论是可行的,但并不是最好的办法。比较好的办法是使一台计算机与外部时间服务器同步,将它的时间设为标准时间,同时又将它用作本地时间服务器,其他计算机只需与这台本地时间服务器同步就可以了。xntpd就是为这个目的设计的,它可以用作提供时间同步服务的ntp服务器。用作时间服务器的xntpd的配置文件应该为:

server

driftfile /etc/ntp.drift

broadcast 202.197.89.255

其中:202.197.89.255为广播地址,能定期向局域网上的其他计算机广播正确的时间。这个广播地址要根据自己的网络进行修改,或者使用对应于NTP协议的D类组播(multicast)网址224.0.1.1,但用户的网络必须支持组播能力。由于使用了广播或组播,这样网络内的其他计算机可以不配置ntp.conf,直接启动 xntpd,xntpd就能通过听服务器的广播信息来得到精确的时间。当然也可以不设定广播地址,而配置每个计算机中的ntp.conf文件,指定所有的计算机都访问这台时间服务器即可。

相关文档
最新文档