###本文结合了一些网络文章的内容和自己的整理
在NTP改造的过程中,尤其是系统层面的变更,我认为需要面临三个选择和两个配置流程:
三个选择
1、NTPD与NTPDATE的选择
2、硬件时间是否同步系统时间的选择
3、是否做为NTP服务器向其他设备提供NTP服务
两个配置流程
4、新装机,配置的标准流程
5、变更配置地标准流程
1、NTPD与NTPDATE的选择
Ntpdate是强制更新,但是如果CPU Tick有问题的话,治标服务可能会依赖不治本。可以采用ntpdate与Cron结合,但是可能会导致时间的跃变。一些程序和服务可能会对时间产生依赖,如sleep,timer等,还有一些数据库操作,尤其要避免时间往回跳跃,程序可能会经历两个相同的时刻,这可能是致命的。只有在服务器刚开机时进行这个操作,比较稳妥。
采用NTPD的方式,是一种微调的方式与NTP时间服务器保持同步
-x,-g参数的设置。
-x:NTPD支持平滑、缓慢的渐进式调整,也支持跳跃式调整。微调的方式+参数-x。使用了-x选项,ntpd只做微调,当时差大于600s时,会步进式一次调整到位。如果不使用-x,那么默认行为是时间差下雨128ms时,微调式调整时间,大于128ms时,跳跃式调整时间。
-g:当本地时钟与NTP服务器时间差大于1000s时,ntpd会停止工作。添加参数-g,可以忽略1000s的问题。
Ntpd还有很多好处,其中之一是NTPD能够校准机器本身的时钟,惠济路BIOS计时器的振荡频率偏差,将偏移记录下来。偏移记录在driftfile中。
2、硬件时间是否同步系统时间的选择
当NTP服务器不可用时,操作系统的行为需要确认。是否使用硬件时间。
硬件时间同步系统时间的话,可以配置/etc/sysconfig/ntpd文件:添加 SYNC_HWCLOCK=yes,也可以通过hwclock -w命令
##############如下:
SYNC_HWCLOCK=yes
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
(-x,-g参数就是前文提到的)
***这里需要注意有一个不确定的点:有时会在messages日志里看到NTP进程正在做DELETING动作,不过NTP进程并不会真正删除虚拟网络接口,但这个动作会造成网络短暂不通。红帽官方有个对应的解决办法是:就是在这个文件里增加-L参数。
3、是否将服务器作为其它设备的NTP服务器使用,NTP分层的问题。以及一些设置上的安全基线
若分层,则需要设置一些安全基线,如是否开启NTP功能,限制哪些网段的设备可以来校时,限制ntpq、ntpc、notrap等等。
4、新装机配置的标准流程
先date看一下,然后进行时区设置???
[root@T_PV1_DB ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
CST=true
先ntpdate手动获取时间:ntpdate x.x.x.x
进行ntp的配置,
#cat /etc/ntp.conf
server x.x.x.x prefer
driftfile /var/lib/ntp/drift
Keys /etc/ntp/keys
Restrict相关配置(如果需要)
再配置NTPD,配置硬件时间是否同步系统时间,配置-x,-g参数等。
配置/etc/sysconfig/ntpd文件
SYNC_HWCLOCK=yes
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
启动NTP服务、NTPD服务(未确认)
/etc/init.d/ntpd start(ntp还是ntpd?)
[root@localhost ~]# chkconfig ntpd on #在运行级别2、3、4、5上设置为自动运行
[root@localhost ~]# chkconfig --list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
查看ntp启动的端口
Netstat -tlump | grep ntp
查看ntpstat,与ntp 服务器同步的状态
查看ntpq -p,与上层NTP的状态,下面列举一些参数的意义:
remote:响应这个请求的NTP服务器的名称。
refid:NTP服务器使用的上一级ntp服务器。
st :remote远程服务器的级别.由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端.所以服务器从高到低级别可以设定为1-16.为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
when: 上一次成功请求之后到现在的秒数。
poll : 本地机和远程服务器多少时间进行一次同步(单位为秒).在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小
reach:这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
delay:从本地机发送同步要求到ntp服务器的round trip time
offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近
jitter:这是一个用来做统计的值.它统计了在特定个连续的连接数里offset的分布情况.简单地说这个数值的绝对值越小,主机的时间就越精确
5、变更的流程
现在开发测试,直接运行ntpdate操作,然后配置NTP,启动ntpd服务?
若无问题,生产商同样如此操作。
若有问题,可能需要停服务,甚至停机,进行ntp相关配置更新。