linux时钟同步 linux查看时钟服务器地址
大家好,今天小编来为大家解答以下的问题,关于linux时钟同步,linux查看时钟服务器地址这个很多人还不知道,现在让我们一起来看看吧!
Linux 时间同步
在Linux系统中存在两个时钟时间,分别是
硬件时钟是指的在主板上的时钟设备,也就是通常可以在BIOS画面设置的时钟,即使关机状态也可以计算时间。
而系统时钟则是指Kernel中的时钟,其值是由1970年1月1日00:00:00 UTC时间至当前时间所经历的秒数总和。当Linux启动的时候,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。长时间运行两者可能将会产生误差。另外所有的Linux相关指令都是读取系统时钟指定的,如date。
我们这里讨论的是系统时间。
NTP,网络时间协议,使用 123/udp端口进行网络时钟同步;NTP是仍在使用中的最古老的网络传输协议之一(1985年前开始)。
以前Linux时间同步基本是使用 ntpdate和 ntpd这两个工具实现的,但是这两个工具已经很古老了。
【注】ntpdate和ntpd是互斥的,两者不能同时使用。ntpd是步进式平滑的逐渐调整时间,而ntpdate是断点式更新时间。
RHEL/CentOS 7.x已经将 chrony作为默认时间同步工具了。
其他Linux(如 ubuntu)使用 systemd-timesyncd服务。
chrony是 RedHat开发的,它是网络时间协议(NTP)的另一种实现;
RHEL/CentOS 7.x的默认时间同步工具;
chrony可以同时做为 ntp服务的客户端和服务端;安装完后有两个程序 chronyd、chronyc:
chronyd是一个 daemon守护进程,chronyc是用来监控 chronyd性能和配置参数的命令行工具。
系统版本:CentOS 7.5
chrony_server(relay):10.0.0.4
chrony_client:10.0.0.5
Edit file/etc/chrony.conf
默认已经启动,不需要调整
example:
配置 chrony
edit file:/etc/chrony.conf
再次用chronyc命令检查,比较它与chronyd server的差异
systemd-timesyncd是一个用于跨网络同步系统时钟的守护服务。它实现了一个 SNTP客户端,但更轻量级,更集成systemd。
systemd-timesyncd启动时会读取/etc/systemd/timesyncd.conf配置文件,内容如下:
你可以输入你希望使用的其它时间服务器,比如你自己的本地 NTP服务器,在 NTP=行上输入一个以空格分隔的服务器列表。
如果服务器可以直接连接internet,不用修改默认配置;如果在内网,需要单独指定。
在最新的 Ubuntu版本中,timedatectl替代了老旧的 ntpdate。默认情况下,timedatectl在系统启动的时候会立刻同步时间,并在稍后网络连接激活后通过 socket再次检查一次。
timesyncd替代了 ntpd的客户端的部分。默认情况下 timesyncd会定期检测并同步时间。它还会在本地存储更新的时间,以便在系统重启时做时间单步调整。
通过 timedatectl和 timesyncd设置的当前时间状态和时间配置,可以使用 timedatectl status命令来进行确认。
由于 timedatectl的存在,各发行版已经弃用了 ntpdate,默认不再进行安装。
timedatectl
timedatectl status,查看时间同步状态;
timedatectl set-ntp true,开启网络时间同步;
timedatectl set-timezone ZONE,设置时区。
NTP synchronized: yes表示时间是同步状态。
查看服务状态以及从哪个ntp server同步时间。
NTP:软件层面实现,成本低。同步精度10ms左右。
PTP:需要网络接口具备在物理层提供时间戳的功能,同步精度优于100ns,局域网的节点需要使用支持PTP功能的交换机。局域网网络接点不支持PTP的话,只能同不到us,而且受网络背景流量影响。
配置Linux的时钟同步
Ubuntu系统默认的时钟同步服务器是ntp.ubuntu.com,Debian则是0.debian.pool.ntp.org等,各Linux发行版都有自己的NTP官方服务器。身在中国,使用这些都会有高延迟,但对时钟同步这件事来说影响不大。
在某些环境下,比如公司内网、云上子网等,是与互联网隔绝的。这时要想做时钟同步,就只能自己配置了。
本文介绍如何自己配置时钟同步,不介绍如何自建NTP服务器。
一般timesync是预装的。如果没有,可以使用以下命令手动安装。
sudo apt install systemd-timesyncd它和ntp是冲突的,二者只能安装一个。
修改/etc/systemd/timesyncd.conf,把NTP设为华为内绿区可达的NTP服务器。
修改完成后,需要restart后这个配置才生效。
如果以上systemd-timesyncd.service因为什么原因而不存在,则可通过以下命令修复:
一般查看日期与时间是使用date。使用timedatectl可以查看到更多时钟同步相关信息。
以下给出一些阿里云的NTP列表,可以通过ping择优使用。
以上就是良许教程网为各位朋友分享的配置Linux的时钟同步。
最后,最近很多小伙伴找我要 Linux学习路线图,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:
免费送给大家,只求大家金指给我点个赞!
电子书| Linux开发学习路线图
也希望有小伙伴能加入我,把这份电子书做得更完美!
推荐阅读:
在各种Linux系统的服务器上设置时间同步的方法
独立主机
rm-rf/etc/localtime
ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#修改时区到东8区。
date-R#查看的时区设置。
接下来调整系统时间与时间服务器同步
Debian系统安装NTP校时包:
复制代码代码如下:apt-get install ntpdate#安装ntp
CentOS系统安装NTP校时包:
复制代码代码如下:yum-y install ntpdate ntp#安装ntp
Ubuntu系统安装NTP校时包:
复制代码代码如下:sudo apt-get install-y ntpdate ntp
修改/etc/ntp.conf
vi/etc/ntp.conf就会看到以下内容:
复制代码代码如下:server 0.centos.ntp.org
server time.windows.com
server time.nist.gov
这是默认的ntp同步服务器,大家可以自己改,全球ntp服务器地址:
我改成了:
复制代码代码如下:server cn.pool.ntp.org//这中国的ntp服务器
server time-a.nist.gov
server time.windows.com
server time.nist.gov
然后保存退出(vi退出的方法见: carefully-collected-must-be-familiar-with-vim-shortcut-key-operation.html)
接着输入下面的命令:
复制代码代码如下:ntpdate-d cn.pool.ntp.org#调试查看时间差异
ntpdate cn.pool.ntp.org#同步时间
date-R#检查时间是否同步
修改 ntp的配置文件
复制代码代码如下:vi/etc/sysconfig/ntpd
SYNC_HWCLOCK=yes#同步独立主机的硬件时钟
#配置开机启动ntp服务,定期同步时间
chkconfig--levels 235 ntpd on#启动ntp同步
/etc/init.d/ntpd start
XEN VPS
最好是安装ntp服务,这样可以解决vps在重启后时间不准的问题。有时候,依靠母鸡的硬件时钟,总是差七八分钟。实在没辙了。而已很多的web服务,如Google Authenticator等,如果时间不同步,会导致无法验证的地步,自然就网站都登陆不上了。
复制代码代码如下:rm-rf/etc/localtime
ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#修改时区到东8区。
date-R#查看的时区设置。
接下来调整系统时间与时间服务器同步
Debian系统安装NTP校时包:
复制代码代码如下:apt-get install ntpdate#安装ntp
CentOS系统安装NTP校时包:
复制代码代码如下:yum-y install ntpdate ntp#安装ntp
Ubuntu系统安装NTP校时包:
复制代码代码如下:sudo apt-get install-y ntpdate ntp
修改/etc/ntp.conf
vi/etc/ntp.conf就会看到以下内容:
复制代码代码如下:server 0.centos.ntp.org
server time.windows.com
server time.nist.gov
这是默认的ntp同步服务器,大家可以自己改,全球ntp服务器地址:
我改成了:
复制代码代码如下:server cn.pool.ntp.org//这中国的ntp服务器
server time-a.nist.gov
server time.windows.com
server time.nist.gov
然后保存退出(vi退出的方法见: carefully-collected-must-be-familiar-with-vim-shortcut-key-operation.html)
接着输入下面的命令:
复制代码代码如下:ntpdate-d cn.pool.ntp.org#调试查看时间差异
ntpdate cn.pool.ntp.org#同步时间
date-R#检查时间是否同步
#配置开机启动ntp服务,定期同步时间
chkconfig--levels 235 ntpd on#启动ntp同步
/etc/init.d/ntpd start
#先设置XEN的VPS使用和系统无关的时间模式
echo 1>/proc/sys/xen/independent_wallclock
然后尝试上面独立主机的配置方法即可。通过配置时间正确后,编辑系统配置文件,让配置永久生效。
复制代码代码如下:vi/etc/sysctl.conf
xen.independent_wallclock=1#在文件中增加并且保存
OpenVZ VPS
(Burst VPS采用)
OpenVZ的VPS直接从物理机读取时间不允许对主机进行时间修改,你只需修改时区。我还没用过openvz vps,所以,不清楚能否用ntp服务不,可以试试安装ntp service看。如果可以的话,请告诉我。
复制代码代码如下:rm-rf/etc/localtime
ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#修改时区到东8区。
date-R#查看时间和时区
此时如果时间和时区都正确,配置成功,时间如果不对,需要联系主机服务商的技术支持,让他们把母鸡(物理机)时间同步,你的VPS时间就会正常。