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
例如:
server ntp.ntsc.ac.cn iburst
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
|