概念介绍
ntp的同步调整方式分为slew和step。那么总有一个是默认吧,确实有默认,默认模式是:step。两种模式有什么不同?
slew:平滑,缓慢,微调,令客户端时间平滑地趋近服务端时间;
step:分步,分阶段,相当于电视换频道一样,一个一个的跳跃。
为什么要讨论ntp的同步模式?
答:之所以需要开启微调同步,是为了避免系统上一些软件对时间变化敏感,一旦时间调整跨度较大时,会对程序造成过大影响。尤其是集群软件,可能导致集群失效;数据库服务对时间也比较敏感。
总结:ntp在没有开启slew方式时,会一直使用step的方式,分步调整偏差。在开启了slew方式时,在600s内的偏差会使用slew方式以0.5ms/s的速度缓慢平滑的进行微调,整个过程<=14天消除偏差,如果此时偏差查过了600的话会继续使用step的方式分步分阶段调整偏差。
Solaris11配置ntp同步微调
默认为step模式
~# svccfg -s svc:/network/ntp:default listprop config/slew_always
config/slew_always boolean false
开启slew模式
~# svccfg -s svc:/network/ntp:default setprop config/slew_always = true
~# svccfg -s svc:/network/ntp:default listprop config/slew_always
config/slew_always boolean true
需要重启ntp服务生效
~# ps -ef |grep ntp |grep -v grep
daemon 753 1 0 16:26:44 ? 0:06 /usr/lib/inet/ntpd --pidfile /var/run/ntp.pid --panicgate
~# svcadm refresh svc:/network/ntp:default
~# svcadm restart svc:/network/ntp:default
~# ps -ef |grep ntp|grep -v grep
daemon 1571 1 0 10:54:53 ? 0:00 /usr/lib/inet/ntpd --pidfile /var/run/ntp.pid --panicgate --slew