SUSE 11 & RedHat 6.1 & HP-UX B.11.31 NTP时间同步服务实施案例
SUSE Linux Enterprise Server 11 (i586)
NTP(网络时间协议)机制是用于同步网络上的系统时间的协议。首先,计算机从作为可靠时间源的服务器获得时间。然后将此计算机用作网络中其他计算机的时间源。这样做有双重目的,既可维护绝对时间,又可保持网络中所有计算机系统时间的同步。
1.查看系统时钟(Linux 内核时钟)和设置系统时钟
boco@TJ-Unicom-Group-GnCol2:~> date
Mon Jun 27 14:06:29 CST 2011
#date -s 091713272003.30 设置系统时钟的操作
#date 月日时分年.秒 通用的设置格式
2.查看硬件时钟和设置硬件时钟
Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电(石英钟)的那个主板硬件时钟,这个时钟可以在BIOS的Standard BIOS Feture”项中进行设置。
TJ-Unicom-Group-GiCol2:~ # hwclock 另一种写法 hwclock --show 查看硬件时钟
Mon Jun 27 15:12:29 2011 -0.346217 seconds
hwclock --set --date="MM/DD/YYYY hh:mm:ss" 通用的设置格式
3.同步系统时钟和硬件时钟
Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。
# hwclock --hctosys 硬件时钟同步系统时钟(与硬件时钟为基准) ,--hctosys表示Hardware Clock to SYStem clock clock 命令在suse11 上用不了
# hwclock -w 或者 hwclock --systohc 系统时钟同步硬件时钟(与系统时钟为基准),--systohc表示 SYStem clock to Hardware Clock
#hwclock --help 查看所有参数和格式
4.安装NTP软件包
安装之前先检测是否这些软件包已安装,方法如下:
TJ-Unicom-Group-SysLogCol1:~ # rpm -qa | grep ntp
ntp-4.2.4p6-1.15
yast2-ntp-client-2.17.14-1.8
如果没有安装,需要进行安装
linux: ~#rpm -ivh ntp-4.2.4p6-1.15.i586.rpm
此安装包位于D:\工作软件\SUSE 11 32位 操作系统 镜像ISO\SUSE_SLES-11-0-1\suse\i586\ntp-4.2.4p6-1.15.i586.rpm
5.设置时钟同步– NTP 配置文件模式(配置文件模式是长久有效,命令模式临时有效) SUSE 11版
NTP 修改配置文件/etc/ntp.conf
server 10.3.64.61 设置时钟服务器(源),重启NTP服务即可,上级时间服务器的IP或者域名
# local clock (LCL)
fudge 127.127.1.0 stratum 10 fudge设置Stratum(层)
# LCL is unsynchronized
启动/停止/重启/状态ntp服务
# /sbin/service ntp start
# /sbin/service ntp stop
# /sbin/service ntp restart
# /sbin/service ntp status
remote refid st t when poll reach delay offset jitter
=============================================================================
*10.3.64.61 132.174.32.151 5 u 40 64 17 0.226 0.533 0.133 这是NTP启动状态running,指向时钟源10.3.64.61
Checking for network time protocol daemon (NTPD): running
TJ-Unicom-Group-LupsCol2:/etc # ntpq -p 监视NTP->只有启动NTP服务才能监视NTP,否则ntpq: read: Connection refused
remote refid st t when poll reach delay offset jitter
=============================================================================
LOCAL(0) .LOCL. 10 l 58 64 1 0.000 0.000 0.001 监视NTP,但没有指向时钟源
remote refid st t when poll reach delay offset jitter
=============================================================================
*10.3.64.61 132.174.32.151 3 u 31 64 377 0.714 207.690 147.835 监视NTP,已经指向时钟源10.3.64.61,目的NTP是否正常如果发现在remote这列之前会出现星号和+号,说明已经跟这个服务器同步成功了
TJ-Unicom-Group-Analyse1:~ # service ntp status 这是NTP没有启动的状态
Checking for network time protocol daemon (NTPD): unused
TJ-Unicom-Group-GnCol1:/etc # ntpdate 10.3.64.61 NTP命令模式,手工同步NTP,有警告WARNING信息,但可以同步(配置文件模式是长久有效,命令模式临时有效)
!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!
The ntpdate program is deprecated and should not be used any more. To
quote the upstream ntp developers:
"The functionality ntpdate offered is now provided by the ntpd daemon
itself. If you call ntpd with the command line option -q it will
retrieve the current time and set it accordingly."
Please check the Network Time Protocol (NTP) daemon man page and
http://support.ntp.org/bin/view/Dev/DeprecatingNtpdate
for further information.
You can replace the ntpdate call with "rcntp ntptimeset" to achieve an
inital poll of the servers specified in /etc/ntp.conf.
The program /usr/sbin/sntp offers comparable functionality to ntpdate.
Specifically
sntp -P no -r pool.ntp.org
is equivalent to
ntpdate pool.ntp.org
For further details please refer to the man page of sntp.
TJ-Unicom-Group-GnCol1:/etc # date
Mon Jul 4 11:32:56 CST 2011
TJ-Unicom-Group-GnCol1:/etc # ntpq -p 监视NTP->只有启动NTP服务才能监视NTP,否则ntpq: read: Connection refused
ntpq: read: Connection refused 目的NTP是否正常