前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【玩转云服务器】Linux CentOS 时间同步

【玩转云服务器】Linux CentOS 时间同步

原创
作者头像
参谋带个长
发布2022-05-12 20:48:56
5.6K0
发布2022-05-12 20:48:56
举报
文章被收录于专栏:服务器运维日常

说明

ntpd(Network Time Protocol daemon)是 Linux 操作系统的一个守护进程,用于校正本地系统与时钟源服务器之间的时间,完整的实现了 NTP 协议。

通常情况下,腾讯云服务器开通后,系统时间无需人工干预,但也可以通过ntpd来实现时间的同步。

说明:NTP 服务的通信端口为 UDP 123,设置 NTP 服务之前,请确保您已经开放 UDP 123 端口。

安装 ntpd

执行以下命令,判断是否安装 ntpd。

代码语言:javascript
复制
rpm -qa | grep ntp

如果返回类似如下结果,表示已安装 ntpd。

1.jpg
1.jpg

如果未安装 ntpd,请使用 yum install ntp 安装 ntpd。

代码语言:javascript
复制
yum -y install ntp

配置 NTP

1、执行以下命令,打开 NTP 服务配置文件。

代码语言:javascript
复制
vi /etc/ntp.conf

2、按 i 切换至编辑模式,找到 server 相关配置,将 server 修改为您需要设置的目标 NTP 时钟源服务器(例如 time1.tencentyun.com等),并删除暂时不需要的 NTP 时钟源服务器。如下图所示:

20.jpg
20.jpg
2.jpg
2.jpg

腾讯云提供了内网 NTP 服务器供腾讯云内网设备使用,对于非腾讯云设备,可以使用腾讯云提供的公网 NTP 服务器。

内网 NTP 服务器

代码语言:javascript
复制
time1.tencentyun.com
time2.tencentyun.com
time3.tencentyun.com
time4.tencentyun.com
time5.tencentyun.com

外网 NTP 服务器

代码语言:javascript
复制
ntp.tencent.com
ntp1.tencent.com
ntp2.tencent.com
ntp3.tencent.com
ntp4.tencent.com
ntp5.tencent.com

3、按 Esc,输入 :wq,保存文件并返回。

启动 ntpd

执行以下命令,重启 ntpd 服务。

代码语言:javascript
复制
systemctl restart ntpd.service

检查 ntpd 状态

根据实际需求,执行以下不同的命令,检查 ntpd 的状态。

执行以下命令,查看 NTP 服务端口 UDP 123 端口是否被正常监听。

代码语言:javascript
复制
netstat -nupl

返回类似如下结果,表示监听正常。

3.jpg
3.jpg

执行以下命令,查看 ntpd 状态是否正常。

代码语言:javascript
复制
service ntpd status

返回类似如下结果,表示 ntpd 状态正常。

4.jpg
4.jpg

执行以下命令,获取更详细的 NTP 服务信息。

代码语言:javascript
复制
ntpq -p

返回类似如下结果:

5.jpg
5.jpg

详细参数介绍如下

  • (星号*) : 表示目前使用的 NTP 服务器。
  • remote:响应这个请求的 NTP 服务器的名称。
  • refid:NTP 服务器使用的上一级 NTP 服务器。
  • st:remote 远程服务器的级别。服务器从高到低级别设定为1 - 16,为了减缓负荷和网络堵塞,原则上建议避免直接连接到级别为1的服务器。
  • when:上一次成功请求之后到现在的秒数。
  • poll:本地机和远程服务器多少时间进行一次同步(单位为秒)。初始运行 NTP 时,poll 值会比较小,和服务器同步的频率增加,建议尽快调整到正确的时间范围。调整之后,poll 值会逐渐增大,同步的频率也将会相应减小。
  • reach:八进制值,用来测试能否和服务器连接。每成功连接一次,reach 的值将会增加。
  • delay:从本地机发送同步要求到 NTP 服务器的 round trip time。
  • offset:主机通过 NTP 时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset 越接近于0,主机和 NTP 服务器的时间越接近。
  • jitter:用来做统计的值。统计在特定连续的连接数里 offset 的分布情况。即 jitter 数值的绝对值越小,主机的时间就越精确。

设置 ntpd 为开机启动

1、 执行以下命令,将 ntpd 设置为开机自启动。

代码语言:javascript
复制
systemctl enable ntpd.service

2、执行以下命令,查看 chrony 是否被设置为开机启动。

代码语言:javascript
复制
systemctl is-enabled chronyd.service
6.jpg
6.jpg

如果状态为未启用,则无需执行下面的命令。

如果 chrony 被设置为开机启动,因chrony 与 ntpd 冲突,可能引起 ntpd 开机启动失败。请执行以下命令,将 chrony 从开机启动中移除。

代码语言:javascript
复制
systemctl disable chronyd.service

测试时间同步是否生效

1、输入date命令,查看当前时间

代码语言:javascript
复制
date
7.jpg
7.jpg

2、人工修改错误时间

将当前时间设置为2008年(错误时间用于测试),查看时间修改成功。

9.jpg
9.jpg

3、重启 ntpd 服务,查看时间

代码语言:javascript
复制
systemctl restart ntpd.service

date
10.jpg
10.jpg

总结

ntpd服务可以实现时间的自动同步,也可以结合计划任务定期运行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 安装 ntpd
  • 配置 NTP
    • 1、执行以下命令,打开 NTP 服务配置文件。
      • 2、按 i 切换至编辑模式,找到 server 相关配置,将 server 修改为您需要设置的目标 NTP 时钟源服务器(例如 time1.tencentyun.com等),并删除暂时不需要的 NTP 时钟源服务器。如下图所示:
        • 内网 NTP 服务器
        • 外网 NTP 服务器
      • 3、按 Esc,输入 :wq,保存文件并返回。
        • 执行以下命令,查看 ntpd 状态是否正常。
        • 执行以下命令,获取更详细的 NTP 服务信息。
        • 详细参数介绍如下
        • 1、 执行以下命令,将 ntpd 设置为开机自启动。
        • 2、执行以下命令,查看 chrony 是否被设置为开机启动。
        • 1、输入date命令,查看当前时间
        • 2、人工修改错误时间
        • 3、重启 ntpd 服务,查看时间
    • 启动 ntpd
    • 检查 ntpd 状态
    • 设置 ntpd 为开机启动
    • 测试时间同步是否生效
    • 总结
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档