(linux ntp配置)-编程之家

如何在linux suse中配置NTP服务器?

在suse上配置ntp

$vim /etc/ntp.conf

#增加时间源

server 192.168.56.1

$chkconfig ntp on # 在系统重启时启动服务

$service ntp start # 启动ntp

$service ntp status # 查看ntp状态

问题:

1)为什么在故意改了一个错误的时间,ntpd没有更新时间?

如果差异很大,需要重新doing an Initial Synchronization,If the time on the local server is very different from that of its primary time server your NTP daemon will eventually terminate itself leaving an error message in the /var/log/messages file. You should run the ntpdate -u command to force your server to become instantly synchronized with its NTP servers before starting the NTP daemon for the first time. The ntpdate command doesn’t run continuously in the background, you will still have to run the ntpd daemon to get continuous NTP updates.

2)/etc/ntp.conf中选择主NTP Server

选择了哪个server做为主server是按stratum的大小决定的?应该不是,由ntp的算法决定,如在virtualbox中的suse怎么样都无法选择外部时钟源,ntpd在几次poll time后算法就决定使用local源,郁闷啊。由于是虚拟机中运行,时钟和cpu的频率有关系,跳得比真实的硬件快,在virtaulbox中ntp的算法认为local源比外部源更准确就使用了local的,解决的方法可以去掉local源,只使用外部源或者在crontab中每分钟执行一次ntpdate了。

即使把本机的stratum设置为比外部源更高的,过了一段时间以后,virtualbox中的suse还是选择了local,郁闷again

fudge 127.127.1.0 stratum 12 # not disciplined

remote refid st t when poll reach delay offset jitter

==============================================================================

LOCAL(0) .LOCL. 15 l 9 64 1 0.000 0.000 0.002

192.168.56.1 139.114.32.134 14 u 8 64 1 3.739 -53.045 0.002

注意最开始的时候,ip地址前面是没有符号的,poll几次以后ntp就会选择一个主时间源,前面带 * 号标识。

3)windows上的ntp server配置

官方ntp.org推荐的win上的ntp server,http://www.meinberg.de/german/sw/ntp.htm

3)如何知道ntp的运行状态

使用ntpq命令

$watch ntpq -p # 可以使用watch命令来查看一段时间内服务器各项数值的变化

使用ntpq命令查看与您同步的服务器. 它提供你一份时间服务器配置清单,包括延误值(delay),偏差值(offset)和抖动值(jitter). 为了能正确同步,延迟值和偏移值应该不为零,抖动值(jitter)应小于100 .

$/usr/local/ntp/bin/ntpq -p

显示如下:

remote refid st t when poll reach delay offset jitter

========================================================

time.nist.gov .ACTS. 1 u 1606 1024 22 357.845 334.375 71.122

*LOCAL(0) .LOCL. 10 l 11 64 377 0.000 0.000 0.001

ntpq -p 可以列出目前我们的NTP与相关的上层NTP的状态,几个字段的意义为:

remote:亦即是 NTP 主机的 IP 或主机名称啰~注意最左边的符号,http://www.ece.udel.edu/~mills/ntp/html/decode.html#peer

*

它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供

+

它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管

远程服务器被clustering algorithm认为是不合格的NTP Server

x

远程服务器不可用

refid:参考的上一层 NTP 主机的地址

st:stratum 阶层

when:几秒钟前曾经做过时间同步化更新的动作;

poll:下一次更新在几秒钟之后;

reach:已经向上层 NTP 服务器要求更新的次数

delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒

offset:时间补偿的结果,单位与 10^(-6) 秒

jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒。

也可以检查一下BIOS时间与Linux系统时间的差异,就是/var/lib/ntp/drift的内容,就能了解到Linux系统时间与BIOS硬件时钟到底差多久?单位为 10^(-6) 秒

下面的从http://www.meinberg.de/english/info/ntp.htm上摘下来的,详细说明了ntpq -p输出的每个列的意思,reach列为377表示前8次同步都成功。

Checking the NTP Status

The command line utility ntpq can be used to check the status of a NTP daemon on either the local machine or on a remote host.

ntpq can be run in an interactive mode or in batch mode. In batch mode, ntpq executes a command and returns to the command prompt. The parameter -p (‘peers’) lets ntpq print the status of a NTP daemon. Enter

ntpq -p

to display the status of the daemon on the local machine, or

ntpq -p ntp_server

to display the status of the daemon on the remote host ntp_server. The command should print a table with one status line for each reference time source which has been configured for the NTP daemon on the specified host:

remote refid st t when poll reach delay offset jitter

=======================================================================

LOCAL(0) LOCAL(0) 12 l 30 64 377 0.000 0.000 0.000

*GENERIC(0) .DCFa. 0 – 24 64 377 0.000 0.050 0.003

+172.16.3.103 .PPS. 1 u 36 64 377 1.306 -0.019 0.043

The table above shows the output for a NTP daemon which has 3 reference time sources: its own local clock, a DCF77 radio clock as refclock-0, plus an NTP daemon on the network, with IP address 172.16.3.103.

If the first character of a line is not blank then it contains a qualifier for the corresponding reference time source. Immediately after the daemon has been started all qualifiers are blank. The NTP daemon needs several polling cycles to check the available time sources and declare one of them as the reference it synchronizes to.

An asterisk * in the first column marks the reference time source which is currently preferred by the NTP daemon, the + character marks high quality candidates for the reference time which could be used if the currently selected reference time source should become unavailable.

The column remote displays the IP address or the host name of the reference time source, where LOCAL refers to the local clock. The refid shows the type of the reference clock, where e.g. LOCAL or LCL refers to the local clockagain, .DCFa. refers to a standard DCF77 time source, and .PPS. indicates that the reference clock is disciplined by a hardware pulse-per-second signal. Other identifiers are possible, depending on the type of the reference clock.

The column st reflects the stratum number of the reference time source. In the example above, the local clock has stratum 12, the remote time server at 172.16.3.103 has stratum 1 which is the best you can see across the network, and the local radio clock has stratum 0, so the radio clock is currently being preferred.

Every time a when count reaches the poll number in the same line, the NTP daemon queries the time from the corresponding time source and resets the when count to 0. The query results of each polling cycle are filtered and used as a measure for the clock’s quality and reachability.

The column reach shows if a reference time source could be reached at the last polling intervals, i.e. data could be read from the reference time source, and the reference time source was synchronized. The value must be interpreted as an 8 bit shift register whose contents is for historical reasons displayed as octal values. If the NTP daemon has just been started, the value is 0. Each time a query was successful a ‘1’ is shifted in from the right, so after the daemon has been started the sequence of reach numbers is 0, 1, 3, 7, 17, 37, 77, 177, 377. The maximum value 377 means that the eight last queries were completed successfully.

Queries are considered successful if data can be received from the time source, and the time source in turn claims to be synchronized to some other timesource. In case of a hardware reference clock this means the query considered unsuccessful if the hardware reference clock is not synchronized to its incoming time signal, e.g. because the clock’s antenna has been disconnected, or if no data can be received e.g. because the serial cable to an external device has been disconnected.

The NTP daemon must have reached a reference time source several times (reach not 0) before it selects a preferred time source and puts an asterisk in the first column.

The columns delay, offset and jitter show some timing values which are derived from the query results. In some versions of ntpq the last column is labeled disp (for dispersion) instead of jitter. All values are in in milliseconds. The delay value is derived from the roundtrip time of the queries. The offset value shows the difference between the reference time and the system clock. The jitter value indicates the magnitude of jitter between several time queries.

如何在linuxsuse中配置NTP服务器?

一个局域网中只需要一个NTP服务器,其他均为NTP客户端。选择NTP服务器的原则: 该服务器可以上网:可以与标准Internet的服务器进行同步时间。

Web服务器:

数据库服务器:

启动ntpd服务:选择YaST点击“系统”–> "系统服务(运行级别)"选择"ntp" ,点击左下方的“启用”,再点击“确定”点击“确定”选择’是’。 NTP服务端配置完成。配置NTP客户端使用crontab命令,定时执行与服务端同步命令。

ssh root用户登陆,执行命令:

linux-udly:~ # crontab –e 输入以下内容0 */1 * * * /usr/sbin/sntp -P no -r 192.168.150.152 (对应的NTP服务器IP地址)

linux怎么查看ntp服务地址?

1. Linux中查看nto服务的地址,可以执行ntpq -p进行查询。

2.或者可以通过查看ntp的配置文件:/etc/ntp.conf

执行more /etc/ntp.conf|grep server

在这个配置文件里面一般记录着ntp服务的上一级ntp server的IP地址或者域名。

3.或者查看历史记录,因为有的时候执行的是类似ntpdate ntp.api.bz 或者ntpdate cn.pool.ntp.org。所以通过历史记录可以直接查询到。