内网环境集群主机的时间同步

时间:2019-05-27 10:19:00   收藏:0   阅读:195

场景描述

系统环境

实施方案

实施过程

主机A设置

# 安装NTP软件
# 方式1
yum -y install ntp
# 方式2(严格按照顺序autogen->ntpdate->ntp)
rpm -hiv autogen-libopts-5.18-5.el7.x86_64.rpm
rpm -hiv ntpdate-4.2.6p5-18.el7.centos.x86_64.rpm
rpm -hiv ntp-4.2.6p5-18.el7.centos.x86_64.rpm

# 编辑NTP配置
vim /etc/ntp.conf

ntp.conf 配置如下

driftfile /var/lib/ntp/drift
# 默认拒绝客户端所有操作
restrict default kod notrap nomodify nopeer noquery
# 允许本地操作
restrict 127.0.0.1
restrict ::1
# 允许该网段同步时间,但不可修改NTP服务器时间
restrict 172.16.59.0 mask 255.255.255.0 nomodify
# 用于NTPD的上级服务器、本机时钟的同步,以及时钟的层次stratum
server cn.ntp.org.cn prefer
server edu.ntp.org.cn iburst
# 本机时间兜底
server 127.127.1.0
fudge 127.127.1.0 stratum 8

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
# 编辑 ntpd 文件
vim /etc/sysconfig/ntpd

ntpd 文件修改如下

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
# BIOS时间也会跟随改变
SYNC_HWCLOCK=yes
# 查看状态
systemctl status ntpd.service
ntpstat

# 重启服务
systemctl restart ntpd.service
# 开机启动
systemctl enable ntpd.service

其他主机设置

# 安装 ntpdate 软件
# 方式1
yum -y install ntp
# 方式2(严格按照顺序autogen->ntpdate->ntp)
rpm -hiv autogen-libopts-5.18-5.el7.x86_64.rpm
rpm -hiv ntpdate-4.2.6p5-18.el7.centos.x86_64.rpm
rpm -hiv ntp-4.2.6p5-18.el7.centos.x86_64.rpm

# 编辑配置文件
vi /etc/ntp.conf

ntp.conf配置如下

driftfile /var/lib/ntp/drift

# 默认拒绝客户端所有操作
restrict default kod notrap nomodify nopeer noquery
# 禁止本身的server
# server cn.ntp.org.cn prefer
# server edu.ntp.org.cn iburst
restrict 172.16.59.25
restrict 127.0.0.1
restrict ::1

server 172.16.59.25

# server    127.127.1.0    
# fudge     127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
# 编辑 ntpd 文件
vim /etc/sysconfig/ntpd

ntpd 文件修改如下

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
# BIOS时间也会跟随改变
SYNC_HWCLOCK=yes

# 重启服务 systemctl restart ntpd.service # 开机启动 systemctl enable ntpd.service

过程总结

可能失败原因及分析

stratum 的概念

NTPD运行过程

ntpd与ntpdate修改时间的区别

ntpd 不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday设置系统时间,这有几个非常明显的问题:

第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。

因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。

NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时

RTC硬件时间相关命令

clock –r         显示硬件时钟与日期

clock –s         将系统时钟调整为与目前的硬件时钟一致。

clock –w        将硬件时钟调整为与目前的系统时钟一致

查看和修改时间

# 查看时间和日期
date
date -R
timedatectl

# 查看本月月历
cal

# 设置时间和日期
# 例如:将系统日期设定成2019年11月3日的命令
date -s 11/03/2019

#将系统时间设定成下午5点55分55秒的命令
date -s 17:55:55

# 将当前时间和日期写入BIOS,避免重启后失效**
hwclock -w

# 修改时区
tzselect

原文:https://www.cnblogs.com/LingCoder/p/10928940.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!