Linux操作系统的计时方式主要从1970年1月1日开始计算总秒数,用date命令+s%可以查看这个参数,这个就是软件时钟。计算机硬件时钟是以BIOS内部的芯片为时间依据。如果计算机上面的CMOS电池没电了,或者了某些特殊的原因导致BIOS数据被清除,此时计算机的时间就会不准。同时,由于某些操作系统程序的原因,也可能出现我们看到的时间与现实中的时间不一致,所以我们都会调整一下时间,以便于计算机系统时间可以保持一致。还有就是我们Linux搭建服务器时,多个服务器之间时间必须保持同步。在实际生活中,我们可以通过电视,广播等来调时间,如果是在网络上呢?这时就需要NTP这个时间服务器了。

  由于NTP时间服务器采用类似分级的架构来处理时间的同步化,所以它使用的是类似一般C/S主从架构。网络上会提供一些主要与次要的时间服务器,这些时间服务器大多在国外,所以我们是否要使用这些服务器同步化自已的时间? 确定有架设NTP的需求时,我们可以直接选择我国的上层NTP同步化时间即可。



在CentOS 6.X搭建时间服务器的软个只需要ntp这个软件,请用下面的命令查是是否安装,如果没有安装使用yum install ntp安装即可。

[root@www ~]# rpm -q ntp

ntp-4.2.6p5-1.el6.centos.x86_64


与时间服务器设置相关的配置文件与重要的数据文件有下面几个:

 /etc/ntp.conf:这个是ntp服务器的主要配置文件。

 /usr/share/zoneinfo/:由tzdata所提供,为各时区的时间格式对应文件。例如我国的时区格式对应的文件是/usr/share/zoneinfo/Asia/Shanghai.这个目录文件与下面的两个文件是有关系的。

 /etc/sysconfig/clock:设置时区是否使用UTC时钟的配置文件。每次开机后Linux会自动读取这个文件来设置自己系统所默认要显示的时间。

 /etc/localtime:就是本地端的时间配置文件。我们显示就会以Shanghai那个时间配置文件为准。


时间服务器的时间修改命令

 /bin/date:用于Linux时间(软件时钟上)的修改与显示。

 /sbin/hwclock:用于BIOS时钟(硬件时钟)的修改与显示。这是一个只有root才能执行的命令。

 /usr/sbin/ntpd:主要提供NTP服务程序。配置文件为/etc/ntp.conf.

 /usr/sbin/ntpdate:用于客户端的时间校正。



[root@www zoneinfo]# vim /etc/sysconfig/clock

ZONE="Asia/Shanghai"


[root@node1 ~]# vim /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery<=========拒绝IPV4的用户

restrict -6 default kod nomodify notrap nopeer noquery<======拒绝IPV6的用户

restrict 127.0.0.1             <==============================放行本机来源

restrict -6 ::1                <===============================放行本机来源

一、修改ntp.conf配置文件
[root@node1 ~]# vim /etc/ntp.conf

①、第一种配置:允许任何IP的客户机都可以进行时间同步
将“restrict default kod nomodify notrap nopeer noquery”这行修改成:
restrict default nomodify

配置文件示例:/etc/ntp.conf

②、第二种配置:只允许192.168.18.***网段的客户机进行时间同步
在restrict default nomodify notrap noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.18.0 mask 255.255.255.0 nomodify

配置文件示例:/etc/ntp.conf

3、以守护进程启动ntpd
/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid

4、ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。

二、配置时间同步客户机
[root@node1 ~]# vim /var/spool/cron/root

增加一行,每10分钟的时间同步服务器进行同步
0-59/10 * * * * /usr/sbin/ntpdate 192.168.18.2

备注:如果客户机没有ntpdate,可以下载ntpdate.tar.gz到/usr/sbin/目录,然后解压:
wget http://blog.s135.com/p_w_upload/200708/ntdate.tar.gz
cd /usr/sbin/
tar zxvf ntpdate.tar.gz