生产服务器上一般都要启用NTP服务,来保持各服务器的时间一致。
但是默认,一般各系统都是没有开启微调同步的,一旦时间跨度差距比较大,服务器是会对时间进行大的跳跃性同步的。

如Linux中的加-x参数表示启用微调:

18a0e2f7-1d6c-4743-81ea-1a2ce95b3e99

从上面可以看出,0-128ms的差距时,不管有没有加-x参数,都是会进行微调的,但是当差距大于128ms,小于600s时,加了-x还是会进行微调,但是没有加-x参数的就会进行跳跃同步,这就可能引起一些不可预知的问题了。

一般应用服务器还好,但是对于数据库服务器来说,一秒都是相差很大的一个数值了,可能会引起各种问题。
所以对于数据库服务器来说,一定要开启微调模式。

下面讲一些各个系统启用微调同步的方法:
其中Linux的都相对比较简单,网上也有很多教程,后面我主要讲一下solaris10和solaris11的不同和设置方法。

redhat系Linux:

修改/etc/sysconfig/ntpd
里面有一句:
OPTIONS="-u ntp:ntp -p/var/run/ntpd.pid -g"
在最后加上-x
OPTIONS="-u ntp:ntp -p/var/run/ntpd.pid -g -x"
重启ntpd服务
#service ntpd restart

SUSE:

修改/etc/sysconfig/ntp
里面有一句:
NTPD_OPTIONS="-g -u ntp:ntp"
在最后加上-x
NTPD_OPTIONS="-g -u ntp:ntp -x"
重启ntpd服务
#rcntp restart

HP-UX:

打开/etc/rc.config.d/netdaemons
XNTPD_ARGS="-x"
看是否有以上参数,并添加了-x

solaris
solaris10中有两个版本的NTP,要先确定是启用了哪个版本。
一般solari10及更老的版本,都是用xntpd(NTPv3)版本,但同时也是有NTPv4的,而solaris11是使用NTPv4版本,也只有NTPv4。两个版本启用微调同步的文法不同。

验证方法:
solaris10:

#svcs -a|grep ntp
disabled Dec_08 svc:/network/ntp4:default
online Dec_09 svc:/network/ntp:default

#ps -ef|grep ntp
root 426 1 0 Dec 19 ? 1:24 /usr/lib/inet/xntpd

可以看到solaris10只启用了NTPv3,而NTPv4并没有启用。

solaris11

#svcs -a|grep ntp
online 16:39:31 svc:/network/ntp:default

#ps -ef|grep ntp
root 11874 1 0 17:37:08 ? 0:02 /usr/lib/inet/ntpd -p /var/run/ntp.pid -g

只有一个NTPv4.

solaris启用微调同步的方法:
solaris10:

比较简单,直接在/etc/inet/ntp.conf中添加以下两句即可:
slewalways yes
disable pll

再重启服务
#svcadm -v restart ntp

如果solaris10中是用的NTPv4的话,设置方法如下:

先查看有没有启用微调同步:
# svcprop -p config/slew_always ntp4
如果是false的话,就没有启用

启用:
#svccfg -s svc:/network/ntp4:default setprop config/slew_always = true
# svcadm refresh svc:/network/ntp4:default
# svcadm restart svc:/network/ntp4:default

验证:
# svcprop -p config/slew_always ntp4
true

#ps -ef|grep ntp
root 11874 1 0 17:37:08 ? 0:02 /usr/lib/inet/ntpd -p /var/run/ntp.pid -g --slew

ntp进程中带有–slew参数即表示成功。

solaris11
跟上面NTPv4差不多

# svccfg -s svc:/network/ntp:default setprop config/slew_always = true
# svcadm refresh svc:/network/ntp:default
# svcadm restart svc:/network/ntp:default


发表评论