linux 配置 NTP 服务器

Posted 胖虎是只mao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 配置 NTP 服务器相关的知识,希望对你有一定的参考价值。

1. NTP定义

NTP 是用于同步网络中计算机时间的协议,全称为网络时间协议(Network Time Protocol)。时区和时间一致性对于服务器运行非常重要,有时会直接影响到任务执行的结果。例如,在更新数据库或者分析日志时,时间顺序对结果有很大影响。为避免在节点上运行业务时出现逻辑混乱和网络请求错误等问题,我们需要统一相关 ECS 实例的时区设置,所以需要安装一个 NTP 服务用于同步各个节点之间的时间。(尤其环境各类节点比较多的时候,更需要做时间同步。)

2. 安装(ubuntu为例)

apt install chrony -y

设置时区为国内时区:

timedatectl set-timezone Asia/Shanghai

编辑配置文件 /etc/chrony/chrony.conf,yum版本的在cat /etc/chrony.conf 。按照格式添加指定的 NTP 服务器:

server NTP_SERVER iburst

例如:

# 中科院国家授时中心 NTP 服务器
server ntp.ntsc.ac.cn iburst
# 阿里云公共 NTP 服务器
server ntp.aliyun.com iburst

非控制节点可以把 server 设置为控制节点的地址。

然后取消 allow 项的注释,将 IP 段修改为主机集群的实际 IP 地址段,否则其他节点将无法连接到该主机的 NTP 服务。

# 举例
allow 192.168.1.0/24

重启 Chrony:

systemctl restart chrony
# 开启开机自启
systemctl enable chrony

开启时间同步:

timedatectl set-ntp yes

验证时间同步,查看到的同步源 以及字段解析:

chronyc sources

查看chrony是否启动:

systemctl status chronyd
systemctl status chronyd |grep Active

查看时间同步源状态:

chronyc sourcestats -v
timedatectl status

查看配置文件中配置的时间同步器:

cat /etc/chrony.conf |grep server

手动进行同步:

chronyc -a makestep

如果为客户端和服务端分别配置

109为服务端,169为客户端

3. 服务端

服务端配置(109)
(1)修改配置文件 vim /etc/chrony.conf

如果不同步外网ntp,需要将四个server直接注释掉

添加允许同步的ip段 0/24
注意:上图中的四个service,为ntp服务器。如果需要同步外网地址,建议使用国内的地址。

    如: server 0.time1.aliyun.com iburst

    附:阿里的ntp服务地址:

    time1.aliyun.com
    time2.aliyun.com
    time3.aliyun.com

(2)重启服务,查看同步源

systemctl restart chronyd
chronyc sources


上图是配置了外网时区的,ip地址前面为*号,同步成功,为?号则同步不成功

4.客户端配置(169)

(1)修改配置文件 vim /etc/chrocy.conf

注释掉四行server 0,1,2,3

添加服务端IP地址: server 192.168.3.109 iburst

(2)重启服务,查看同步源

systemctl restart chronyd
chronyc sources

以上是关于linux 配置 NTP 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux配置NTP时间同步

linux时间同步ntp服务的安装与配置

linux服务ntp

NetApp配置NetApp控制器与Linux NTP服务器同步

Linux 配置阿里 OPSX NTP服务

linux ntp安装简单配置