centos ntpdate 查看,centos7

centos ntp/ntpdate及内网集群时钟同步

在集群环境中,确保所有节点间的时钟同步至关重要,因为它能避免因时间获取错误引发程序运行问题,例如时间错乱导致的雪花算法应用出错。因此,深入理解如何对集群进行时钟同步至关重要。

主要的区别在于两个工具:ntpd和ntpdate。ntpd是一个持续校准时间的服务,它会逐步调整服务器时间,确保平滑同步,适合生产环境。而ntpdate则是直接调整时间,可能会导致时间跳跃,对依赖连续时间的程序产生影响,因此在生产中应谨慎使用。

ntpd通过记录本地时钟漂移,即使在网络不稳定时也能保持精确时间。通常,建议开机时使用ntpdate强制同步,然后在运行中使用ntpd进行平滑同步。在使用ntpd时,需要注意设置防止时间偏差过大时的服务暂停,确保平稳过渡。

在实际操作中,比如在CentOS中,首先安装ntpdate,然后配置NTP服务器地址,如192.168.232.5。在内网环境中,需要替换配置文件中的服务器地址,并确保NTP客户端防火墙端口开放。开机时,可能需要先用ntpdate缩小时间差,再启动ntpd服务。

最后,可以通过查看同步状态、检查线程和端口占用情况来确保时间同步正常。通过上述步骤,可以有效实现集群内各服务器的时间同步,提高系统的稳定性和一致性。

CentOS系统中与时间的相关命令详解

时间在任何系统里都是最基本的部分,必不可少。本文介绍CentOS系统中与时间的相关命令。

基本概念

硬件时钟(Hardware Clock)

硬件时钟,也叫实时时钟(RealTimeClock),或者BIOS时钟,或者CMOS时钟。它是位于机器主板上的实际硬件设备,一般靠电池维持运行。所以,即使机器关机,它也会一直保持记录当前时间,一般不是十分精确。

系统时间(System Time)

系统时间指的是操作系统中的时间。它是由系统加电后的硬件定时器驱动,Linux系统根据定时器信号来递增时间计数。这个定时器非常准确,误差很小。

Linux系统启动时,首先从硬件时钟读取当前时间来初始化系统时间计数,之后就会根据定时器中断来递增它,不再依赖于硬件时钟。

时区(time zone)

世界各国日出的时间并不相同,而日出的时刻却都被当地称作6点钟,同一时刻,各国的钟表指针位置并不相同。也就造就了时区的出现。UTC是世界标准时,其他时区都是在此基础上增减。例如我国的北京时间就比世界时早8个小时。

硬件时钟里一般不会记录时区的信息,而往往只是当地时间。系统时间就必须要把时区的概念考虑进去,否则不同时区的计算机进行信息交流的时候,时间不能统一。这对于很多软件系统是致命的,如严重依赖于时间标签的版本管理系统。Linux内核中保存了当前时区的信息,Linux的文件系统就依赖于这个时区信息。

常用命令

1查看与设置当前BIOS时间

[root@centos192 smstong]# hwclock-r#读取硬件时钟 2015年06月03日星期三 12时30分46秒-0.891230 seconds [root@centos192 smstong]# hwclock--set--date=06/03/2015 16:45:05#设置硬件时钟

2查看与设置当前操作系统时间

[root@centos192 smstong]# date#查看当前系统时间 2015年 06月 03日星期三 19:37:55 CST [root@centos192 smstong]# date-s 10:00:00#设置系统时间 2015年 06月 03日星期三 10:00:00 CST

3硬件时钟与系统时间交互

[root@centos192 smstong]# hwclock--hctosys#用硬件时钟设置系统时间 [root@centos192 smstong]# hwclock--systohc#用系统时间设置硬件时钟

4查看与设置当前系统的时区

[root@centos192 smstong]# date-R#查看带时区信息的当前系统时间 Wed, 03 Jun 2015 19:45:37+0800 [root@centos192 smstong]# export TZ='America/Havana'#设置时区为古巴时间 [root@centos192 smstong]# date-R#可以看到时区成了-0400 Wed, 03 Jun 2015 07:49:49-0400

要想永久性的设置时区信息,则可以在/etc/profile配置文件里增加 export TZ=America/Havana。这样机器重启后也会自动设置时区。

注意Linux内核和应用程序使用的时区并不一定相同,虽然应该相同。应用程序首先靠TZ环境变量来确定时区,如果TZ没有设置,则使用内核的设置。内核是根据/etc/sysconfig/clock文件来设置时区的。*(这段是我的猜测,请大侠指正)*

5通过网络校时前面我们说过硬件时钟往往不太准确,系统时钟虽然比较准确,但是仍不能满足高精度的时间要求。最好的方式就是通过NTP协议从专门的时间服务器来读取正确的时间,然后校正系统时间和硬件时钟。

[root@centos192 smstong]# ntpdate-u s1a.time.edu.cn#通过NTP校时修正系统时间 3 Jun 19:56:42 ntpdate[21550]: adjust time server 202.112.10.60 offset 0.000163 sec [root@centos192 smstong]# hwclock-w#然后根据矫正过的系统时间设置硬件时钟

如果是长时间运行的服务器,则需要把校时命令写成脚本,通过crond自动定时执行之。

如何在 CentOS 中设置 NTP 服务器

背景

当服务器多了,时间准确与否,一致与否是个大问题。虽然这个问题总是被忽略,但是统一一致的时间是很有必要的。下面说一下在局域网内配置Linux时间服务器的方法。

配置的环境及要求:

1.假设在192.168.0.0网段内,要以IP为192.168.0.240的Linux机器时间服务器。

2.192.168.0.240服务器能上外网,能与比较权威的公网时间服务器同步

3.同网段内的其他机器每小时自动向192.168.0.240同步时间

一、安装

yum-yinstallntpntpdate

二、配置

2.1.NTP server的主配置文件为/etc/ntp.conf现对/etc/ntp.conf的各项进行说明

cp/etc/ntp.conf/etc/ntp.conf.bak

vim/etc/ntp.conf

2.

vi/etc/ntp.conf

(以下是ntp.conf文件的内容)

#设置此服务器同上层服务器做时间同步的IP地址,prefer意味着首选IP地址

#经试验,下面的几个时间服务器速度还不错(默认配置即可)

server 210.72.145.44 prefer

server 218.21.130.42

server 0.asia.pool.ntp.org

server 1.asia.pool.ntp.org

server 2.asia.pool.ntp.org

#记录上次的NTP server与上层NTP server联接所花费的时间

driftfile/etc/ntp/drift

#设置默认策略为允许任何主机进行时间同步

restrict default ignore

#设置允许访问此时间服务器的时间服务的IP地址

#根据自己实际情况配置

restrict 127.0.0.1

restrict 192.168.10.2#指定某台机器时间同步

restrict 192.168.0.0 mask 255.255.255.0#允许192.168.0.0/254子网内主机时间同步

restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap#允许任何主机跟进行时间同步

#指定阶层编号为10,降低其优先度。

fudge 127.127.1.1 stratum 10

#设置ntp日志的path

statsdir/var/log/ntp/

#设置ntp日志文件

logfile/var/log/ntp/ntp.log

三、维护

----添加为服务

chkconfig--level345ntpdon

----启动

servicentpdstart

/etc/rc.d/init.d/ntpdstart

----停止

servicentpdstop

/etc/rc.d/init.d/ntpdstop

----管理命令

ntpq–p

#查看本机和上层服务器的时间同步结果

ntptrace

#可以用来追踪某台时间服务器的时间对应关系

ntpdateIP

#客户端要和NTP server进行时钟同步。

/var/log/ntp/ntp.log

#查看ntp日志

----------------------------------

开启防火墙端口

iptables-AINPUT-pudp-dport123-jACCEPT

/etc/init.d/iptablessave

serviceiptablesrestart

四、配置客户端

测试同步:

ntpdate ip地址

设置自动同步:

echo“00*/1***root/usr/sbin/ntpdate192.168.0.240;/sbin/hwclock-w”>>/etc/crontab

每小时同NTP server进行一次时钟同步,并写入本机BIOS

阅读剩余
THE END