澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

Linux系统NTP服务细节详述,服务管理

Linux下更新系统时间的命令用:ntpdate

服务管理——ntp

在Linux系统里设置NTP服务并不难,但是NTP本身确是一个很复杂的协议. 你都了解细节么?

教育网下常用的时间服务器有s1a.time.edu.cn,或者210.72.145.44

 

  1. 时间和时区

ntpdate 210.72.145.44

一 ntp相关知识

date命令可显示时间与市区

更多教育下的时间服务器可在这里找到:

 

[root@T_PV1_DB ~]# date

如果想让系统退出时的把时间写到bios,则在/etc/conf.d/clock里有:

什么是时间同步服务器

Tue Feb  7 16:32:16 CST 2017

# If you want to set the Hardware Clock to the current System Time

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

[root@T_PV1_DB ~]# cat /etc/sysconfig/clock

# during shutdown, then say "yes" here.

 

ZONE="Asia/Shanghai"

CLOCK_SYSTOHC="no"

NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC 源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。

CST=true

CLOCK_SYSTOHC 要为yes,否则关机时系统时间不会更新。

 

在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone) 的必要,也就是把全球划分成24个不同的时区. 所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)

注意:升级系统时要注意文件/etc/conf.d/clock不要被覆盖,里面一般设有CLOCK="local",如果被覆盖了就成了UTC,这样就会出现跟windows时间不一样。

时间同步在真实环境中使用较多,不同机器时间不一致,向同一台数据库服务器写数据会出问题。这仅仅只是一个应用。

格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. 虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC

新皇冠体育 1

 

那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式

在学习时间同步服务器之前,我们先了解下时间相关的命令:

20:00 CST

[plain] 

12:00 UTC

#查看时间  

这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC 8时区

[[email protected] ~]# date  

如果时区设置错了,你看到的日志时间也不正确了。

Wed Aug 7 17:47:44 CST 2013  

补充:

[[email protected] ~]# date -s ""  

CST同时可以代表如下 4 个不同的时区:

   

Central Standard Time (USA) UT-6:00

#查看时区  

Central Standard Time (Australia) UT 9:30

[[email protected] /]# cat /etc/sysconfig/clock  

China Standard Time UT 8:00

# The time zone of the system is defined bythe contents of /etc/localtime.  

Cuba Standard Time UT-4:00

# This file is only for evaluation bysystem-config-date, do not rely on its  

可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。

# contents elsewhere.  

2、ntp的配置

ZONE="Asia/Chongqing"  

#cat  /etc/ntp.conf 

   

  • restrict default kod nomodify notrap nopeer noquery 
  • restrict -6 default kod nomodify notrap nopeer noquery 
  • restrict 11.107.13.100                         //允许该NTP服务器进入
  • restrict 11.80.81.1                            //没有任何何參數的話,這表示『该IP或网段不受任何限制』
  • restrict 202.112.1.199 
  • restrict 127.0.0.1 

  • restrict -6 ::1 

  • restrict 192.168.0.0 mask 255.255.0.0 nomodify  //该网段可以进行校时
  • restrict 0.0.0.0 mask 0.0.0.0 notrust           //拒绝没有认证的用户端
  • server time-nw.nist.gov prefer                  //prefer 该服务器优先
  • server 0.rhel.pool.ntp.org  iburst        //设定时间服务器
  • server 1.rhel.pool.ntp.org  iburst
  • server 2.rhel.pool.ntp.org  iburst
  • fudge   127.127.1.0 stratum 6 
  • driftfile /var/lib/ntp/drift 
  • keys /etc/ntp/keys 
  • broadcastdelay 0.008

#可以重新设置时区  

上边只是简单设置,没有考虑安全方面如认证等等。

[[email protected] /]# system-config-date  

权限管理使用 restrict 公式如下:
restrict IP mask [参数] / restrict 192.168.0.0 mask 255.255.0.0 nomodify

   

其中参数主要有底下这些:

#查看不同地区的时区信息  

    * ignore:拒绝所有类型的NTP的连线;
    * nomodfiy:用户端不能使用NTPC与ntpq这两支程式来修改伺服器的时间参数,但使用者端仍可透过这部主机来进行网路校时的;
    * noquery:用户端不能够使用ntpq,NTPC等指令来查询发表伺服器,等于不提供的NTP的网路校时幂;
    * notrap:不提供陷阱这个远端事件邮箱(远程事件日志)的功能。
    * notrust:拒绝没有认证的用户端。

[[email protected] /]# ls /usr/share/zoneinfo/  

配置文件中的driftfile是什么?
我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了。

Africa     Australia  Cuba     Etc     GMT0       Iceland      Japan     MST      Poland      right     Universal  Zulu  

 

America    Brazil     EET      Europe  GMT-0      Indian       Kwajalein  MST7MDT Portugal    ROC        US  

最后,别忘了启动NTP服务器

Antarctica Canada     Egypt    Factory GMT 0      Iran         Libya      Navajo  posix       ROK        UTC  

/etc/init.d/ntp start

Arctic     CET        Eire     GB      Greenwich  iso3166.tab  MET       NZ       posixrules  Singapore WET  

[root@localhost ~]# chkconfig ntpd on #在运行级别2、3、4、5上设置为自动运行

Asia       Chile      EST      GB-Eire Hongkong   Israel       Mexico     NZ-CHAT PRC         Turkey     W-SU  

[root@localhost ~]# chkconfig --list ntpd

Atlantic   CST6CDT    EST5EDT  GMT     HST        Jamaica      Mideast   Pacific  PST8PDT     UCT       zone.tab  

ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

   

 

#设置时区不重要,重要的是不同机器之间的时间同步起来  

查看ntp服务器有无和上层ntp连通

[[email protected] ~]# cat /etc/sysconfig/clock  

 

ZONE="Asia/Chongqing"  

[root@localhost ~]# ntpstat

synchronised to NTP server (192.168.7.49) at stratum 6

   time correct to within 440 ms

   polling server every 128 s

[root@localhost ~]#

[[email protected] ~]# date  

查看ntp服务器与上层ntp的状态

Wed Aug 7 09:52:31 CST 2013  

[root@localhost ~]# watch ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

 192.168.7.49    192.168.7.50     5 u   13   64    3    5.853  1137178   2.696

   

3、ntpd的配置

#修改时区  

配置/etc/sysconfig/ntpd文件

[[email protected] ~]# date  

ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

Wed Aug 7 09:52:31 CST 2013  

#允许BIOS与系统时间同步,也可以通过hwclock -w 命令

#修改成日本时区  

SYNC_HWCLOCK=yes

[[email protected] ~]# vim /etc/sysconfig/clock  

# Drop root to id 'ntp:ntp' by default.

[[email protected] ~]# cat /etc/sysconfig/clock  

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

ZONE="Asia/Tokyo"  

有时会在messages日志里看到NTP进程正在做DELETING动作,不过NTP进程并不会真正删除虚拟网络接口,但这个动作会造成网络短暂不通。红帽官方有个对应的解决办法是:

#拷贝内容  

就是在这个文件里增加-L参数。

[[email protected] ~]# cp/usr/share/zoneinfo/Asia/Tokyo /etc/localtime  

还有-x和-g参数:

cp: overwrite `/etc/localtime'? Y  

ntpd服务的方式,又有两种策略,一种是平滑、缓慢的渐进式调整(adjusts the clock in small steps所谓的微调);一种是步进式调整(跳跃式调整)。两种策略的区别就在于,微调方式在启动NTP服务时加了个“-x”的参数,而默认的是不加“-x”参数。

#查看时间,发现立即改变,不需要重启  

 

[[email protected] ~]# date  

假如使用了-x选项,那么ntpd只做微调,不跳跃调整时间,但是要注意,-x参数的负作用:当时钟差大的时候,同步时间将花费很长的时间。-x也有一个阈值,就是600s,当系统时钟与标准时间差距大于600s时,ntpd会使用较大“步进值”的方式来调整时间,将时钟“步进”调整到正确时间。

Wed Aug 7 10:55:44 JST 2013  

 

   

假如不使用-x选项,那么ntpd在时钟差距小于128ms时,使用微调方式调整时间,当时差大于128ms时,使用“跳跃”式调整。

#使用工具修改时间  

 

#安装工具  

这两种方式都会在本地时钟与远端的NTP服务器时钟相差大于1000s时,ntpd会停止工作。在启动NTP时加了参数“-g”就可以忽略1000S的问题。

[[email protected] ~]# yum install/usr/bin/system-config-date -y  

4、时间同步

[[email protected] ~]# yum installsystem-config-date -y  

利用crontab可以让LINUX NTP定时更新时间
注:让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用:如下
[root@ESXI ~]# ntpdate 1.rhel.pool.ntp.org                                 
20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

#安装system-config-date的时候会把ntp服务器安装上  

如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:

   

30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w    #192.168.0.1是NTP服务器的IP地址
然后重启crond服务
service crond restart 
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

#支持X Window的形式登录  

如果是WINDOWS ,则需要打开windows time服务和RPC的二个服务
如果在打开windows time 服务,时报 错误1058,进行下面操作 
1.运行 cmd 进入命令行,然后键入
w32tm /register  进行注册
正确的响应为:W32Time 成功注册。

[[email protected] 0807]# ssh 192.168.1.11 -X  

2.如果上一步正确,用 net start "windows time" 或 net start w32time 启动服务。

[email protected]'s password:  

 

Last login: Wed Aug  7 18:19:30 2013 from 192.168.1.1  

5、Linux的硬件时间

/usr/bin/xauth:  creating new authority file /root/.Xauthority  

Linux硬件时间的设置

#修改时间,改成重庆时区  

硬件时间的设置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

[[email protected] ~]# system-config-date  

//查看硬件时间 可以是用 hwclock ,hwclock --show 或者 hwclock -r

Gtk-Message: Failed to load module"pk-gtk-module": libpk-gtk-module.so: cannot open shared object file:No such file or directory  

[root@localhost ~]# hwclock --show
2008年12月12日 星期五 06时52分07秒  -0.376932 seconds

[[email protected] ~]# cat /etc/localtime  

//设置硬件时间

[[email protected] ~]# date  

[root@localhost ~]# hwclock --set --date="1/25/09 00:00" <== 月/日/年时:分:秒
[root@localhost ~]# hwclock
2009年01月25日 星期日 00时00分06秒  -0.870868 seconds

Wed Aug 7 10:03:22 CST 2013  

几个参数和命令:

 

ntpq -p显示结果中的offset

硬件时钟和软件时钟

本地时间 offset=远程时间, 因此如果offset为负数, 则本地时钟比远程快. offset值0-500,接近0是正常的。  

Linux将时钟分为系统时钟(SystemClock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,也就是软件时钟。而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”项中进行设置。

运行ntpq -c asso, 如果显示sys.peer则已经处于同步状态了.

[plain] 

新皇冠体育 2

#同步硬件时钟和软件时钟  

使用以下命令检查ntp的版本: # ntpq -c version

[[新皇冠体育,email protected] ~]# clock --help  

错误问题处理

hwclock - query and set the hardware clock(RTC)  

用于收集安装,配置和应用中出现的问题

   

错误1:ntpdate -u ip -> no server suitable for synchronization found

Usage: hwclock [function] [options...]  

判断:在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。

   

原因:NTP server还没有和其自身或者它的server同步上。在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

Functions:  

处理:等待几分钟后,重试一般解决。

  -s | --hctosys     set the system time from the hardware clock  

其它造成无法成功更新的原因:
1、客户端的日期必须要设置正确,不能超出正常时间24小时,不然会因为安全原因被拒绝更新。其次客户端的时区必须要设置好,以确保不会更新成其它时区的时间。
2、fudge 127.127.1.0 stratum 10 如果是LINUX做为NTP服务器,stratum(层级)的值不能太大,如果要向上级NTP更新可以设成2
3、LINUX的NTP服务器必须记得将从上级NTP更新的时间从系统时间写到硬件里去 hwclock --systohc 
     NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了
     代码:
     # vi /etc/sysconfig/ntpd
     SYNC_HWCLOCK=yes
4、Linux如果开启了NTP服务,则不能手动运行ntpdate更新时间(会报端口被占用),它只能根据/etc/ntp.conf 里server 字段后的服务器地址按一定时间间隔自动向上级NTP服务器更新时间。可以运行命令 ntpstat 查看每次更新间隔如:
[root@ESXI ~]# ntpstat
synchronised to NTP server (210.72.145.44) at stratum 2    #本NTP服务器层次为2,已向210.72.145.44 NTP同步过
   time correct to within 93 ms                                 #时间校正到相差93ms之内
   polling server every 1024 s                                  #每1024秒会向上级NTP轮询更新一次时间

  -w | --systohc      set the hardware clock to the currentsystem time  

补充:

   

ntpd、ntpdate的区别

#ntp:Network TimeProtocal  

下面是网上关于ntpd与ntpdate区别的相关资料。如下所示所示:

本文由澳门皇冠金沙网站发布于网络操作,转载请注明出处:Linux系统NTP服务细节详述,服务管理