Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24853084
  • 博文数量: 271
  • 博客积分: 10025
  • 博客等级: 上将
  • 技术积分: 3358
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-12 15:28
文章分类

全部博文(271)

文章存档

2010年(71)

2009年(164)

2008年(36)

我的朋友

分类:

2009-08-19 11:20:58

在AIX中使用NTP服务

(1)

Document #: 2811015I26000

Body:
[标题]
在AIX中使用NTP服务


内容提要:
NTP协议简介

AIX对NTP的支持
配置AIX成为NTP服务器(使用系统时钟)
配置AIX成为NTP服务器(使用Internet标准时间服务器)
配置AIX成为NTP服务器(使用其它系统作为时间服务器)
配置AIX成为NTP服务器的客户端
配置AIX成为NTP转发器
配置AIX成为NTP转发器的客户端
xntpd命令参考


说明:

NTP协议简介
NTP协议全称网络时间协议(Network Time Procotol)。它的目的是在国际互联网上传递统一、标准的时间。具体的实现方案是在网络上指定若干时钟源网站,为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。

NTP最早是由美国Delaware大学的Mills教授设计实现的,从1982件最初提出到现在已发展了将近20年,2001年最新的NTPv4精确度已经达到了200毫秒。对于实际应用,又有确保秒级精度的SNTP(简单的网络时间协议)。本项目使用网上时间传递格式NTPv3公布于1992年,当前几乎所有的授时网站都是基于NTPv3的。

NTP所建立起的网络基本结构是分层管理的类树形结构。网络中的节点有两种可能:时钟源或客户。每一层上的时钟源或客户可向上一层或本层的时钟源请求时间校正。

第0层为官方时钟所保留。

第一层为一级时钟源层,其上没有任何客户,只有主钟源,这些钟源之间相互不允许校正。一级钟源的任务就是将时间信息向第二层的钟源或客户发布。

第二层及以下层除层数不同、时间质量不一样外没有本质上的区别。第N层上的时钟源的时间来自第N-1层或第N层,并向第N层上的时钟源和第N+1层上的客户提供校时服务。

最常用的NTP的工作模式为客户/服务器模式和广播模式。

客户/服务器模式:与主/被动模式基本相同。唯一区别在于,客户方可被服务器同步,但服务器不能被客户同步。

广播模式:一对多的连接,服务器不论客户工作在何种模式下,主动发出时间信息,客户由此信息调整自己的时间。

AIX对NTP的支持
AIX操作系统包括了xntpd程序。xntpd 守护进程是根据 RFC1035 定义的网络计时协议(NTP)版本 3 标准的完整实现,同时也保持与根据 RFC1059 和 RFC1119 分别定义的版本 1 和版本 2 服务器的兼容性。xntpd 守护进程用定点算法进行所有的计算,并不需要浮点代码。

除了xntpd以外,AIX操作系统也支持ntpq,ntpdate, xntpdc等相关命令。另外,AIX还支持使用lssrc -ls命令检查xntpd的运行状态,以及使用ntptrace命令跟踪远程时间服务器。

在AIX操作系统中,xntpd的配置文件是/etc/ntp.conf。

配置AIX成为NTP服务器(使用系统时钟)
1、编辑/etc/ntp.conf文件:
server 127.127.1.0 prefer
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、启动xntpd服务:
#startsrc -s xntpd

3、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数(通常是3)。

xntpd服务器初始化完成前:
#lssrc -ls xntpd
 Program name:    /usr/sbin/xntpd
 Version:         3
 Leap indicator:  11 (Leap indicator is insane.) =========>初始化未完成
 Sys peer:        no peer, system is insane      =========>初始化未完成
 Sys stratum:     16                             =========>初始化未完成
 Sys precision:   -17
 Debug/Tracing:   DISABLED
 Root distance:   0.000000
 Root dispersion: 0.000000
 Reference ID:    no refid, system is insane    =========>初始化未完成   
 Reference time:  no reftime, system is insane  =========>初始化未完成

xntpd服务器初始化完成后:
#lssrc -ls xntpd
 Program name:    /usr/sbin/xntpd
 Version:         3
 Leap indicator:  00 (No leap second today.)
 Sys peer:        127.127.1.0
 Sys stratum:     4
 Sys precision:   -17
 Debug/Tracing:   DISABLED
 Root distance:   0.000000
 Root dispersion: 0.885010
 Reference ID:    127.127.1.0
 Reference time:  c6e1d5c0.f7506000  Mon, Sep 26 2005 10:04:48.966

配置AIX成为NTP服务器(使用Internet标准时间服务器)

1、编辑/etc/ntp.conf文件:
server time-b.timefreq.bldrdoc.gov prefer #Internet时间服务器地址
server 127.127.1.0
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、和Internet时间服务器同步时间:
#ntpdate time-b.timefreq.bldrdoc.gov

3、启动xntpd服务:
#startsrc -s xntpd

4、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数。如果选择和一级Internet时间服务器进行同步,系统初始化完成后的stratum应该为2,sys peer应为Internet时间服务器:
#lssrc -ls xntpd
 Program name:    /usr/sbin/xntpd
 Version:         3
 Leap indicator:  00 (No leap second today.)
 Sys peer:        time-b.timefreq.bldrdoc.gov  ======> SYS PEER
 Sys stratum:     2                                               ======> STRATUM
 Sys precision:   -18
 Debug/Tracing:   DISABLED
 Root distance:   0.000519
 Root dispersion: 0.135208
 Reference ID:    time-b.timefreq.bldrdoc.gov
 Reference time:  c6e1d74e.073d8000  Mon, Sep 26 2005 10:11:26.028
 Broadcast delay: 0.003906 (sec)
 Auth delay:      0.000122 (sec)
 System flags:    pll monitor filegen
 System uptime:   1634385 (sec)
 Clock stability: 0.000107 (sec)
 Clock frequency: 0.000000 (sec)
 Peer: 127.127.1.0
      flags: (configured)(refclock)
      stratum:  3, version: 3
      our mode: client, his mode: server
 Peer: time-b.timefreq.bldrdoc.gov
      flags: (configured)(sys peer)(preferred)
      stratum:  1, version: 3
      our mode: client, his mode: server
Subsystem         Group            PID          Status
 xntpd            tcpip            503932       active


配置AIX成为NTP服务器(使用其它系统作为时间服务器)
此配置的关键是调高系统时钟的层数,以使xntpd优先使用指定的外部时钟服务。
1、编辑/etc/ntp.conf文件:
server dump prefer #本地时间服务器地址
server 127.127.1.0
fudge 127.127.1.0 stratum 6 #将系统时钟层数调整为6
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、和本地时间服务器同步时间:
#ntpdate dump

3、启动xntpd服务:
#startsrc -s xntpd

4、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数。如果选择和4层时间服务器进行同步,系统初始化完成后的stratum应该为5,sys peer应为本地时间服务器:
#lssrc -ls xntpd
 Program name:    /usr/sbin/xntpd
 Version:         3
 Leap indicator:  00 (No leap second today.)
 Sys peer:        dump   ============>Sys peer为本地时间服务器,stratum=4
 Sys stratum:     5
 Sys precision:   -18
 Debug/Tracing:   DISABLED
 Root distance:   0.000473
 Root dispersion: 0.010193
 Reference ID:    9.181.159.11
 Reference time:  c6e1d94b.be672000  Mon, Sep 26 2005 10:19:55.743
 Broadcast delay: 0.003906 (sec)
 Auth delay:      0.000122 (sec)
 System flags:    pll monitor filegen
 System uptime:   1634898 (sec)
 Clock stability: 0.000107 (sec)
 Clock frequency: 0.000000 (sec)
 Peer: 127.127.1.0
      flags: (configured)(refclock)
      stratum:  6, version: 3
      our mode: client, his mode: server
 Peer: dump
      flags: (configured)(sys peer)(preferred)
      stratum:  4, version: 3
      our mode: client, his mode: server


配置AIX成为NTP服务器的客户端
1、编辑/etc/ntp.conf文件:
server dump prefer #本地时间服务器地址
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、和本地时间服务器同步时间:
#ntpdate dump

3、启动xntpd服务:
#startsrc -s xntpd

4、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数。

配置AIX成为NTP转发器
NTP转发器(Transmitter)通常以这样一种方式工作:它从系统时钟,Internet时间服务器或本地时间服务器获取时间,并通过广播方式发送给接收广播的客户端。此配置的关键之处在于指定广播方式。在我们的例子中,我们选择多播(Multicast)模式,并使用NTP的默认多播地址。

1、编辑/etc/ntp.conf文件:
server dump prefer #本地时间服务器地址
broadcast 224.0.1.1 #设定广播方式;设置多播模式;使用NTP默认的多播地址(224.0.1.1)
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、和本地时间服务器同步时间:
#ntpdate dump

3、启动xntpd服务:
#startsrc -s xntpd

4、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数。

配置AIX成为NTP转发器的客户端
此配置的关键之处在于明确地指定广播方式和接收广播的模式。无须明确地指定时间服务器的地址。
1、编辑/etc/ntp.conf文件:
multicastclient #广播方式客户;使用多播模式;使用NTP默认的多播地址(224.0.1.1)
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

2、和本地时间服务器同步时间:
#ntpdate dump

3、启动xntpd服务:
#startsrc -s xntpd

4、使用lssrc -ls xntpd命令检测xntpd的运行状态,并且等待时间层数(stratum)变为16以下的数。


参考资料:

xntpd命令参考

用途
启动网络计时协议(NTP) 守护进程

语法
xntpd [ -a ] [ -b ] [ -d ] [ -m ] [-x][ -c ConfigFile ] [ -e AuthenticationDelay ] [ -f DriftFile ] [ -k KeyFile ] [ -l LogFile ] [ -p pidFile ] [ -r BroadcastDelay ] [ -s StatsDirectory ] [ -t TrustedKey ] [ -v SystemVariable ] [ -V SystemVariable ]

描述
xntpd 守护进程设置和维护一个与因特网标准时间服务器相一致的 Unix 系统时间。xntpd 守护进程是根据 RFC1035 定义的网络计时协议(NTP)版本 3 标准的完整实现,同时也保持与根据 RFC1059 和 RFC1119 分别定义的版本 1 和版本 2 服务器的兼容性。xntpd 守护进程用定点算法进行所有的计算,并不需要浮点代码。

xntpd 守护进程在启动时从配置文件(/etc/ntp.conf 是缺省值)中读取配置。可以在命令行重设这个配置文件的名称。同样也完全可以通过命令行指定一个工作配置,尽管可指定的配置会受到限制,但不需要使用配置文件。使用这种方法将 xntpd 守护进程配置为一个广播客户机或多点广播客户机,以便在运行时用侦听广播的方法确定所有的同级设备。您可以用 ntpq 命令(网络计时协议(NTP)查询程序)来显示 xntpd 守护进程的内部变量。您可以使用 xntpdc 命令更改配置选项。

xntpd 守护进程有几种工作方式,包含主动均衡/被动均衡、客户机/服务器和广播/多点广播。广播/多点广播客户机能够自动发现远程服务器,计算单向延时校正因子并自动进行自我配置。这种方式使得部署一组工作站而不用针对环境指定特定的配置文件或配置详细信息成为可能。


注:以运行 AIX 4.2.1 或更新版本的客户机方式进行操作时,如果在 1000 秒的本地系统时间内没有已经配置好的服务器,xntpd 守护进程将会退出并报告错误。在运行 xntpd 前,用 date 或 ntpdate 命令来设置一个失真系统的时间。
标志

-a 以认证方式运行。
-b 侦听广播 NTP,如果可用则与之保持同步。
-c ConfigFile 指定一个备用的配置文件的名称。
-d 指定调试方式。这个标志可以多次出现(最多 10 次),每次出现都表明显示器的更多详细信息。
-e AuthenticationDelay 以秒为单位指定时间,这将用来计算这台计算机上的 NTP 加密字段。
-f DriftFile 指定偏差文件的位置。
-k KeyFile 指定包含 NTP 认证密钥的文件的位置。
-l LogFile (小写的 L)指定使用日志文件而不是记录到 syslog 中。
-m 侦听多点广播消息,如果可用则与之保持同步。假设多点广播地址为 224.0.1.1。
-p pidFile 指定记录守护进程进程标识的文件的名称。无缺省值。
-r BroadcastDelay 如果校正程序失败,则指定缺省延时(以秒为单位)。通常,xntpd 守护进程会自动补偿广播/多点广播服务器和客户机之间的网络延时。
-s StatsDirectory 指定用于创建统计信息文件的目录。
-t TrustedKey 将指定的密钥号添加到可信的密钥列表。
-v SystemVariable 添加指定的系统变量。
-V SystemVariable 添加指定的、以缺省方式列出的系统变量。
-x 进行细微的时间调整。(快速进行)

参考时钟支持
为了方便配置,xntpd 守护进程尽可能以对待类似于一般 NTP 同级设备的方式对待参考时钟。它通过地址来引用参考时钟,这和引用普通的同级设备一样,尽管它使用无效的 IP 地址来将其与普通同级设备区分开。AIX 4.2 支持一种基于系统时钟类型(类型 1)的参考时钟。

参考时钟地址格式为 127.127.Type.Unit,其中 Type 是一个表示时钟类型的整数,Unit 表示特定于类型的单元号。通过在 HostAddress 是时钟地址配置文件中的一条服务器语句配置参考时钟。密钥、版本和 ttl 选项不用于参考时钟支持。

参考时钟支持提供 fudge 命令,这个命令用特殊的方式配置参考时钟。这个命令采用以下格式:

fudge 127.127.Type.Unit [ time1 Seconds ] [ time2 Seconds ] [ stratum Integer ] [ refid Integer ] [ flag1 0 | 1 ] [ flag2 0 | 1 ] [ flag3 0 | 1 ] [ flag4 0 | 1 ]

time1 和 time2 选项都是定点的秒数并作为校正常量用于一些时钟驱动程序中。

stratum 选项是一个从 0 到 15 的数,用于将非标准操作层分配给时钟。由于 xntpd 守护进程对每个同级设备的层数加一,主服务器一般显示第一层。为了提供工程备份, 用 stratum 选项指定一个大于 0 的参考时钟层。除非特别注明,该选项可以应用于所有的时钟驱动程序。

refid 选项是一个长度从 1 到 4 的 ASCII 字符串,用于分配非标准的参考标识符给时钟。

二进制标志:flag1、flag2、flag3 和 flag4 是用于定制时钟驱动程序。这些值的具体解释以及它们是否都在用要看特定时钟驱动程序的需要。

退出状态
本命令返回以下出口值:

0 成功结束。
>0 发生错误。

安全性
访问控制:必须具有 root 权限才能运行该命令。

审计事件:N/A

示例
要启动 xntpd 守护进程,输入:

startsrc -s xntpd要停止 xntpd 守护进程,输入:

stopsrc -s xntpd要在运行 xntpd 守护进程时使用认证密钥文件 /etc/ntp.new.keys,输入:

/usr/sbin/xntpd -k /etc/ntp.new.keys文件

/usr/sbin/xntpd 包含 xntpd 守护进程。
/etc/ntp.conf 包含缺省配置文件。
/etc/ntp.drift 包含缺省偏差文件。
/etc/ntp.keys 包含缺省的密钥文件。

阅读(1235) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~