- 浏览: 551150 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- 随笔 (4)
- Spring (13)
- Java (61)
- HTTP (3)
- Windows (1)
- CI(Continuous Integration) (3)
- Dozer (1)
- Apache (11)
- DB (7)
- Architecture (41)
- Design Patterns (11)
- Test (5)
- Agile (1)
- ORM (3)
- PMP (2)
- ESB (2)
- Maven (5)
- IDE (1)
- Camel (1)
- Webservice (3)
- MySQL (6)
- CentOS (14)
- Linux (19)
- BI (3)
- RPC (2)
- Cluster (9)
- NoSQL (7)
- Oracle (25)
- Loadbalance (7)
- Web (5)
- tomcat (1)
- freemarker (1)
- 制造 (0)
最新评论
-
panamera:
如果设置了连接需要密码,Dynamic Broker-Clus ...
ActiveMQ 集群配置 -
panamera:
请问你的最后一种模式Broker-C节点是不是应该也要修改持久 ...
ActiveMQ 集群配置 -
maosheng:
longshao_feng 写道楼主使用 文件共享 模式的ma ...
ActiveMQ 集群配置 -
longshao_feng:
楼主使用 文件共享 模式的master-slave,produ ...
ActiveMQ 集群配置 -
tanglanwen:
感触很深,必定谨记!
少走弯路的十条忠告
1、NTP简介:
NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,网络时间同步协议(NTP)是时间同步的技术基础。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正。
下面讲解如何在 Liunx上配置NTP服务器和NTP客户端,可使多台客户机的时间与指定的NTP服务器的时间保持一致。从而保证了多台服务器的时间同步。
2、配置环境:
本例共用5台服务器做测试,1台做为NTP服务器,4台作为NTP的客户端。4台客户端的时间与NTP服务的时间保持同步。
NTP服务器的地址:192.101.11.156
客户端1的地址: 192.101.11.157
客户端2的地址: 192.101.11.158
客户端3的地址: 192.101.1.20
客户端4的地址: 192.101.1.21
3、NTP服务器配置(192.101.11.156):
ntp: NTP服务器的主要软件
如果不确定是否安装了ntp软件包可以用命令查询一下:
#rpm –qa|grep ntp
如果没有安装,可以用命令
#yum install -y ntp
配置文件在 /etc 目录下,打开ntp.conf文件。
#vim /etc/ntp.conf
1)允许内网其他机器同步时间网络设置
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
配置是否为其他主机提供时间服务,限定了哪些主机可以从本NTP服务器同步时间,添加如下:
# 允许内网其他机器同步时间配置
#允许192.101.11.1--192.101.11.254网段的所有主机使用该时间服务器进行时间同步
restrict 192.101.11.0 mask 255.255.255.0 nomodify notrap
#允许192.101.1.1--192.101.1.254网段的所有主机使用该时间服务器进行时间同步
restrict 192.101.1.0 mask 255.255.255.0 nomodify notrap
===restrict选项格式===
restrict [ 客户端IP ] mask [ IP掩码 ] [参数]
“客户端IP” 和 “IP掩码” 指定了对网络中哪些范围的计算机进行控制,如果使用default关键字,则表示对所有的计算机进行控制,参数指定了具体的限制内容,常见的参数如下:
◆ ignore:拒绝连接到NTP服务器
◆ nomodiy: 客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
◆ noquery: 不提供客户端的时间查询
◆ notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。
◆ notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。
◆ nopeer: 提供时间服务,但不作为对等体。
◆ kod: 向不安全的访问者发送Kiss-Of-Death报文。
2)设定NTP服务器时间源
# 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
# 外部时间服务器不可用时,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
注释默认的server服务器,添加如下指定本机作为时间服务器
server 127.127.1.0 # 以本机作为时间服务器
fudge 127.127.1.0 stratum 10 #设置服务器层级
默认情况下ntp是从外网时间服务器来更新时间的,在集群中使用只要保证集群中所有的服务器时间一致即可,所以先配置其中一台服务器为时间服务器,其他服务器相对来说为这台时间服务器的客户端,从时间服务器上获取时间数据,从而避免联网,可用性更高。
===server选项格式===
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]
其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:
◆ key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。
◆ version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。
◆ prefer: 如果有多个server选项,具有该参数的服务器有限使用。
◆ mode: 指定数据报文mode字段的值。
◆ minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。
◆ maxpoll: 指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。
◆ iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。
===层次(stratum)===
stratum根据上层server的层次而设定(+1)。
对于提供network time service provider的主机来说,stratum的设定要尽可能准确。
而作为局域网的time service provider,通常将stratum设置为10
0层的服务器采用的是原子钟、GPS钟等物理设备,stratum 1与stratum 0 是直接相连的,
往后的stratum与上一层stratum通过网络相连,同一层的server也可以交互。
ntpd对下层client来说是service server,对于上层server来说它是client。
===国内常用NTP服务器地址及IP===
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学
ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟。所有的配置都在/etc/ntp.conf文件中。
NTF服务器的配置到这里已经结束了。保存并退出后,启动NTP服务,没有错误的话,NTP服务器就可以正常工作了。
3)NTP服务器启动配置
配置开机时自动运行时间服务的命令:
#systemctl enable ntpd
启动时间服务的命令:
#systemctl start ntpd && systemctl status ntpd
执行:ps -ef | grep ntpd 可以看到ntp进程也已经启动
执行:netstat -an | grep 123 可以看到ntp服务的123端口已经使用
===注意防火墙屏蔽ntp端口===
ntp服务器默认端口是123,如果防火墙是开启状态,在一些操作可能会出现错误,所以要记住关闭防火墙或者配置一下防火墙。
#vim /etc/sysconfig/iptables
打开防火墙配置文件。加入如下配置项:
#open port for NTP server
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
重启防火墙服务器
#service iptables restart
NTP服务启动后大约需要3~5分钟的时间才会进行一次时间同步。如果需要立刻从指定的时间服务器同步时间,可以使用ntpdate 命令。使用ntpdate 命令时,需要先关闭ntp服务:
systemctl stop ntpd # 先停止服务,否则ntp socket会被占用
ntpdate 192.101.11.156 # 手动执行同步
systemctl start ntpd # 继续启动服务
即可立即完成时间的同步。
===同步硬件时钟===
Linux操作系统当中其实有两个时间,分别是:
软件时钟:Linux自己的系统时间,由1970/01/01开始记录的时间参数
硬件时钟:计算机系统在BIOS记录的实际时间,这也是硬件所记录的
在软件时钟方面,我们可以透过date这个指令来进行手动修改,但如果要修改BIOS记录的时间,就得要使用hwclock这个指令来写入才行:hwclock -w
ntp服务,默认只会同步系统软件时钟。
如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
# 改成 yes ,这样主机 BIOS 的时间也会跟着一起改变的,就可以让硬件时间与系统时间一起同步。
允许BIOS与系统时间立即同步,通过 hwclock -w 命令。
当我们进行完Linux时间的校时后,还需要以hwclock来更新BIOS的时间,因为每次重新启动的时候,系统会重新由BIOS将时间读出来,所以BIOS才是重要的时间依据。
hwclock -r ##读取硬件时钟时间
4、NTP客户端配置(192.101.11.157,192.101.11.158,192.101.1.20,192.101.1.21 )
ntp,ntpdate: NTP客户端的主要软件
如果不确定是否安装了ntp,ntpdate软件包可以用命令查询一下:
#rpm –qa|grep ntp
#rpm –qa|grep ntpdate
如果没有安装,可以用命令
#yum install -y ntp,ntpdate
手动执行同步:
ntpdate 192.101.11.156 (NTP服务端主机IP)
注意:手动执行同步,先停止服务,否则ntp socket会被占用
systemctl stop ntpd
配置文件在 /etc 目录下,打开ntp.conf文件。
1) 指定NTP服务器
#vim /etc/ntp.conf
客户端的配置比服务器的配置要简单一下,只需加入 server 192.101.11.156 即可,表明本机的时间服务器是192.101.11.156,即从192.101.11.156上同步时间。
NTP客户端在server部分添加如下语句,将server指向主节点:
server 192.101.11.156
同时修改一下 /etc/sysconfig/ntpdate 文件
# vi /etc/sysconfig/ntpdate
SYNC_HWCLOCK=yes
# 把 no 改成 yes ,这样主机 BIOS 的时间也会跟着一起改变的。
2) 客户端启动配置
配置开机时自动运行时间服务的命令:
#systemctl enable ntpd
启动时间服务的命令:
#systemctl start ntpd && systemctl status ntpd
5、检查查看
查看ntp服务器有无和上层ntp连通
【命令】ntpstat
# ntpstat
synchronised to NTP server (192.101.11.156) at stratum 12
time correct to within 44 ms
polling server every 1024 s
查看ntp服务器与上层ntp的状态
【命令】ntpq -p
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*hadoop004 LOCAL(0) 11 u 866 1024 377 0.177 -0.031 0.061
remote:本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
refid:参考上一层ntp主机地址
st:stratum阶层
when:多少秒前曾经同步过时间
poll:下次更新在多少秒后
reach:已经向上层ntp服务器要求更新的次数
delay:网络延迟
offset:时间补偿
jitter:系统时间与bios时间差
===查看网关方法===
【命令1】route -n
【命令2】ip route show
【命令3】netstat -r
6、配置文件:
1)NTP服务器配置文件: /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
# 允许内网其他机器同步时间设置
restrict 192.101.11.0 mask 255.255.255.0 nomodify notrap
restrict 192.101.1.0 mask 255.255.255.0 nomodify notrap
# 外部时间服务器不可用,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
2)NTP客户端配置文件: /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
# 配置时间服务器为本地的时间服务器
server 192.101.11.156
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
7、Linux修改时间
服务器时间与网络时间不符:
1)查看时间和日期
命令 : date
2)设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : date -s 11/03/2009
将系统时间设定成下午5点55分55秒的命令
命令 : date -s 17:55:55
3.)将当前时间和日期写入BIOS,避免重启后失效
命令 : hwclock -w 或 clock -w
系统时间和CMOS时间的关系。系统时间是由linux操作系统来维护的;CMOS时间是CMOS芯片保存的时间。系统启动时,操作系统将从CMOS读出时间记录为系统时间,同时操作系统也会自动每隔一段时间将系统时间写入CMOS中。如果使用date命令修改系统时间后马上重启电脑,操作系统还没有将系统时间同步到CMOS,这样开机后就还是没有修改前的时间了,所以为了保险起见,最还还是手动使用命令 clock 将系统时间同步到CMOS中。
在系统启动时,Linux系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大概是几分钟)进行的,在执行date -s后,如果马上重启机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。
===ntpd、ntpdate的区别===
下面是网上关于ntpd与ntpdate区别的相关资料。如下所示所示:
使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。
ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,
并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
时钟的跃变,对于某些程序会导致很严重的问题。
许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,
一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。
不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,
这有几个非常明显的问题:
【一】这样做不安全。
ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。
由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
【二】这样做不精确。
一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。
与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
【三】这样做不够优雅。
由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错
(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。
因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。
其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD在和时间服务器的同步过程中,会把BIOS计时器的振荡频率偏差——或者说Local Clock的自然漂移(drift)——记录下来。
这样即使网络有问题,本机仍然能维持一个相当精确的走时。
NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,网络时间同步协议(NTP)是时间同步的技术基础。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正。
下面讲解如何在 Liunx上配置NTP服务器和NTP客户端,可使多台客户机的时间与指定的NTP服务器的时间保持一致。从而保证了多台服务器的时间同步。
2、配置环境:
本例共用5台服务器做测试,1台做为NTP服务器,4台作为NTP的客户端。4台客户端的时间与NTP服务的时间保持同步。
NTP服务器的地址:192.101.11.156
客户端1的地址: 192.101.11.157
客户端2的地址: 192.101.11.158
客户端3的地址: 192.101.1.20
客户端4的地址: 192.101.1.21
3、NTP服务器配置(192.101.11.156):
ntp: NTP服务器的主要软件
如果不确定是否安装了ntp软件包可以用命令查询一下:
#rpm –qa|grep ntp
如果没有安装,可以用命令
#yum install -y ntp
配置文件在 /etc 目录下,打开ntp.conf文件。
#vim /etc/ntp.conf
1)允许内网其他机器同步时间网络设置
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
配置是否为其他主机提供时间服务,限定了哪些主机可以从本NTP服务器同步时间,添加如下:
# 允许内网其他机器同步时间配置
#允许192.101.11.1--192.101.11.254网段的所有主机使用该时间服务器进行时间同步
restrict 192.101.11.0 mask 255.255.255.0 nomodify notrap
#允许192.101.1.1--192.101.1.254网段的所有主机使用该时间服务器进行时间同步
restrict 192.101.1.0 mask 255.255.255.0 nomodify notrap
===restrict选项格式===
restrict [ 客户端IP ] mask [ IP掩码 ] [参数]
“客户端IP” 和 “IP掩码” 指定了对网络中哪些范围的计算机进行控制,如果使用default关键字,则表示对所有的计算机进行控制,参数指定了具体的限制内容,常见的参数如下:
◆ ignore:拒绝连接到NTP服务器
◆ nomodiy: 客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
◆ noquery: 不提供客户端的时间查询
◆ notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。
◆ notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。
◆ nopeer: 提供时间服务,但不作为对等体。
◆ kod: 向不安全的访问者发送Kiss-Of-Death报文。
2)设定NTP服务器时间源
# 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
# 外部时间服务器不可用时,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
注释默认的server服务器,添加如下指定本机作为时间服务器
server 127.127.1.0 # 以本机作为时间服务器
fudge 127.127.1.0 stratum 10 #设置服务器层级
默认情况下ntp是从外网时间服务器来更新时间的,在集群中使用只要保证集群中所有的服务器时间一致即可,所以先配置其中一台服务器为时间服务器,其他服务器相对来说为这台时间服务器的客户端,从时间服务器上获取时间数据,从而避免联网,可用性更高。
===server选项格式===
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]
其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示:
◆ key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。
◆ version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。
◆ prefer: 如果有多个server选项,具有该参数的服务器有限使用。
◆ mode: 指定数据报文mode字段的值。
◆ minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。
◆ maxpoll: 指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。
◆ iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。
===层次(stratum)===
stratum根据上层server的层次而设定(+1)。
对于提供network time service provider的主机来说,stratum的设定要尽可能准确。
而作为局域网的time service provider,通常将stratum设置为10
0层的服务器采用的是原子钟、GPS钟等物理设备,stratum 1与stratum 0 是直接相连的,
往后的stratum与上一层stratum通过网络相连,同一层的server也可以交互。
ntpd对下层client来说是service server,对于上层server来说它是client。
===国内常用NTP服务器地址及IP===
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学
ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟。所有的配置都在/etc/ntp.conf文件中。
NTF服务器的配置到这里已经结束了。保存并退出后,启动NTP服务,没有错误的话,NTP服务器就可以正常工作了。
3)NTP服务器启动配置
配置开机时自动运行时间服务的命令:
#systemctl enable ntpd
启动时间服务的命令:
#systemctl start ntpd && systemctl status ntpd
执行:ps -ef | grep ntpd 可以看到ntp进程也已经启动
执行:netstat -an | grep 123 可以看到ntp服务的123端口已经使用
===注意防火墙屏蔽ntp端口===
ntp服务器默认端口是123,如果防火墙是开启状态,在一些操作可能会出现错误,所以要记住关闭防火墙或者配置一下防火墙。
#vim /etc/sysconfig/iptables
打开防火墙配置文件。加入如下配置项:
#open port for NTP server
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
重启防火墙服务器
#service iptables restart
NTP服务启动后大约需要3~5分钟的时间才会进行一次时间同步。如果需要立刻从指定的时间服务器同步时间,可以使用ntpdate 命令。使用ntpdate 命令时,需要先关闭ntp服务:
systemctl stop ntpd # 先停止服务,否则ntp socket会被占用
ntpdate 192.101.11.156 # 手动执行同步
systemctl start ntpd # 继续启动服务
即可立即完成时间的同步。
===同步硬件时钟===
Linux操作系统当中其实有两个时间,分别是:
软件时钟:Linux自己的系统时间,由1970/01/01开始记录的时间参数
硬件时钟:计算机系统在BIOS记录的实际时间,这也是硬件所记录的
在软件时钟方面,我们可以透过date这个指令来进行手动修改,但如果要修改BIOS记录的时间,就得要使用hwclock这个指令来写入才行:hwclock -w
ntp服务,默认只会同步系统软件时钟。
如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
# 改成 yes ,这样主机 BIOS 的时间也会跟着一起改变的,就可以让硬件时间与系统时间一起同步。
允许BIOS与系统时间立即同步,通过 hwclock -w 命令。
当我们进行完Linux时间的校时后,还需要以hwclock来更新BIOS的时间,因为每次重新启动的时候,系统会重新由BIOS将时间读出来,所以BIOS才是重要的时间依据。
hwclock -r ##读取硬件时钟时间
4、NTP客户端配置(192.101.11.157,192.101.11.158,192.101.1.20,192.101.1.21 )
ntp,ntpdate: NTP客户端的主要软件
如果不确定是否安装了ntp,ntpdate软件包可以用命令查询一下:
#rpm –qa|grep ntp
#rpm –qa|grep ntpdate
如果没有安装,可以用命令
#yum install -y ntp,ntpdate
手动执行同步:
ntpdate 192.101.11.156 (NTP服务端主机IP)
注意:手动执行同步,先停止服务,否则ntp socket会被占用
systemctl stop ntpd
配置文件在 /etc 目录下,打开ntp.conf文件。
1) 指定NTP服务器
#vim /etc/ntp.conf
客户端的配置比服务器的配置要简单一下,只需加入 server 192.101.11.156 即可,表明本机的时间服务器是192.101.11.156,即从192.101.11.156上同步时间。
NTP客户端在server部分添加如下语句,将server指向主节点:
server 192.101.11.156
同时修改一下 /etc/sysconfig/ntpdate 文件
# vi /etc/sysconfig/ntpdate
SYNC_HWCLOCK=yes
# 把 no 改成 yes ,这样主机 BIOS 的时间也会跟着一起改变的。
2) 客户端启动配置
配置开机时自动运行时间服务的命令:
#systemctl enable ntpd
启动时间服务的命令:
#systemctl start ntpd && systemctl status ntpd
5、检查查看
查看ntp服务器有无和上层ntp连通
【命令】ntpstat
# ntpstat
synchronised to NTP server (192.101.11.156) at stratum 12
time correct to within 44 ms
polling server every 1024 s
查看ntp服务器与上层ntp的状态
【命令】ntpq -p
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*hadoop004 LOCAL(0) 11 u 866 1024 377 0.177 -0.031 0.061
remote:本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
refid:参考上一层ntp主机地址
st:stratum阶层
when:多少秒前曾经同步过时间
poll:下次更新在多少秒后
reach:已经向上层ntp服务器要求更新的次数
delay:网络延迟
offset:时间补偿
jitter:系统时间与bios时间差
===查看网关方法===
【命令1】route -n
【命令2】ip route show
【命令3】netstat -r
6、配置文件:
1)NTP服务器配置文件: /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
# 允许内网其他机器同步时间设置
restrict 192.101.11.0 mask 255.255.255.0 nomodify notrap
restrict 192.101.1.0 mask 255.255.255.0 nomodify notrap
# 外部时间服务器不可用,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
2)NTP客户端配置文件: /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
# 配置时间服务器为本地的时间服务器
server 192.101.11.156
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
7、Linux修改时间
服务器时间与网络时间不符:
1)查看时间和日期
命令 : date
2)设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : date -s 11/03/2009
将系统时间设定成下午5点55分55秒的命令
命令 : date -s 17:55:55
3.)将当前时间和日期写入BIOS,避免重启后失效
命令 : hwclock -w 或 clock -w
系统时间和CMOS时间的关系。系统时间是由linux操作系统来维护的;CMOS时间是CMOS芯片保存的时间。系统启动时,操作系统将从CMOS读出时间记录为系统时间,同时操作系统也会自动每隔一段时间将系统时间写入CMOS中。如果使用date命令修改系统时间后马上重启电脑,操作系统还没有将系统时间同步到CMOS,这样开机后就还是没有修改前的时间了,所以为了保险起见,最还还是手动使用命令 clock 将系统时间同步到CMOS中。
在系统启动时,Linux系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大概是几分钟)进行的,在执行date -s后,如果马上重启机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。
===ntpd、ntpdate的区别===
下面是网上关于ntpd与ntpdate区别的相关资料。如下所示所示:
使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。
ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,
并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
时钟的跃变,对于某些程序会导致很严重的问题。
许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,
一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。
不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,
这有几个非常明显的问题:
【一】这样做不安全。
ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。
由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
【二】这样做不精确。
一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。
与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
【三】这样做不够优雅。
由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错
(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。
因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。
其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD在和时间服务器的同步过程中,会把BIOS计时器的振荡频率偏差——或者说Local Clock的自然漂移(drift)——记录下来。
这样即使网络有问题,本机仍然能维持一个相当精确的走时。
发表评论
-
HTTPS的加密原理解读
2021-12-31 11:25 201一、为什么需要加密? 因为http的内容是明文传输的,明文数据 ... -
容器技术的基石: cgroup、namespace和联合文件系统
2021-12-09 10:47 544Docker 是基于 Linux Kernel 的 Names ... -
链路追踪skywalking安装部署
2021-10-21 12:06 675APM 安装部署: 一、下载 版本目录地址:http://a ... -
自动化运维 Ansible 安装部署
2021-08-20 19:06 706一、概述 Ansible 实现了批量系统配置、批量程序部署、 ... -
Linux 下 Kafka Cluster 搭建
2021-07-08 11:23 861概述 http://kafka.apachecn.org/q ... -
ELK RPM 安装配置
2021-06-22 18:59 494相关组件: 1)filebeat。用于收集日志组件,经测试其 ... -
在Kubernetes上部署 Redis 三主三从 集群
2021-03-10 16:25 491NFS搭建见: Linux NFS搭建与配置(https:// ... -
docker-compose 部署ELK(logstash->elasticsearch->kibana)
2020-11-11 18:02 1373概述: ELK是三个开源软件的缩写,分别表示:elastic ... -
Kubernetes1.16.3下部署node-exporter+alertmanager+prometheus+grafana 监控系统
2020-10-28 10:48 901准备工作 建议将所有的yaml文件存在如下目录: # mkd ... -
Linux NFS 搭建与配置
2020-10-21 17:58 321一、NFS 介绍 NFS 是 Network FileSys ... -
K8S 备份及升级
2020-10-20 15:48 742一、准备工作 查看集群版本: # kubectl get no ... -
API 网关 kong 的 konga 配置使用
2020-09-23 10:46 3529一、Kong 概述: kong的 ... -
云原生技术 Docker、K8S
2020-09-02 16:53 461容器的三大好处 1.资源 ... -
Kubernetes 应用编排、管理与运维
2020-08-24 16:40 469一、kubectl 运维命令 kubectl control ... -
API 网关 kong/konga 安装部署
2020-08-25 17:34 435一、概述 Kong是Mashape开 ... -
Linux 下 Redis Cluster 搭建
2020-08-13 09:14 538Redis集群演变过程: 单 ... -
Kubernetes离线安装的本地yum源构建
2020-08-08 22:41 386一、需求场景 在K8S的使用过程中有时候会遇到在一些无法上网 ... -
Kubernetes 证书延期
2020-08-01 22:28 331一、概述 kubeadm 是 kubernetes 提供的一 ... -
kubeadm方式部署安装kubernetes
2020-07-29 08:01 2037一、前提准备: 0、升级更新系统(切记升级一下,曾被坑过) ... -
Kubernetes 部署 Nginx 集群
2020-07-20 09:32 654一.设置标签 为了保证nginx之能分配到nginx服务器需要 ...
相关推荐
NTP服务器将本地系统的时钟与一个公共的NTP服务器同步然后作为时间主机提供服务,使本地网络的所有客户端能同步时钟。 同步时钟最大的好处就是相关系统上日志文件中的数据,如果网络中使用中央日志主机集中管理日志...
NTP (server,client) 向上同步时间信息,向下提供时间同步信息 NTP Client ( windwos、linux)向上同步时间信息 Windows Linux 客户端同步时间方法 ntp服务器监听udp端口 123 安装程序 yum install ntp ntpdate -...
H3C_NTP时钟同步基础配置案例,原创文档。 适用于H3CV7版本的网络设备,包括交换机、路由器等。 搭建环境为HCL3.0.1,适用于刚入门的网络工程师学习参考。
一键设置ntp服务器和客户端,在红帽Linux和win2008R2实测。使用前请先打开脚本看清楚说明。
同时也可以获取内网用户访问Internet的详细访问记录,这种记录可以精确到秒,但前提是被监控的路由器或交换机等网络设备的时间,必须与监控日志所在服务器(可以是win,也可以是LINUX系统)的时间保持绝对同步。...
redhat/centos 7 搭建NTP服务器,yum安装 ntp服务,并对外提供时间服务的详细说明
ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm openssl-1.0.2k-19.el7.x86_64.rpm openssl-libs-1.0.2k-19.el7.x86_64.rpm 一键安装命令: rpm -ivh *.rpm --force --nodeps
NTP服务器配置自动脚本(chrony)
在linux平台下搭建xen虚拟化环境,用gfs存储服务,使用ntp时间同步协议,实现负载匀衡
简单的说是选择几部主要主机 (Primary server) 调校时间,让这些 Primary Servers 的时间同步之后,再开放网络服务来让 Client 端联机,后使Client 端调整自己的时间。NTP(Network Time Protocol)是实现这个...
3.1.1构建NTP时间服务器 3.1.2构建DHCP服务器 3.1.3搭建 Samba服务器 3.1.4搭建NFS服务器 3.1.5搭建FTP服务器 3.1.6构建 Apache WER服务器 3.1.7构建 MySQL服务器 3.1.8LAMP架构网站搭建 3.1.9 Cact i监控平台搭建 ...
应用于linux离线安装ntp,集群中用于搭建集群同步时间等,需要的可以下载
对于校园网/企业用户,如果您网内所有计算机都通过互联网同步时间,在速度和精度上都有一定的折扣,并且对互联网出口带宽也有一定的影响,对于这类用户,我们建议通过自己搭建ntp服务为内部用户提供时间同步服务。...
3.1. 1 构建NTP时间服务器 25 3.1. 2 构建DHCP服务器 27 3.1. 3 搭建Samba服务器 29 3.1. 4 搭建NFS服务器 32 3.1. 5 搭建FTP服务器 33 3.1. 6 构建Apache WEB服务器 35 3.1. 7 构建MySQL服务器 38 3.1. 8 LAMP架构...
1、通过对 Linux 操作系统体系结构、 服务管理、包管理、NTP 协议时间 服务器、关系型数据库理论和 MySQL 数据库等相关知识的学习, 掌握⼤部分安装部署 Hadoop 集群操作系统层⾯的技能,为后续搭建 Hdoop 集群、对...