• ntp时间同步服务器配置


    ntp同步的两种方式:1.使用ntpdate命令直接同步 2.使用NTPD服务平滑同步
    直接同步方式的缺陷:会导致已经做的定时任务再做一遍。
    平滑同步每次同步时间的偏移量不会太陡,根据偏移量,均方差等值每次同步一点点,同步完全同步好需要较长时间。所以一般开启NTPD服务同步前先用ntpdate先手动同步一次(例:ntpdate 10.10.5.15)

    平滑同步配置方式:
    a. 检查ntp服务是否安装rpm -q ntp;
    b. 配置ntp服务为自启动chkconfig ntpd on,并检查是否启动chkconfig --list ntpd
    ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
    c. 修改/etc/ntp.conf文件

    d. 对要与之同步的主服务器主要是修改如下语句:
    # 允许内网其他机器同步时间
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap #允许192.168.1. 网段的机器与自己同步

    server 127.127.1.0 # local clock
    fudge 127.127.1.0 stratum 10
    改后以root用户身份重启ntpd服务:service ntpd restart即可

    e. 对要与主节点同步的客户端主要是配置主服务端IP
    # 配置时间服务器为本地的时间服务器
    server 192.168.1.135 # 配置要与之同步的服务器IP
    restrict 192.168.1.135 nomodify notrap noquery
    改后以root用户身份重启ntpd服务:service ntpd restart即可

    f. 用以下命令查看服务状态:
    1 ntpq –p(查看偏移量,均方差等);
    出现类似:
    remote refid st t when poll reach delay offset jitter
    ==============================================================================
    *node1 LOCAL(0) 2 u 963 1024 377 0.237 0.314 0.040

    能看到偏移量值offset,轮询的时间间隔poll,等信息。


    2 ntpstat
    出现类似:
    synchronised to NTP server (172.10.201.62) at stratum 3
    time correct to within 25 ms
    polling server every 1024 s
    表示本机已经与IP为172.10.201.62的服务器同步,每隔1024s轮询同步一次

    下面是对时区的设置

    [root@tzyyserveryg ~]# date -R
    Fri, 28 Nov 2014 08:35:37 +0800
    [root@tzyyserveryg ~]# cat /etc/sysconfig/clock
    # The time zone of the system is defined by the contents of /etc/localtime.
    # This file is only for evaluation by system-config-date, do not rely on its
    # contents elsewhere.
    ZONE="Asia/Shanghai"
    [root@tzyyserveryg ~]#
    =================================================
    修改日期:
    时间设定成2009年5月10日的命令如下:
    #date -s 05/10/2009
    修改时间:
    将系统时间设定成上午10点18分0秒的命令如下。
    #date -s 10:18:00
    =================================================
    linux系统修改CST时区:
    =================================================
    初始时间:2012年 09月 14日 星期五 18:15:33 EDT
    [root@test ~]# mv /etc/localtime /etc/localtime.bak
    [root@test ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    [root@test ~]# date
    修改后的时间:
    2012年 09月 15日 星期六 18:25:00 CST
    =================================================
    修改命令:tzselect
    保存:hwclock -w
    =================================================
    系统时间变化原因分析

    Linux的时间有两种,一是系统时间,另外是硬件时间(BIOS时间)。

    系统每次启动时会读出BIOS时间,将之赋给系统时间。之后系统时间将独立运行,而BIOS时间不会变化。

    在BIOS时间中,有两种表示形式。一种是以localtime表示的,一种是以UTC表示的。具体查看的方式可以通过hwclock –debug,该命令可以输出当前硬件时间的表示形式。


    下面例举各种情况下系统时间的变化:

    1.当hwclock设定为localtime,/etc/sysconf/clock 中的 UTC=true时,重启后系统时间后相对于BIOS时间被提前8个小时。

    2.当hwclock设定为localtime,/etc/sysconf/clock中的 UTC=false时,重启后系统时间相对于BIOS时间没有变化

    3.当hwclock设定为UTC,/etc/sysconf/clock 中的 UTC=true时,重启后系统时间后相对于BIOS时间无变化

    4.当hwclock设定为UTC,/etc/sysconf/clock 中的 UTC=false时,重启后系统时间后相对于BIOS时间被推后8个小时。

    如下图所示:

    /etc/sysconf/clock中UTC=true

    /etc/sysconf/clock中UTC=false

    硬件时间 localtime

    重启后系统时间后相对于BIOS时间被提前8个小时

    系统时间无变化

    硬件时间 UTC

    系统时间无变化

    重启后系统时间后相对于BIOS时间被推后8个小时


    可见,当BIOS时间设置的类型和 /etc/sysconf/clock中的设置不一致时,就会导致系统启动时的系统时间错误。

    如果有脚本实现时间同步,但是系统启动之后运行的。虽然时间同步可以将系统时间同步到正确时间,但是由于之前的系统时间错误设定,将会出现一个错误的时间间隔,这个时间间隔可能会对依赖系统时间的程序产生影响。

    对策:出现这种问题的根本原因是硬件时间的类型和 /etc/sysconf/clock中的设置不一致。所以我们将在时间同步脚本中增加对硬件时间的同步,这样可以解决这种问题。

    注:

    UTC时间:世界协调时间(Universal Time Coordinated,UTC) ,也就是0时区的时间

    CST时间:CST China Standard Time UTC+8:00 中国沿海时间(北京时间),这是我们所属时区的localtime。

    2.关于时区的设置:

    为保证时间的正确,应该把时区设置正确。设置正确仅是为了使得时间更好理解和其他方面的维护。

    设置方法:

    1. 手动设置时区:

    例如:设置东八区的时间

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    编辑/etc/sysconfig/clock中 ZONE="Asia/Shanghai"

    2. 使用图形化命令设置

    system-config-date (大部分情况仅限于RedHat和CentOS)或者使用 tzselect,按照命令提示进行即可。

  • 相关阅读:
    SVG <–> XAML
    Visual Studio 2005 下 ASP.net Web Service SOAP XML 节点的疑惑
    IE 和 Chrome 不能上网,Windows Live Mail 不能发邮件。Firefox可用。解决办法
    c# FileStream和StreamWriter用法
    c# 壓縮與解壓的簡單學習
    c# 文件輸入和輸出主要類說明
    部署Web應用程序
    allowDefinition='MachineToApplication' 错误的解决办法
    Global.asax的16个事件处理过程
    c# 類模板加上自定義內容
  • 原文地址:https://www.cnblogs.com/bugutian/p/4992687.html
Copyright © 2020-2023  润新知