linux搭建ntp时间同步服务
1、NTP简介
NTP(Network Time Protocol,网络时间协议)用来使计算机时间同步的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)。对于服务器群集来说,这个是一个很重要的服务,因为群集需要保证每个服务器的时间是保持一致的,这样它们在执行同一个任务时才不会出现有的服务器有滞后的现象,这样群集的状态才是健康的。
我们在平时工作中可能会遇到内网环境中服务器因为不能联网而出现与正常时间不一致的情况,这时候可以采用搭建ntp时间同步服务器,让内网服务器以客户端的方式连接时间同步服务器,当然时间同步服务器要能连接外网,进行时间同步。
2、NTP原理
NTP的授时方式是Client—Server方式,客户端首先向服务端发送一个NTP 包,其中包含了该包离开客户端的时间戳T1,当服务端接收到该包时,依次填入包到达的时间戳T2、包离开的时间戳T3,然后立即把包返回给客户端。客户端在接收到响应包时,记录包返回的时间戳T4。从而计算出时间进行同步。
3、NTP服务端搭建
服务器规划:
192.168.149.20(能连接外网) | 服务端 |
192.168.149.21 (不能连接外网) | 客户端 |
(一)、NTP服务器端(192.168.149.20)安装
可以看到已经安装了ntp,大部分服务器都自带ntp服务
如果没有可以直接 yum -y install ntp进行安装
[root@node1 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntp-4.2.6p5-29.el7.centos.2.x86_64
ntpdate-4.2.6p5-29.el7.centos.2.x86_64
(二)、配置NTP服务器端配置文件
下方是已经配好的,可以对照着修改
[root@node1 ~] vim /etc/ntp.conf # For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). driftfile /var/lib/ntp/drift # Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify
# nomodify允许局域网客户端同步 # Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1 # Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#将以上默认时间源都注释 #broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client # Enable public key cryptography.
#crypto includefile /etc/ntp/crypto/pw # Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys # Specify the key identifiers which are trusted.
#trustedkey 4 8 42 # Specify the key identifier to use with the ntpdc utility.
#requestkey 8 # Specify the key identifier to use with the ntpq utility.
#controlkey 8 # Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats # Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor server ntp1.aliyun.com
server time.nist.gov
#在最后加入以上两行时间源
(三)、启动NTP服务
查看计划任务有无时间同步,有的话注释掉,否则启动ntp会报错
[root@node1 ~]# crontab -e
启动并查看启动状态
[root@node1 ~]# systemctl start ntpd
[root@node1 ~]# systemctl status ntpd
如下图所示代表启动成功
通过ntpq -p和ntpstat命令查看是否有同步状态
[root@node1 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+120.25.115.20 10.137.53.7 2 u 74 64 176 44.800 11.154 4.838
*time-a-b.nist.g .NIST. 1 u 8 64 377 199.241 -5.427 3.776 [root@node1 ~]# ntpstat
synchronised to NTP server (132.163.96.1) at stratum 2
time correct to within 176 ms
polling server every 64 s
4、ntp客户端同步
连接服务端进行时间同步(192.168.149.21)
查看是否有ntpdate
[root@node2 ~]# rpm -qa | grep ntpdate
ntpdate-4.2.6p5-29.el7.centos.2.x86_64
要等10分钟再与ntp服务器进行时间同步,否则会报以上错误,如果仍然报错请检查防火墙配置
[root@node2 ~]# ntpdate 192.168.149.20
22 Apr 11:06:29 ntpdate[1806]: no server suitable for synchronization found
客户端连接成功
[root@node2 ~]# ntpdate 192.168.149.20
22 Apr 11:09:22 ntpdate[1854]: adjust time server 192.168.149.20 offset -0.017823 sec
linux搭建ntp时间同步服务的更多相关文章
- 关于linux下ntp时间同步服务的安装与配置
1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...
- LINUX之ntp时间同步服务配置
本篇将介绍LINUX之ntp服务配置,时钟同步服务器配置.这个在很多地方都会用到,保持各主机之前的时间保持一致,保证主机之间的心跳稳定. 三台主机都是centos7 192.168.1.110 mas ...
- Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决
[root@EPDDB log]# [root@EPDDB log]# ntpdate 10.154.8.200 6 Sep 09:35:09 ntpdate[30210]: the NTP sock ...
- centos7搭建ntp时间同步服务器chrony服务
centos7搭建ntp时间同步服务器chrony服务 前言: 在centos6的时候我们基本使用的是ntp服务用来做时间同步,但是在centos7后推荐是chrony作为时间同步器的服务端使用, ...
- NTP时间同步 服务端 客户端 自动化安装配置
NTP时间同步 服务端 客户端 自动化安装配置 原创内容 http://www.cnblogs.com/elvi/p/7657994.html #!/bin/sh #运行环境 centos6.cent ...
- openstack (1)----- NTP 时间同步服务
一.标准时间 1.地球分为东西十二个区域,共计24个时区 2.格林威治作为全球标准时间即(GMT时间),东时区以格林威治时区进行加,而西时区则进行减 3.地球的轨道并非正圆,在加上自传速度逐年递减,因 ...
- NTP时间同步服务
NTP时间服务器 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 部署安装NTP ...
- Linux集群配置离线ntp时间同步服务
集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase.mongodb副本集等,Hbase当时间差别过大时就会挂掉,mongodb如果副本时间过快,会出现时间栈帧溢出提 ...
- Linux NTP时间同步服务
NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网 ...
随机推荐
- 组合(n选k问题)
#include "iostream.h" #include "string.h" int a[100]; void dfs(int n,int k) { if ...
- 为什么redis 需要把所有数据放到内存中?
答:Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数 据写入磁盘.所以 redis 具有快速和数据持久化的特征.如果不将数据放在内存中, 磁盘 I/O 速度为严重影响 red ...
- Redis的安装与启动(一)
Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一步:redis的源码包上传到linux系统.--源码 ...
- XMLBeanFactory?
最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory ,它根据XML文件中的定义加载beans.该容器从XML 文件读取配置元数据并用它 ...
- Python - random库介绍
- 数据库学习之"清理表内所有数据"
今天在写定时任务的时候表内的数据都出现了问题,所以用了 1 truncate table 表名 来清空表内的数据
- 2022首场MASA技术团队黑客松赛事大赛完美落幕!精彩集锦
Masa技术团队在2021年创立,这一年我们团队发布了我们第一个产品,Masa Blazor.登上了.NET Conf China,我们承诺,开源我们的产品,为开源社区增砖加瓦,一路上收获技术社区文章 ...
- 阿里云场景化阿里云企业数字化转型售前方法PSA
阿里云场景化阿里云企业数字化转型售前方法PSA 目录 01 课程收获 理解企业数字化转型的概念.内涵.本质 了解企业数字化转型的要点.目标和切入点 掌握数字化转型项目售前阶段实践方法 场景化方案 阿里 ...
- H5扇形
使用H5 canvas绘制的可交互扇形 requestAnimationFrame() 现有动画实现方式的不足 setTimeout和setInterval都不十分精确.为它们传入的第二个参数,实际上 ...
- c++字符串替换
#include <string> #include <iostream> using namespace std; string m_replace(string strSr ...