linux 设置了时间服务器 但时间还是不能同步

Ling_Hun 2009-11-17 04:33:48
版本:Linux AS4 (内核2.6)
时间服务器NTP
ntp.conf 配置添加了
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

server 0.pool.ntp.org //上层服务器IP
server 1.pool.ntp.org
server 2.pool.ntp.org

#vi crontab (在/etc/ntp/step-tickers添加)
pool.ntp.org

#service ntpd restart (显示成功)
hwclock -w (已写入BIOS)

可两分钟后,时间慢了,
持续慢了5~10分钟后,时间自动同步了一下(未设定在规定时间内同步)
可之后时间又慢了
就这样循环地 慢和同步

小妹的确不知道是哪的问题,请各位帮帮忙,在此先谢过~
...全文
961 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ling_Hun 2009-11-20
  • 打赏
  • 举报
回复
经朋友提点,问题解决了一半
一台虚拟机上的Linux 成功了,
vi /boot/grub/grub.conf


在kernel 后添加clock=pit nosmp noapic nolapic


可另一台虚拟机的Linux 时间还是慢,问题尚未解决

而真正操作系统为Linux 的,问题也还没解决,目前锁定的是 时间源 的问题~

再次谢谢各位的关注~

Ling_Hun 2009-11-18
  • 打赏
  • 举报
回复
unixlinuxsys 首先谢谢您的关注,不过你的回复我看过N多遍了,网上的几乎都是你的这个回复,可是对我的问题没气作用!

weidong0210 ntpdate 也不起作用,
ntpdate 0.pool.ntp.org 显示的如下图


date 之后 显示
可当时的时间是9:06了,我真的不知道咋回事,刚接触linux不久,拜托各位帮帮忙,谢谢~


weidong0210 2009-11-17
  • 打赏
  • 举报
回复
ntpdate
unixlinuxsys 2009-11-17
  • 打赏
  • 举报
回复
在linux下,我们可以通过自带的NTP(Network Time Protocol)协议通过网络使自己的系统保持精确的时间。可用的公共时间服务器列表可以从下面的地址获取:

  http://ntp.isc.org/bin/view/Servers/NTPPoolServers

  什么是NTP

  NTP是用来使系统和一个精确的时间源保持时间同步的协议。建议大家在自己管理的网络中建立至少一台时间服务器来同步本地时间,这样可以使得在不同的系统上处理和收集日志和管理更加容易。

  同样,也有很多免费的NTP客户端可供Windows使用,你可以用它们来同步你windows的系统时间。

  下载和安装

  本文介绍如何在AS4上安装时间服务器(本文也同样适用于redhat和fedora core的其他版本),如果想获得NTP的最新版本,你可以下载tar包自己编译,这里只介绍RPM方式安装的NTP服务软件。

  AS4带的NTP版本是4.2.0,你可以用下面的命令查看是否已经安装了这个软件包:

  # rpm -qa|grep ntp

  ntp-4.2.0.a.20040617-4.2

  如果发现没有安装,请从光盘上安装这个软件。执行下面命令安装NTP的RPM包:

  # rpm -ivh ntp-4.2.0.a.20040617-4.2.i386.rpm

  /etc/ntp.conf这是NTP的主要配置文件,里面设置了你用来同步时间的时间服务器的域名或者IP地址,下面是到互联网同步时间的最基本的配置:

  首先定义我们喜欢的时间服务器:

  server pool.ntp.org

  接下来,我们设置上面两台服务器的访问权限,在这个例子中我们不允许它们修改或者查询我们配置在Linux上的NTP服务器

  restrict default nomodify notrap noquery (这个默认在配置文件中就存在)

  接下来设置允许访问我们时间服务器的客户机地址,通常这些服务器都应该位于我们自己局域网内。请注意,配置中noquery已经去掉了:

  restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap

  在上例中,掩码地址扩展为255,因此从192.168.0.1-192.168.0.254的服务器都可以使用我们的NTP服务器来同步时间。

  最后,也是最重要的是默认的限制配置要从你配置文件中删除,否则它将覆盖你所有的配置选项,你将发现如果不删除该配置,你的时间服务器将只能和自己通讯。如果ntp.conf中有以下一行,请将它注释(AS4附带的ntp默认没有):

  # restrict default ignore

  保存你的配置文件,然后对每个你在ntp.conf里配置的时间服务器执行2编查询命令:

  # ntpdate pool.ntp.org

  27 Jun 10:12:01 ntpdate[25475]: adjust time server pool.ntp.org offset -0.127154 sec

  # ntpdate ntp.research.gov

  27 Jun 10:12:06 ntpdate[25478]: adjust time server pool.ntp.org offset 0.010008 sec

  使NTP进程自启动

  为了使NTP服务可以在系统引导的时候自动启动,执行:

  # chkconfig ntpd on

  启动/关闭/重启NTP的命令是:

  # /etc/init.d/ntpd start

  # /etc/init.d/ntpd stop

  # /etc/init.d/ntpd restart

  默认情况下,我们配置的NTP服务器不会去时间源那里同步时间,所以必须修改/etc/ntp/step-tickers文件,加入我们的时间源,这样每次通过/etc/init.d/ntpd 来启动服务的时候就会自动更新时间了

  切记每次修改了配置文件后都需要重新启动服务来使配置生效。可以使用下面的命令来检查NTP 服务是否启动,你应该可以得到一个进程ID号:

  # pgrep ntpd

  检查时间服务器是否正确同步

  使用下面的命令检查时间服务器同步的状态:

  # ntpq -p

  输出:

  remote refid st t when poll reach delay offset jitter

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

  -jj.cs.umb.edu gandalf.sigmaso 3 u 95 1024 377 31.681 -18.549 1.572

  milo.mcs.anl.go ntp0.mcs.anl.go 2 u 818 1024 125 41.993 -15.264 1.392

  -mailer1.psc.edu ntp1.usno.navy. 2 u 972 1024 377 38.206 19.589 28.028

  -dr-zaius.cs.wis ben.cs.wisc.edu 2 u 502 1024 357 55.098 3.979 0.333

  +taylor.cs.wisc. ben.cs.wisc.edu 2 u 454 1024 347 54.127 3.379 0.047

  -ntp0.cis.strath harris.cc.strat 3 u 507 1024 377 115.274 -5.025 1.642

  *clock.via.net .GPS. 1 u 426 1024 377 107.424 -3.018 2.534

  ntp1.conectiv.c 0.0.0.0 16 u - 1024 0 0.000 0.000 4000.00

  一个可以证明同步问题的证据是所有远程服务器的jitter值是4000并且delay和reach的值是0。

  remote refid st t when poll reach delay offset jitter

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

  LOCAL(0) LOCAL(0) 10 l - 64 7 0.000 0.000 0.008

  ntp-cup.externa 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00

  snvl-smtp1.trim 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00

  nist1.aol-ca.tr 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00

  可能的原因有:

  配置文件中的restrict default ignore没有被注释

  有防火墙阻断了与server之间的通讯

  此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你执行ntpdate ip的时候将返回:

  27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found

  配置Linux客户端

  在linux客户端上执行ntpdate ntp_server_ip 就可以根据时间服务器统一局域网的时间了,将上面的命令放到cron里每天早上3点定期执行,crontab –e 然后输入

  0 3 * * * /usr/sbin/ntpdate ntp_server_ip

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧