ntpd与ntpdate的区别(集群间时间同步)
同步时间,可以使用ntpdate命令,也可以使用ntpd服务(debian中ntp服务器为ntp服务,需要安装apt-get install ntp,同时对上手动同步时间需要用到ntpdate,故还需安装apt-get install ntpdate)。
一、配置ntp
1.在所有服务器上安装ntp
yum install ntp
注:这里我们选择将Inforpush1作为NTP服务器,其他服务器同步Inforpush1
2.配置NTP服务器的/etc/ntp.conf
修改restrict参数,配置需要同步的服务器的网段。
3.配置其他服务器的/etc/ntp.conf
vi /etc/ntp.conf
修改server参数,配置NTP服务器的IP
4.配置完成之后重启ntp服务
systemctl restart ntpd
或
service ntpd restart
5.查看时间同步
ntpq –p
6、netstat -tlunp | grep ntp #如果看到123端口,说明ntp服务成功启动。
注意情况及参数说明
1. 关于权限设定部分
# 权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP mask netmask_IP parameter
其中 IP 可以是软件地址,也可以是 default ,default 就类似 0.0.0.0
# 至于paramter则有:
# ignore :关闭所有的 NTP 联机服务
# nomodify:表示 Client 端不能更改 Server 端的时间参数,不过,
# Client 端仍然可以透过 Server 端来进行网络校时。
# notrust:该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域
# noquery:不提供 Client 端的时间查询
# notrap:不提供trap这个远程事件登入
# 如果paramter完全没有设定,那就表示该 IP (或网域)“没有任何限制”
restrict default nomodifynotrapnoquery # 关闭所有的 NTP 要求封包
restrict 127.0.0.1 #这是允许本级查询
restrict 192.168.0.1 mask 255.255.255.0 nomodify
#在192.168.0.1/24网段内的服务器就可以通过这台NTP Server进行时间同步了
2. 上层主机的设定
# 要设定上层主机主要以 server 这个参数来设定,语法为:
# server [IP|HOST Name] [prefer]
# Server 后面接的就是我们上层 Time Server 啰!而如果 Server 参数
# 后面加上perfer的话,那表示我们的 NTP 主机主要以该部主机来作为
# 时间校正的对应。另外,为了解决更新时间封包的传送延迟动作,
# 所以可以使用driftfile来规定我们的主机
# 在与 Time Server 沟通时所花费的时间,可以记录在driftfile
# 后面接的文件内,例如下面的范例中,我们的 NTP server 与
# cn.pool.ntp.org联机时所花费的时间会记录在 /etc/ntp/drift文件内
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server cn.pool.ntp.org prefer
#其他设置值,以系统默认值即可
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
总结一下,restrict用来设置访问权限,server用来设置上层时间服务器,driftfile用来设置保存漂移时间的文件。
具体配置说明为; 请参考 :http://www.cnblogs.com/liushui-sky/p/9203657.html
二、使用ntpdate比较简单。格式如下
[root@linux ~]# ntpdate [-nv] [NTP IP/hostname]
[root@linux ~]# ntpdate 192.168.0.2
[root@linux ~]# ntpdate time.ntp.org
但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果cpu tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置。比如,在crontab中添加: root路径下 ()
在/etc/crontab 文件下 添加
0 12 * * * * /usr/sbin/ntpdate 192.168.0.1
这样,会在每天的12点整,同步一次时间。ntp服务器为192.168.0.1。
三、两点之间的不同
使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。
要注意的是,ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行. 所以新设置的时间服务器一定要先ntpdate从上源取得时间初值, 然后启动ntpd服务。ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.
使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:
第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
请参考:https://blog.csdn.net/tuolaji8/article/details/79971591
ntpd与ntpdate的区别(集群间时间同步)相关推荐
- Hadoop集群间文件拷贝
Hadoop集群间文件拷贝 distcp使用 DistCp Version 2(分布式copy)是用于集群间/集群内的文件copy工具, 使用MapReduce实现分布式.错误处理.恢复和报告.dis ...
- 配置两个不同kerberos认证中心的集群间的互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...
- hbase 学习(十三)集群间备份原理
集群建备份,它是master/slaves结构式的备份,由master推送,这样更容易跟踪现在备份到哪里了,况且region server是都有自己的WAL 和HLog日志,它就像mysql的主从备份 ...
- ntpd、ntpdate的区别
ntpd.ntpdate的区别 使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别.ntpd不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑 ...
- 集群间实现Session共享
上一篇,同一tomcat不同项目下session共享方案:http://blog.csdn.net/qinmengdecluntan/article/details/72832648 一.引言 针对企 ...
- 【大数据之Hadoop】三十一、HDFS集群迁移之Apache和Apache集群间数据拷贝
数据迁移场景: 冷热集群数据分类存储:集群数据整体迁移:数据的准实时同步,目的在于数据的双备份可用. 数据迁移需要考虑的因素: 带宽.性能.增量同步(原始数据文件进行了追加写.被删除或重命名) ...
- 一周碎碎念,2021.11.7,两个MGR集群间还可以构建传统的主从复制通道吗
叨叨最近遇到的一些事以及见闻.思考. 1. GreatSQL编译环境Dockerfile更新了 用于构建GreatSQL编译环境的Dockerfile发现几个小瑕疵,于是更新了下. 利用Docker环 ...
- mysql中overwrite,打造集群间HIVE数据库表半自动迁移(overwrite)工具
Author:Christopher_L1n | CSDN Blog | 未经允许,禁止转载 Hive -> Hive 集群间迁移数据库表 阅读提示 为了代码易读性,脚本中加入冗余的参数赋值,可 ...
- Kafka集群间同步数据方案-Flume
Apache Flume 是一个分布式.高可靠.高可用的用来收集.聚合.转移不同来源的大量日志数据到中央数据仓库的工具. 系统要求 Java运行环境 - Java 1.8或更高版本 体系结构 Even ...
最新文章
- EMW 性能优化二之---并发配置
- wxpython中的所有文本框都是TextCtrl,不同的形式的文本框通过样式来实现,下面创建了一个密码输入框...
- Hdu-6249 2017CCPC-Final G.Alice’s Stamps 动态规划
- setings.py配置文件详解
- android4.3 Bluetooth(le)分析之startLeScan分析
- BZOJ#3252. 攻略
- 2019年大数据发展趋势预测
- 外媒吐槽:iPhone 13系列为史上力度最小的升级
- weblogic中删除自动部署项目
- 简单的web接口自动化测试
- JAVA获取文件本身所在的磁盘位置
- 【JAVA】在jar文件中引用图片等外部资源的问题
- ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)
- 计算机考研面试有英语听力吗,考研复试前如何准备英语听力和口语
- Chatper 16 Instrumental Variable Estimation
- 生成静态链接库和动态链接库
- windows上ppt转图片的方法
- Google软件测试之道
- docker-compose 部署 php + nginx + mysql + redis
- oracle 追究,ORACLE事件跟踪
热门文章
- 学计算机人都很自私,“每个人都是自私的”,想通了这一点,你就会看淡所有的人际关系...
- Zabbix processes more than 75% busy相关问题处理
- 用Python制作音乐播放器(上)
- 基于WSP/WTP的MMS传输(5)——WSP 协议的实现
- 小米5卡在android,【图片】小米5优化教程,吃鸡卡的进来!!!_小米5吧_百度贴吧...
- 2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤
- 购买计算机一定要追求独立显卡,客户花200买GTX1060显卡,用了一周就坏了了,这种卡你还敢买吗?...
- 容器技术之ChrootDocker
- HTML5:移动互联网的第二个苹果
- 魅蓝5s 显示无服务器,魅蓝5s评测:只为让你机不离手