集群时钟同步必读-NTP和chrony

 

一、  前言

搭建和维护集群环境中时钟同步是非常重要一环。如果集群的时间不统一,例如ceph集群就会报错无法更新数据、CDH集群无法添加客户端等等。目前主流在Linux系统搭建集群用到NTP和chrony软件,本文简单介绍两者的集群搭建。

二、  NTP和chrony区别

根据chrony官网描述,主要区别如下图:(图太大了,截取了一部分)

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

详细见官网:chrony – NTP 实施的比较

 

三、  环境准备

注意:ntp和chrony无法同时再一台机器运行;请单独安装运行

集群时钟同步必读-NTP和chrony

 

ntp下载地址(Centos7):

http://mirror.centos.org/centos/7/os/x86_64/Packages/ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm

http://mirror.centos.org/centos/7/os/x86_64/Packages/ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm

 

chrony下载地址(Centos7):

http://mirror.centos.org/centos/7/os/x86_64/Packages/chrony-3.4-1.el7.x86_64.rpm

 

四、  NTP搭建集群同步时间

1、  更新阿里源、安装ntp|ntpdate

离线环境提前下载离线包

#更新阿里源
cd /etc/yum.repos.d/ 
curl -L -O https://mirrors.aliyun.com/repo/Centos-7.repo && mv ./Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -L -O  http://mirrors.aliyun.com/repo/epel-7.repo && mv ./epel-7.repo /etc/yum.repos.d/epel.repo
yum clean all && yum makecache
yum install -y epel-*

#安装NTP
rpm -qa | grep ntp                    
yum -y remove ntpdate ntp        
yum -y install ntp  ntpdate

#设置时区上海
timedatectl set-timezone Asia/Shanghai    
date
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone Asia/Shanghai

集群时钟同步必读-NTP和chrony

2、  离线环境:3台机器时钟同步其中一台

将192.168.1.131作为主节点,其他节点都同步它,允许同步网段设置为192.168.1.0

● 主节点选择192.168.1.131,修改主节点配置文件

#主节点:修改配置文件
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF                
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 192.168.1.131 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
EOF
cat /etc/ntp.conf
#需要把对应restrict IP和restrict网段进行修改即可

集群时钟同步必读-NTP和chrony

● 其他节点作为客户端192.168.1.132/133,修改其他节点配置文件

#其他节点:ntp客户端配置
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF    
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 192.168.1.131   
fudge 192.168.1.131 stratum 10 
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor 
EOF
cat /etc/ntp.conf
#需要把对应server Fudge IP和restrict网段进行修改即可

集群时钟同步必读-NTP和chrony

● 注意:先启动主节点的NTP服务、再启动其他节点

#主节点执行同步
systemctl restart ntpd
systemctl status ntpd
#systemctl enable ntpd

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

● 同步硬件时间,检查集群同步状态,关闭chyony

#其他节点执行同步
ntpdate -u 192.168.1.131

#同步硬件时间
sed -i 's#SYNC_HWCLOCK=no#SYNC_HWCLOCK=yes#g' /etc/sysconfig/ntpdate
hwclock -w            
hwclock -r        


#检查是否成功
ntpstat
ntpq -p
timedatectl

#会冲突,需要停止chronyd.service
systemctl stop chronyd.service
systemctl disable chronyd.service

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

3、  在线环境:3台机器同步外网时钟服务器即可

在线环境同步时间

#手动同步
ntpdate -u ntp.ntsc.ac.cn

#写入配置文件自动同步
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF    
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server ntp.ntsc.ac.cn   
fudge ntp.ntsc.ac.cn stratum 10 
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor 
EOF
cat /etc/ntp.conf

集群时钟同步必读-NTP和chrony

4、  开放端口123

如果无法同步,请检查防火墙是否开放端口123

netstat -lnptu | grep ntp

#关闭防火墙和selinux
systemctl stop firewalld.service
systemctl disable firewalld.service  
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sestatus

集群时钟同步必读-NTP和chrony

五、  chrony搭建集群同步时间

1、  更新阿里源、安装chony

离线环境提前下载离线包

#更新阿里源
cd /etc/yum.repos.d/ 
curl -L -O https://mirrors.aliyun.com/repo/Centos-7.repo && mv ./Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -L -O  http://mirrors.aliyun.com/repo/epel-7.repo && mv ./epel-7.repo /etc/yum.repos.d/epel.repo
yum clean all && yum makecache
yum install -y epel-*

#安装chrony
rpm -qa | grep chrony
yum -y remove chrony        
yum -y install chrony

#设置时区上海
timedatectl set-timezone Asia/Shanghai    
date
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone Asia/Shanghai

集群时钟同步必读-NTP和chrony

2、  离线环境:3台机器时钟同步其中一台

将192.168.1.131作为主节点,其他节点都同步它,允许同步网段设置为192.168.1.0

● 主节点选择192.168.1.131,修改主节点配置文件

#主节点:修改配置文件
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server 192.168.1.131 iburst
server 127.0.0.1 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.1.0/24
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

集群时钟同步必读-NTP和chrony

● 主节点选择192.168.1.131,修改主节点配置文件

#其他节点:修改配置文件
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server 192.168.1.131 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

集群时钟同步必读-NTP和chrony

● 注意:先启动主节点的NTP服务、再启动其他节点

#先停止ntp\ntpdate服务
systemctl stop ntpd.service
systemctl stop ntpdate.service

#再启动chronyd
systemctl restart chronyd.service
systemctl status chronyd.service

#等几秒可以查看同步状态
chronyc sources -v
chronyc clients
timedatectl

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

3、  在线环境:3台机器同步外网时钟服务器即可

#写入配置文件自动同步
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server ntp.ntsc.ac.cn iburst
server 127.0.0.1 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.1.0/24
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

4、  开放端口123和323

下面是 Chrony 服务使用的默认端口:

● UDP 端口 123:Chrony 客户端和服务器都使用此端口进行 NTP 数据包通信。

● TCP 端口 323:如果需要,Chrony 可以使用此端口进行监视和配置。

集群时钟同步必读-NTP和chrony

 

原文链接:https://www.cnblogs.com/subsea/p/17350326.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:集群时钟同步必读-NTP和chrony - Python技术站

(0)
上一篇 2023年4月25日
下一篇 2023年4月25日

相关文章

  • Linux空间PHP开发环境小白教程(LAMP)

    租了一个云服务器, 但是只有linux系统,没有php开发环境, 只好自己摸索着一步一步安装啦。 本教程来自自学IT创E老师的Linux教程,想详细了解的可以去论坛找。   一.使用PUTTY登录服务器 填入服务器的IP地址,最好保存起来 登陆界面,一般账号是root,密码看空间商发给你的啦,putty默认单击鼠标右键是粘贴,可以方便的把密码copy过来。 …

    Linux 2023年4月12日
    00
  • 在Linux中利用yum安装JDK的实现步骤

    当我们在Linux操作系统中需要安装JDK时,可以利用yum命令进行安装。下面是利用yum安装JDK的实现步骤: 步骤一:升级系统 在安装JDK之前,我们需要升级系统,以保证系统能够正常地安装、使用JDK。执行以下命令进行升级: sudo yum update 步骤二:查看可用的JDK版本 在使用yum安装JDK之前,我们需要查看可用的JDK版本。执行以下命…

    Linux 2023年5月14日
    00
  • Linux下面使用命令如何运行.sh文件的两种解决办法

    首先讲解一下Linux下如何运行.sh文件。 .sh文件是一种可执行文件,相当于Windows系统下的.exe文件。在Linux下运行.sh文件可以直接输入该文件的绝对路径或相对路径,也可以使用./命令。./命令表示当前路径,用来执行当前目录下的可执行文件。 接下来分别介绍两种运行.sh文件的解决办法: 一、使用绝对路径或相对路径运行.sh文件 在Linux…

    Linux 2023年5月14日
    00
  • 记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法

    记录无法安装mysql-InvalidGPGKeyfromfile:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法 问题描述 在安装mysql时,可能会遇到以下错误: Error: Failed to download metadata for repo ‘mysql56-community’: Cannot prepare …

    Linux 2023年5月14日
    00
  • Linux下PHP+Apache的26个必知的安全设置

    以下是“Linux下PHP+Apache的26个必知的安全设置”的完整使用攻略,包含两个示例说明。 步骤 更新系统软件包。在终端中输入以下命令: bash sudo apt-get update 安装Apache。在终端中输入以下命令: bash sudo apt-get install apache2 安装PHP。在终端中输入以下命令: bash sudo…

    Linux 2023年5月13日
    00
  • 让Linux下的cron以秒为单位执行shell脚本的3种方法

    以下是让Linux下的cron以秒为单位执行shell脚本的3种方法的详细攻略: 方法一:使用sleep命令 使用sleep命令可以让cron以秒为单位执行shell脚本。具体步骤如下: 在shell脚本开头设置环境变量: #!/bin/bash SLEEP_DURATION=5 将你需要间隔执行的命令写入到一个循环中,并在循环内添加sleep命令: whi…

    Linux 2023年5月14日
    00
  • Centos7安装PHP及Nginx的教程详解

    针对CentOS7安装PHP及Nginx的教程,可以按照以下步骤进行操作: 安装Nginx 更新系统软件包 yum update 安装EPEL源 yum install epel-release 安装Nginx yum install nginx 启动Nginx服务,并设置开机启动 systemctl start nginx systemctl enable…

    Linux 2023年5月14日
    00
  • Linux常用命令总结

    无论是后端程序员还是前端程序员,一定避免不了和Linux系统打交道。可能是自己在学习的时候搭建虚拟机环境,也可能是在公司测试环境进行服务的维护,甚至可能去线上服务器进行生产问题的排查。 这就要求我们要熟练使用Linux命令行,相关的常用命令很可能不经常使用就忘了,这里我收集了一些常用命令以便需要时查看,欢迎作补充。(这里的提到操作都默认以CentOS系统为基…

    Linux 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部