HP-UX上一步步配置NTP

HP-UX上一步步配置NTP

  HP-UX上要实现时间同步,需要设置时间服务器和客户端,相关的进程是xntpd。

  具体的配置文件为以下几个:

  1. /etc/ntp.conf
  2. /etc/ntp.drift       在client上自己建立,用作drift文件
  3. /etc/rc.config.d/netdaemons

  相关的执行文件:
  /usr/sbin/xntpd

  运行脚本
  /sbin/init.d/xntpd {start|stop}

  具体的配置步骤如下(两台机器:goodgirl和asogz01,用goodgirl做基准):

  1. 配置两台机器的/etc/hosts文件

        a. goodgirl的hosts文件如下
            127.0.0.1       localhost       loopback
            15.70.146.115   goodgirl
            15.70.146.113   asogz01

        b. asogz01的hosts文件如下
            127.0.0.1       localhost       loopback
            15.70.146.113   asogz01
            15.70.146.115   goodgirl

  2. 在两台服务器上编辑/etc/rc.config.d/netdaemons文件

  设定如下:

            export NTPDATE_SERVER=goodgirl
            export XNTPD=1
            export XNTPD_ARGS=

  3. 修改/etc/ntp.conf文件

        a. goodgirl(server)的/etc/ntp.conf文件配置如下
            server  127.127.1.1
            fudge   127.127.1.1     stratum 10
            driftfile /etc/ntp.drift

  说明:127.127.1.1表明同步本机的时间,一般来说,NTP服务器端作为其他客户机的时间基准,而它自己则使用自己的时间作为基准

  b. asogz01(client)的/etc/ntp.conf文件配置如下
            server  goodgirl
            driftfile /etc/ntp.drift

  4. 两台主机上都生成/etc/ntp.drift文件
        a. 生成/etc/ntp.drift文件
            #touch /etc/ntp.drift
        b. 修改该文件权限
            #chmod 755 /etc/ntp.drift

  5. 两台主机上启动NTP
        a. goodgirl(server)上运行NTP
            #/sbin/init.d/xntpd start
        b. asogz01(client)上运行NTP(320秒以后再运行)
            #/sbin/init.d/xntpd start

  6. 察看
        a. 在两台机器上分别运行date察看
            #date
        b. 在两台机器上分别运行ntpq -p察看
            #ntpq -p

  NTP配置中易出现的问题:

  1. No Server suitable for synchronization found
  说明:这个是最容易出现的问题,比较常见的是配置好服务器并启动服务器进程后,马上启动客户进程,那么客户进程就会报错。解决方法是,大约5分钟以后启动进程就行了——不然就会报以上错误,且时间不会同步(具体时间应该是5分钟20秒,即64s * 5 = 320s)

  2. Last adjustment did not complete
  说明:主要是NTP的同步过程不是一次的

  3. Synchronization lost
  说明:一般来说,如果发现时间差在128ms以下,NTP使用slew adjustment来实现同步,如果在128ms到1000秒之中,是使用step来实现同步。如果超过1000秒,ntpd就不能同步,只能是用ntpdate –b命令

  4. ntpd进程丢失
  说明:一个主要的原因是你人工使用date命令更改过本机或者server(ntp.conf里面定义的server)的时间,而且这两个时间差超过了1000秒。也就是说,如果ntpd发现本地时间和server时间超过了1000秒的话,就自动退出。超过1000秒的情况,必须使用ntpdate –b server使之和服务器同步一次(也就是在HP的/sbin/init.d/xntpd里面有一句ntpdate –b的原因)
   
  NTP常用命令:

        1. ntptrace (等同于windows下面的traceroute)
        2. ntpdate –q HOSTNAME (查询其他主机的时间)
        3. ntpdate –d HOSTNAME (debug模式)
        4. ntpdate -b HOSTNAME (和其他主机同步)
        5. ntpq –p

  以上只是最简单的将NTP配置出来,还有更细致的权限、同步间隔时间等等的配置,请查看/etc/ntp.conf文件,里面会有详细的说明。